summaryrefslogtreecommitdiff
path: root/datapath-windows/include
diff options
context:
space:
mode:
authorSairam Venugopal <vsairam@vmware.com>2016-07-11 14:59:49 -0700
committerGurucharan Shetty <guru@ovn.org>2016-07-13 15:04:52 -0700
commite70f55edbc47e99432da7c868594d7f9d9589eca (patch)
tree8100196ba5ffe31aeaa504d1f58a20a9ef841e99 /datapath-windows/include
parent1e25f5caef5c1b6378bfee3f6ed0d1cb04e61e0c (diff)
downloadopenvswitch-e70f55edbc47e99432da7c868594d7f9d9589eca.tar.gz
Windows: Add support for handling protocol (netlink family)
Windows datapath currently has no notion of netlink family. It assumes all netlink messages to belong to NETLINK_GENERIC family. This patch adds support for handling other protocols if the userspace sends it down to kernel. This patch introduces a new NETLINK_CMD - OVS_CTRL_CMD_SOCK_PROP to manage all properties associated with a socket. The properties are passed down as netlink message attributes. This makes it easier to introduce other properties in the future. Signed-off-by: Sairam Venugopal <vsairam@vmware.com> Acked-by: Nithin Raju <nithin@vmware.com> Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Diffstat (limited to 'datapath-windows/include')
-rw-r--r--datapath-windows/include/OvsDpInterfaceExt.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/datapath-windows/include/OvsDpInterfaceExt.h b/datapath-windows/include/OvsDpInterfaceExt.h
index 8850535ad..db91c3e1e 100644
--- a/datapath-windows/include/OvsDpInterfaceExt.h
+++ b/datapath-windows/include/OvsDpInterfaceExt.h
@@ -92,9 +92,12 @@ enum ovs_win_control_cmd {
OVS_CTRL_CMD_MC_SUBSCRIBE_REQ,
OVS_CTRL_CMD_PACKET_SUBSCRIBE_REQ,
- /* This command is logically belong to the Vport family */
+ /* This command logically belongs to the Vport family */
OVS_CTRL_CMD_EVENT_NOTIFY,
- OVS_CTRL_CMD_READ_NOTIFY
+ OVS_CTRL_CMD_READ_NOTIFY,
+
+ /* Used for Socket property */
+ OVS_CTRL_CMD_SOCK_PROP
};
/* NL Attributes for joining/unjoining an MC group */
@@ -163,4 +166,14 @@ enum ovs_win_netdev_attr {
typedef struct ovs_dp_stats OVS_DP_STATS;
typedef enum ovs_vport_type OVS_VPORT_TYPE;
+/* NL Attributes for setting socket attributes */
+enum ovs_nl_sock_attr {
+ /* (UINT32) Netlink Protocol set in Userspace and read in Kernel */
+ OVS_NL_ATTR_SOCK_PROTO,
+ /* (UINT32) Instance PID set in Kernel and read in Userspace */
+ OVS_NL_ATTR_SOCK_PID,
+ __OVS_NL_ATTR_SOCK_MAX
+};
+#define OVS_WIN_SOCK_ATTR_MAX (__OVS_NL_ATTR_SOCK_MAX - 1)
+
#endif /* __OVS_DP_INTERFACE_EXT_H_ */