Acked-by: Anand Kumar <[email protected]> 

Thanks,
Anand Kumar

On 2/27/19, 6:10 AM, "[email protected] on behalf of Alin 
Gabriel Serdean" <[email protected] on behalf of 
[email protected]> wrote:

    When using a vport we need to guard its usage with the dispatch lock.
    
    Signed-off-by: Alin Gabriel Serdean <[email protected]>
    ---
     datapath-windows/ovsext/User.c | 16 ++++++++--------
     1 file changed, 8 insertions(+), 8 deletions(-)
    
    diff --git a/datapath-windows/ovsext/User.c b/datapath-windows/ovsext/User.c
    index b43d7cc04..ed1fcbea8 100644
    --- a/datapath-windows/ovsext/User.c
    +++ b/datapath-windows/ovsext/User.c
    @@ -452,14 +452,6 @@ OvsExecuteDpIoctl(OvsPacketExecute *execute)
         }
     
         fwdDetail = NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL(pNbl);
    -    vport = OvsFindVportByPortNo(gOvsSwitchContext, execute->inPort);
    -    if (vport) {
    -        fwdDetail->SourcePortId = vport->portId;
    -        fwdDetail->SourceNicIndex = vport->nicIndex;
    -    } else {
    -        fwdDetail->SourcePortId = NDIS_SWITCH_DEFAULT_PORT_ID;
    -        fwdDetail->SourceNicIndex = 0;
    -    }
         // XXX: Figure out if any of the other members of fwdDetail need to be 
set.
     
         status = OvsGetFlowMetadata(&key, execute->keyAttrs);
    @@ -502,6 +494,14 @@ OvsExecuteDpIoctl(OvsPacketExecute *execute)
     
         if (ndisStatus == NDIS_STATUS_SUCCESS) {
             NdisAcquireRWLockRead(gOvsSwitchContext->dispatchLock, &lockState, 
0);
    +        vport = OvsFindVportByPortNo(gOvsSwitchContext, execute->inPort);
    +        if (vport) {
    +            fwdDetail->SourcePortId = vport->portId;
    +            fwdDetail->SourceNicIndex = vport->nicIndex;
    +        } else {
    +            fwdDetail->SourcePortId = NDIS_SWITCH_DEFAULT_PORT_ID;
    +            fwdDetail->SourceNicIndex = 0;
    +        }
             ndisStatus = OvsActionsExecute(gOvsSwitchContext, NULL, pNbl,
                                            vport ? vport->portNo :
                                                    OVS_DPPORT_NUMBER_INVALID,
    -- 
    2.16.1.windows.1
    
    _______________________________________________
    dev mailing list
    [email protected]
    
https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail.openvswitch.org%2Fmailman%2Flistinfo%2Fovs-dev&amp;data=02%7C01%7Ckumaranand%40vmware.com%7C0bd42693441d43f12bfa08d69cbd589d%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636868734386921985&amp;sdata=KCb%2FeQOwJIyXj6C7ZS9QePNUW6CZp7CwBWJ1obSHMvA%3D&amp;reserved=0
    

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to