summaryrefslogtreecommitdiff
path: root/datapath-windows/ovsext/Datapath.c
diff options
context:
space:
mode:
authorNithin Raju <nithin@vmware.com>2014-10-06 13:07:21 -0700
committerBen Pfaff <blp@nicira.com>2014-10-06 15:38:23 -0700
commit2b144cbb05f8af1836f11804b30e5d01e28d7394 (patch)
treec4d29dab3dac0a32e4ad05d5632176a2a346fcb0 /datapath-windows/ovsext/Datapath.c
parent3e648bc5f25aed301246273f3c59c267d24a0d8d (diff)
downloadopenvswitch-2b144cbb05f8af1836f11804b30e5d01e28d7394.tar.gz
datapath-windows: Add stub handlers for netdev commands
In this patch, we add stub handlers for the netdev commands. Signed-off-by: Nithin Raju <nithin@vmware.com> Acked-by: Ankur Sharma <ankursharma@vmware.com> Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Tested-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com> Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'datapath-windows/ovsext/Datapath.c')
-rw-r--r--datapath-windows/ovsext/Datapath.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index 6e7a298c9..b873b38f0 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -87,13 +87,15 @@ typedef struct _NETLINK_FAMILY {
/* Handlers for the various netlink commands. */
static NetlinkCmdHandler OvsGetPidCmdHandler,
- OvsGetDpCmdHandler,
OvsPendEventCmdHandler,
OvsSubscribeEventCmdHandler,
- OvsSetDpCmdHandler,
OvsReadEventCmdHandler,
+ OvsGetDpCmdHandler,
+ OvsSetDpCmdHandler,
OvsGetVportCmdHandler;
+NetlinkCmdHandler OvsGetNetdevCmdHandler;
+
static NTSTATUS HandleGetDpTransaction(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
UINT32 *replyLen);
static NTSTATUS HandleGetDpDump(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
@@ -231,6 +233,24 @@ NETLINK_FAMILY nlFLowFamilyOps = {
.opsCount = ARRAY_SIZE(nlFlowFamilyCmdOps)
};
+/* Netlink netdev family. */
+NETLINK_CMD nlNetdevFamilyCmdOps[] = {
+ { .cmd = OVS_WIN_NETDEV_CMD_GET,
+ .handler = OvsGetNetdevCmdHandler,
+ .supportedDevOp = OVS_TRANSACTION_DEV_OP,
+ .validateDpIndex = FALSE
+ },
+};
+
+NETLINK_FAMILY nlNetdevFamilyOps = {
+ .name = OVS_WIN_NETDEV_FAMILY,
+ .id = OVS_WIN_NL_NETDEV_FAMILY_ID,
+ .version = OVS_WIN_NETDEV_VERSION,
+ .maxAttr = OVS_WIN_NETDEV_ATTR_MAX,
+ .cmds = nlNetdevFamilyCmdOps,
+ .opsCount = ARRAY_SIZE(nlNetdevFamilyCmdOps)
+};
+
static NTSTATUS MapIrpOutputBuffer(PIRP irp,
UINT32 bufferLength,
UINT32 requiredLength,
@@ -751,6 +771,9 @@ OvsDeviceControl(PDEVICE_OBJECT deviceObject,
case OVS_WIN_NL_VPORT_FAMILY_ID:
nlFamilyOps = &nlVportFamilyOps;
break;
+ case OVS_WIN_NL_NETDEV_FAMILY_ID:
+ nlFamilyOps = &nlNetdevFamilyOps;
+ break;
default:
status = STATUS_INVALID_PARAMETER;
goto done;