Acked-by: Eitan Eliahu <elia...@vmware.com> Thanks, Eitan -----Original Message----- From: dev [mailto:dev-boun...@openvswitch.org] On Behalf Of Ankur Sharma Sent: Saturday, October 11, 2014 5:34 PM To: dev@openvswitch.org Subject: [ovs-dev] [PATCH v2 2/4] datapath-windows: OVS_PACKET_CMD_EXECUTE command handler.
In this patch we cover the basic registeration of OVS_PACKET_CMD_EXECUTE command handler. Signed-off-by: Ankur Sharma <ankursha...@vmware.com> --- datapath-windows/ovsext/Datapath.c | 18 +++++++++++++----- datapath-windows/ovsext/User.c | 18 ++++++++++++++++++ datapath-windows/ovsext/User.h | 5 +++++ 3 files changed, 36 insertions(+), 5 deletions(-) diff --git a/datapath-windows/ovsext/Datapath.c b/datapath-windows/ovsext/Datapath.c index 04b34e4..0456327 100644 --- a/datapath-windows/ovsext/Datapath.c +++ b/datapath-windows/ovsext/Datapath.c @@ -175,14 +175,22 @@ NETLINK_FAMILY nlDatapathFamilyOps = { }; /* Netlink packet family. */ -/* XXX: Add commands here. */ + +NETLINK_CMD nlPacketFamilyCmdOps[] = { + { .cmd = OVS_PACKET_CMD_EXECUTE, + .handler = OvsNlExecuteCmdHandler, + .supportedDevOp = OVS_TRANSACTION_DEV_OP, + .validateDpIndex = TRUE + } +}; + NETLINK_FAMILY nlPacketFamilyOps = { .name = OVS_PACKET_FAMILY, .id = OVS_WIN_NL_PACKET_FAMILY_ID, .version = OVS_PACKET_VERSION, .maxAttr = OVS_PACKET_ATTR_MAX, - .cmds = NULL, /* XXX: placeholder. */ - .opsCount = 0 + .cmds = nlPacketFamilyCmdOps, + .opsCount = ARRAY_SIZE(nlPacketFamilyCmdOps) }; /* Netlink vport family. */ @@ -772,8 +780,8 @@ OvsDeviceControl(PDEVICE_OBJECT deviceObject, nlFamilyOps = &nlFLowFamilyOps; break; case OVS_WIN_NL_PACKET_FAMILY_ID: - status = STATUS_NOT_IMPLEMENTED; - goto done; + nlFamilyOps = &nlPacketFamilyOps; + break; case OVS_WIN_NL_VPORT_FAMILY_ID: nlFamilyOps = &nlVportFamilyOps; break; diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c index 26cd431..1accb87 100644 --- a/datapath-windows/ovsext/User.c +++ b/datapath-windows/ovsext/User.c @@ -300,6 +300,24 @@ OvsAllocateNBLForUserBuffer(POVS_SWITCH_CONTEXT switchContext, return nbl; } +/* + +*---------------------------------------------------------------------- +------ + * OvsNlExecuteCmdHandler -- + * Handler for OVS_PACKET_CMD_EXECUTE command. + +*---------------------------------------------------------------------- +------ + */ +NTSTATUS +OvsNlExecuteCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx, + UINT32 *replyLen) { + NTSTATUS rc = STATUS_SUCCESS; + + UNREFERENCED_PARAMETER(usrParamsCtx); + UNREFERENCED_PARAMETER(replyLen); + + return rc; +} + NTSTATUS OvsExecuteDpIoctl(PVOID inputBuffer, UINT32 inputLength, diff --git a/datapath-windows/ovsext/User.h b/datapath-windows/ovsext/User.h index ed41f14..cbe0e4e 100644 --- a/datapath-windows/ovsext/User.h +++ b/datapath-windows/ovsext/User.h @@ -21,6 +21,8 @@ #ifndef __USER_H_ #define __USER_H_ 1 +#include "Datapath.h" + /* * Even we have more cores, I don't think we need * more than 32 queues for processing packets to @@ -111,4 +113,7 @@ NTSTATUS OvsPurgeDpIoctl(PFILE_OBJECT fileObject); NTSTATUS OvsWaitDpIoctl(PIRP irp, PFILE_OBJECT fileObject); +NTSTATUS OvsNlExecuteCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx, + UINT32 *replyLen); + #endif /* __USER_H_ */ -- 1.9.1 _______________________________________________ dev mailing list dev@openvswitch.org https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=yTvML8OxA42Jb6ViHe7fUXbvPVOYDPVq87w43doxtlY%3D%0A&m=YGKsohzoDV%2Bx4PH%2FmNPdoWSjGb3ymPxMAQgU%2B%2BsbG8o%3D%0A&s=238f7f199642fb85637cd9581dd682e582f77a37634eeb308a8d6ed5a05c0479 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev