summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Netlink
diff options
context:
space:
mode:
Diffstat (limited to 'datapath-windows/ovsext/Netlink')
-rw-r--r--datapath-windows/ovsext/Netlink/Netlink.c2
-rw-r--r--datapath-windows/ovsext/Netlink/Netlink.h1
2 files changed, 2 insertions, 1 deletions
diff --git a/datapath-windows/ovsext/Netlink/Netlink.c b/datapath-windows/ovsext/Netlink/Netlink.c
index cfbc73a3b..1ceb5e3ca 100644
--- a/datapath-windows/ovsext/Netlink/Netlink.c
+++ b/datapath-windows/ovsext/Netlink/Netlink.c
@@ -945,7 +945,7 @@ NlAttrParse(const PNL_MSG_HDR nlMsg, UINT32 attrOffset,
for (iter = 0; iter < n_attrs; iter++) {
const PNL_POLICY e = (const PNL_POLICY)(&policy[iter]);
- if (e->type != NL_A_NO_ATTR && !attrs[iter]) {
+ if (!e->optional && e->type != NL_A_NO_ATTR && !attrs[iter]) {
OVS_LOG_ERROR("Required attr:%d missing", iter);
goto done;
}
diff --git a/datapath-windows/ovsext/Netlink/Netlink.h b/datapath-windows/ovsext/Netlink/Netlink.h
index a9f62bc29..6ecbdc5db 100644
--- a/datapath-windows/ovsext/Netlink/Netlink.h
+++ b/datapath-windows/ovsext/Netlink/Netlink.h
@@ -47,6 +47,7 @@ typedef struct _NL_POLICY
NL_ATTR_TYPE type;
UINT32 minLen;
UINT32 maxLen;
+ BOOLEAN optional;
} NL_POLICY, *PNL_POLICY;
/* This macro is careful to check for attributes with bad lengths. */