hi Sorin,

_FlowNlGetCmdHandler() is used for a Flow command sent down as a transaction as 
shown in the following code:

NTSTATUS                                                         
OvsFlowNlGetCmdHandler(POVS_USER_PARAMS_CONTEXT usrParamsCtx,    
                       UINT32 *replyLen)                         
{                                                                
[...]
    if (usrParamsCtx->devOp == OVS_TRANSACTION_DEV_OP) {         
        status = _FlowNlGetCmdHandler(usrParamsCtx, replyLen);   

It is bug that _FlowNlGetCmdHandler() is accessing 'instance->dumpState.ovsMsg' 
even though it is handler for OVS_TRANSACTION_DEV_OP. The fix in 
'_FlowNlGetCmdHandler()' should merely be:

- POVS_MESSAGE msgIn = instance->dumpState.ovsMsg;
+ POVS_MESSAGE msgIn = (POVS_MESSAGE)usrParamsCtx->inputBuffer;

That should fix the issue.

> Also modified OvsFlowNlGetCmdHandler() to handle transactional
> errors.

As a practice, we don't combine patches that fix difference things into one 
patch. In this case, you can split the bigger patch into 2 patches, and send 
them out as a series.

thanks,
-- Nithin
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to