Hi Alin,

I don’t think portNo translates properly to portId in this case. If you
test out a scenario with a Flow Miss, then you will encounter Assert
failures in User.c since the IsReceive flags are set incorrectly. An easy
way to test this is to always reset flow to NULL and test this.

Also, the RecircId isn’t being included in the current patch since it gets
overwritten - 
https://github.com/openvswitch/ovs/blob/106dc9059176bf6b2b48016cd228e362366
1bc94/datapath-windows/ovsext/Flow.c#L1417

Moving the KeyLen computation after this line causes assertion failures at
this line - 
https://github.com/openvswitch/ovs/blob/106dc9059176bf6b2b48016cd228e362366
1bc94/datapath-windows/ovsext/Flow.c#L2038


I just tried testing the latest patch with MPLS and Conntrack and couldn’t
get the Recirc-Id to show up in ovs-dpctl dump-flows. If you are able to
get MPLS and Recirculation to work correctly with the current Master,
please let me know.

Thanks,
Sairam

On 3/28/16, 3:30 AM, "Alin Serdean" <aserd...@cloudbasesolutions.com>
wrote:

>Comments inlined.
>
>
>
>Thanks,
>
>Alin.
>
>
>
>> -----Mesaj original-----
>
>> De la: dev [mailto:dev-boun...@openvswitch.org] În numele Sairam
>
>> Venugopal
>
>> Trimis: Friday, March 25, 2016 8:07 PM
>
>> Către: dev@openvswitch.org
>
>> Subiect: [ovs-dev] [PATCH v2] datapath-windows: Update Recirculation to
>
>> use the right parameters
>
>> 
>
>> Update OvsLookupFlow() to include flowKey->RecircId when computing
>
>> hash.
>
>[Alin Gabriel Serdean: ]
>https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openvswitc
>h_ovs_blob_106dc9059176bf6b2b48016cd228e3623661bc94_datapath-2Dwindows_ovs
>ext_Flow.c-23L1385&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&
>r=Dcruz40PROJ40ROzSpxyQSLw6fcrOWpJgEcEmNR3JEQ&m=P863NH9lY71NGZ9SvpvM-k8Ls6
>yoLwr4TCRYnKXrx-8&s=-j4huueRgVnR2YhTitknmflC-Llp_TepYx10G43HFAM&e=
>
>https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openvswitc
>h_ovs_blob_106dc9059176bf6b2b48016cd228e3623661bc94_datapath-2Dwindows_ovs
>ext_Flow.c-23L2125-2DL2126&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMN
>tXt-uEs&r=Dcruz40PROJ40ROzSpxyQSLw6fcrOWpJgEcEmNR3JEQ&m=P863NH9lY71NGZ9Svp
>vM-k8Ls6yoLwr4TCRYnKXrx-8&s=3kagGUlhoBG-YKOYW8H3rbxUixmmr6u1I10h3wEckPg&e=
> 
>
>(it is included)
>
>> Use the right source port Id for checking if a packet is received or
>
>> transmitted.
>
>[Alin Gabriel Serdean: ]
>https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_openvswitc
>h_ovs_blob_106dc9059176bf6b2b48016cd228e3623661bc94_datapath-2Dwindows_ovs
>ext_Actions.c-23L1932-2DL1933&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-Yih
>VMNtXt-uEs&r=Dcruz40PROJ40ROzSpxyQSLw6fcrOWpJgEcEmNR3JEQ&m=P863NH9lY71NGZ9
>SvpvM-k8Ls6yoLwr4TCRYnKXrx-8&s=VQdYf5lm8nClznv7Ogdbs9he7KBtSpno3BEUrxkNPDI
>&e= 
>
>(it is the right source port id)
>
>> 
>
>> Signed-off-by: Sairam Venugopal <vsai...@vmware.com>
>
>> ---
>
>>  datapath-windows/ovsext/Actions.c | 2 +-
>
>>  datapath-windows/ovsext/Flow.c    | 3 +++
>
>>  2 files changed, 4 insertions(+), 1 deletion(-)
>
>> 
>
>> diff --git a/datapath-windows/ovsext/Actions.c b/datapath-
>
>> windows/ovsext/Actions.c
>
>> index a91454d..7742096 100644
>
>> --- a/datapath-windows/ovsext/Actions.c
>
>> +++ b/datapath-windows/ovsext/Actions.c
>
>> @@ -2015,7 +2015,7 @@ OvsDoRecirc(POVS_SWITCH_CONTEXT
>
>> switchContext,
>
>>          }
>
>>          status = OvsCreateAndAddPackets(NULL, 0, OVS_PACKET_CMD_MISS,
>
>>                                          vport, key, ovsFwdCtx.curNbl,
>
>> -                                        srcPortNo ==
>
>> +
>
>> + ovsFwdCtx.fwdDetail->SourcePortId ==
>
>>                 
>>switchContext->virtualExternalPortId,
>
>>                                          &ovsFwdCtx.layers,
>
>>                                          ovsFwdCtx.switchContext, diff
>>--git a/datapath-
>
>> windows/ovsext/Flow.c b/datapath-windows/ovsext/Flow.c index
>
>> 02c41b7..d49697c 100644
>
>> --- a/datapath-windows/ovsext/Flow.c
>
>> +++ b/datapath-windows/ovsext/Flow.c
>
>> @@ -2133,6 +2133,9 @@ OvsLookupFlow(OVS_DATAPATH *datapath,
>
>> 
>
>>      if (!hashValid) {
>
>>          *hash = OvsJhashBytes(start, size, 0);
>
>> +        if (key->recircId) {
>
>> +            *hash = OvsJhashWords((UINT32*)hash, 1, key->recircId);
>
>> +        }
>
>>      }
>
>> 
>
>>      head = &datapath->flowTable[HASH_BUCKET(*hash)];
>
>> --
>
>> 2.5.0.windows.1
>
>> 
>
>> _______________________________________________
>
>> dev mailing list
>
>> dev@openvswitch.org
>
>> 
>>https://urldefense.proofpoint.com/v2/url?u=http-3A__openvswitch.org_mailm
>>an_listinfo_dev&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=
>>Dcruz40PROJ40ROzSpxyQSLw6fcrOWpJgEcEmNR3JEQ&m=P863NH9lY71NGZ9SvpvM-k8Ls6y
>>oLwr4TCRYnKXrx-8&s=kpm2_L6E-KoTPyH_6iXNxsooJzgke-7Lo_TftSp2d2g&e=
>

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to