summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Netlink
diff options
context:
space:
mode:
authorAnkur Sharma <ankursharma@vmware.com>2014-09-15 18:18:05 -0700
committerBen Pfaff <blp@nicira.com>2014-09-16 21:36:44 -0700
commitcd002ede5129daa6c0a8b8b647bafa4ff96042e7 (patch)
tree01a46ceae92d602734f2bac5715030d76d32cc6b /datapath-windows/ovsext/Netlink
parent8722e8f3b9d7534467be27e268f8b9d54d3fc80b (diff)
downloadopenvswitch-cd002ede5129daa6c0a8b8b647bafa4ff96042e7.tar.gz
datapath-windows/Netlink: Add optional flag in policy.
Added the optional flag in policy structure. This would allow caller to avoid checks for mandatory attributes if parsing succeeds. Signed-off-by: Ankur Sharma <ankursharma@vmware.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
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. */