datapath-windows: Add stub handlers for netdev commands
authorNithin Raju <nithin@vmware.com>
Mon, 6 Oct 2014 20:07:21 +0000 (13:07 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 6 Oct 2014 22:38:23 +0000 (15:38 -0700)
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>
datapath-windows/ovsext/Datapath.c
datapath-windows/ovsext/Vport.c

index 6e7a298..b873b38 100644 (file)
@@ -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;
index 14b68d9..5bb84d6 100644 (file)
@@ -23,6 +23,7 @@
 #include "Vxlan.h"
 #include "IpHelper.h"
 #include "Oid.h"
+#include "Datapath.h"
 
 #ifdef OVS_DBG_MOD
 #undef OVS_DBG_MOD
@@ -1402,6 +1403,19 @@ ext_info_done:
                   *replyLen, status);
     return status;
 }
+/*
+ * --------------------------------------------------------------------------
+ *  Command Handler for 'OVS_WIN_NETDEV_CMD_GET'.
+ * --------------------------------------------------------------------------
+ */
+NTSTATUS
+OvsGetNetdevCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,
+                       UINT32 *replyLen)
+{
+    UNREFERENCED_PARAMETER(usrParamsCtx);
+    UNREFERENCED_PARAMETER(replyLen);
+    return STATUS_NOT_IMPLEMENTED;
+}
 
 
 static __inline VOID