My changes for trasacation error handling for not needed for dump commands. Fixed the same.
Signed-off-by: Ankur Sharma <ankursha...@vmware.com> --- datapath-windows/ovsext/Flow.c | 50 +++++++++++------------------------------- 1 file changed, 13 insertions(+), 37 deletions(-) diff --git a/datapath-windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c index f6e7bdb..3254223 100644 --- a/datapath-windows/ovsext/Flow.c +++ b/datapath-windows/ovsext/Flow.c @@ -381,48 +381,24 @@ OvsFlowNlGetCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx, NTSTATUS rc = STATUS_SUCCESS; NL_ERROR nlError = NL_ERROR_SUCCESS; POVS_MESSAGE msgIn = (POVS_MESSAGE)usrParamsCtx->inputBuffer; - POVS_MESSAGE msgOut = (POVS_MESSAGE)usrParamsCtx->outputBuffer; - PNL_MSG_HDR nlMsgHdr = &(msgIn->nlMsg); - PGENL_MSG_HDR genlMsgHdr = &(msgIn->genlMsg); - POVS_HDR ovsHdr = &(msgIn->ovsHdr); - - NL_BUFFER nlBuf; - - if (!(usrParamsCtx->outputBuffer)) { - /* No output buffer */ - rc = STATUS_INVALID_BUFFER_SIZE; - goto done; - } if (usrParamsCtx->devOp == OVS_TRANSACTION_DEV_OP) { rc = _FlowNlGetCmdHandler(usrParamsCtx, replyLen); - } else { - rc = _FlowNlDumpCmdHandler(usrParamsCtx, replyLen); - } - if ((nlError != NL_ERROR_SUCCESS) && - (usrParamsCtx->outputBuffer)) { - POVS_MESSAGE_ERROR msgError = (POVS_MESSAGE_ERROR) - usrParamsCtx->outputBuffer; - BuildErrorMsg(msgIn, msgError, nlError); - *replyLen = msgError->nlMsg.nlmsgLen; - rc = STATUS_SUCCESS; - goto done; - } - - if (rc == STATUS_SUCCESS) { - NlBufInit(&nlBuf, usrParamsCtx->outputBuffer, - usrParamsCtx->outputLength); - - /* Prepare nl Msg headers */ - rc = NlFillOvsMsg(&nlBuf, nlMsgHdr->nlmsgType, 0, - nlMsgHdr->nlmsgSeq, nlMsgHdr->nlmsgPid, - genlMsgHdr->cmd, OVS_FLOW_VERSION, - ovsHdr->dp_ifindex); - - if (rc == STATUS_SUCCESS) { - *replyLen = msgOut->nlMsg.nlmsgLen; + /* No trasanctional errors as of now. + * If we have something then we need to convert rc to + * nlError. */ + if ((nlError != NL_ERROR_SUCCESS) && + (usrParamsCtx->outputBuffer)) { + POVS_MESSAGE_ERROR msgError = (POVS_MESSAGE_ERROR) + usrParamsCtx->outputBuffer; + BuildErrorMsg(msgIn, msgError, nlError); + *replyLen = msgError->nlMsg.nlmsgLen; + rc = STATUS_SUCCESS; + goto done; } + } else { + rc = _FlowNlDumpCmdHandler(usrParamsCtx, replyLen); } done: -- 1.9.1 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev