[ovs-dev] [PATCH 5/7 v2] datapath-windows: Add stub handlers for netdev commands
Nithin Raju
nithin at vmware.com
Sat Oct 4 22:09:58 UTC 2014
In this patch, we add stub handlers for the netdev commands.
Signed-off-by: Nithin Raju <nithin at vmware.com>
Acked-by: Ankur Sharma <ankursharma at vmware.com>
---
datapath-windows/ovsext/Datapath.c | 27 +++++++++++++++++++++++++--
datapath-windows/ovsext/Vport.c | 14 ++++++++++++++
2 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c
index 44cdfc9..625ead7 100644
--- a/datapath-windows/ovsext/Datapath.c
+++ b/datapath-windows/ovsext/Datapath.c
@@ -97,13 +97,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,
@@ -235,6 +237,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,
@@ -757,6 +777,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;
diff --git a/datapath-windows/ovsext/Vport.c b/datapath-windows/ovsext/Vport.c
index 14b68d9..5bb84d6 100644
--- a/datapath-windows/ovsext/Vport.c
+++ b/datapath-windows/ovsext/Vport.c
@@ -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
--
1.7.4.1
More information about the dev
mailing list