I'd appreciate it if you'd resend separately, with Samuel's ack included. Thanks,
Ben. On Tue, Sep 09, 2014 at 07:43:17PM +0000, Nithin Raju wrote: > Ben, > This patch is good to go as well AS AN independent patch. It was marked > earlier as [PATCH 9/9 v3], but it has since been broken off from the series, > since Ankur sent out a new series, which have been committed. > > Pls. let me know if you want me to send out a fresh patch for this. > > thanks, > Nithin > > > On Sep 6, 2014, at 6:18 PM, Samuel Ghinet <sghi...@cloudbasesolutions.com> > wrote: > > > Acked-by: Samuel Ghinet <sghi...@cloudbasesolutions.com> > > ________________________________________ > > From: Samuel Ghinet > > Sent: Sunday, September 07, 2014 2:54 AM > > To: dev@openvswitch.org > > Cc: Alin Serdean; nit...@vmware.com; ssaur...@vmware.com; Ankur Sharma > > Subject: [PATCH 9/9 v3] datapath-windows: refactor code to setup > > dump start state > > > > Looks good, > > Sam > > ________________________________________ > > > > Date: Fri, 29 Aug 2014 12:05:14 -0700 > > From: Ankur Sharma <ankursha...@vmware.com> > > To: dev@openvswitch.org > > Subject: [ovs-dev] [PATCH 9/9 v3] datapath-windows: refactor code to > > setup dump start state > > Message-ID: <1409339114-15838-1-git-send-email-ankursha...@vmware.com> > > > > Per review comment, in this patch we refactor the code to create a > > OvsSetupDumpStart() which can be leveraged by dump functions in the > > future. I have not refactored the code that continues the dump > > operation primarily since it is not final yet. Once the netlink set > > APIs are in place, we can refactor that too. > > > > Signed-off-by: Nithin Raju <nit...@vmware.com> > > Signed-off-by: Ankur Sharma <ankursha...@vmware.com> > > Acked-by: Ankur Sharma <ankursha...@vmware.com> > > --- > > Please attribute this to Nithin Raju <nit...@vmware.com> > > --- > > datapath-windows/ovsext/Datapath.c | 66 > > +++++++++++++++++++++++--------------- > > 1 file changed, 40 insertions(+), 26 deletions(-) > > > > diff --git a/datapath-windows/ovsext/Datapath.c > > b/datapath-windows/ovsext/Datapath.c > > index ccb69e3..c145d00 100644 > > --- a/datapath-windows/ovsext/Datapath.c > > +++ b/datapath-windows/ovsext/Datapath.c > > @@ -110,8 +110,11 @@ static NTSTATUS > > OvsGetDpCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx, > > > > /* Netlink control family: this is a Windows specific family. */ > > NETLINK_CMD nlControlFamilyCmdOps[] = { > > - { OVS_CTRL_CMD_WIN_GET_PID, OvsGetPidCmdHandler, > > - OVS_TRANSACTION_DEV_OP, FALSE } > > + { .cmd = OVS_CTRL_CMD_WIN_GET_PID, > > + .handler = OvsGetPidCmdHandler, > > + .supportedDevOp = OVS_TRANSACTION_DEV_OP, > > + .validateDpIndex = FALSE > > + } > > }; > > > > NETLINK_FAMILY nlControlFamilyOps = { > > @@ -125,8 +128,11 @@ NETLINK_FAMILY nlControlFamilyOps = { > > > > /* Netlink datapath family. */ > > NETLINK_CMD nlDatapathFamilyCmdOps[] = { > > - { OVS_DP_CMD_GET, OvsGetDpCmdHandler, > > - OVS_WRITE_DEV_OP | OVS_READ_DEV_OP, FALSE } > > + { .cmd = OVS_DP_CMD_GET, > > + .handler = OvsGetDpCmdHandler, > > + .supportedDevOp = OVS_WRITE_DEV_OP | OVS_READ_DEV_OP, > > + .validateDpIndex = FALSE > > + } > > }; > > > > NETLINK_FAMILY nlDatapathFamilyOps = { > > @@ -182,6 +188,7 @@ static NTSTATUS ValidateNetlinkCmd(UINT32 devOp, > > static NTSTATUS InvokeNetlinkCmdHandler(POVS_USER_PARAMS_CONTEXT > > usrParamsCtx, > > NETLINK_FAMILY *nlFamilyOps, > > UINT32 *replyLen); > > +static NTSTATUS OvsSetupDumpStart(POVS_USER_PARAMS_CONTEXT usrParamsCtx); > > > > > > /* Handles to the device object for communication with userspace. */ > > @@ -828,28 +835,8 @@ OvsGetDpCmdHandler(POVS_USER_PARAMS_CONTEXT > > usrParamsCtx, > > (POVS_OPEN_INSTANCE)usrParamsCtx->ovsInstance; > > > > if (usrParamsCtx->devOp == OVS_WRITE_DEV_OP) { > > - NTSTATUS status; > > - > > - /* input buffer has been validated while validating write dev op. > > */ > > - ASSERT(msgIn != NULL && usrParamsCtx->inputLength >= sizeof > > *msgIn); > > - > > - /* A write operation that does not indicate dump start is invalid. > > */ > > - if ((msgIn->nlMsg.nlmsgFlags & NLM_F_DUMP) != NLM_F_DUMP) { > > - return STATUS_INVALID_PARAMETER; > > - } > > - /* XXX: Handle other NLM_F_* flags in the future. */ > > - > > - /* > > - * This operation should be setting up the dump state. If there's > > any > > - * previous state, clear it up so as to set it up afresh. > > - */ > > - if (instance->dumpState.ovsMsg != NULL) { > > - FreeUserDumpState(instance); > > - } > > - status = InitUserDumpState(instance, msgIn); > > - if (status != STATUS_SUCCESS) { > > - return STATUS_NO_MEMORY; > > - } > > + *replyLen = 0; > > + OvsSetupDumpStart(usrParamsCtx); > > } else { > > ASSERT(usrParamsCtx->devOp == OVS_READ_DEV_OP); > > > > @@ -943,6 +930,33 @@ OvsGetDpCmdHandler(POVS_USER_PARAMS_CONTEXT > > usrParamsCtx, > > return STATUS_SUCCESS; > > } > > > > +static NTSTATUS > > +OvsSetupDumpStart(POVS_USER_PARAMS_CONTEXT usrParamsCtx) > > +{ > > + POVS_MESSAGE msgIn = (POVS_MESSAGE)usrParamsCtx->inputBuffer; > > + POVS_OPEN_INSTANCE instance = > > + (POVS_OPEN_INSTANCE)usrParamsCtx->ovsInstance; > > + > > + /* input buffer has been validated while validating write dev op. */ > > + ASSERT(msgIn != NULL && usrParamsCtx->inputLength >= sizeof *msgIn); > > + > > + /* A write operation that does not indicate dump start is invalid. */ > > + if ((msgIn->nlMsg.nlmsgFlags & NLM_F_DUMP) != NLM_F_DUMP) { > > + return STATUS_INVALID_PARAMETER; > > + } > > + /* XXX: Handle other NLM_F_* flags in the future. */ > > + > > + /* > > + * This operation should be setting up the dump state. If there's any > > + * previous state, clear it up so as to set it up afresh. > > + */ > > + if (instance->dumpState.ovsMsg != NULL) { > > + FreeUserDumpState(instance); > > + } > > + > > + return InitUserDumpState(instance, msgIn); > > +} > > + > > /* > > * > > -------------------------------------------------------------------------- > > * Utility function to map the output buffer in an IRP. The buffer is > > assumed > > -- > > 1.8.3.2 > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev