[ovs-dev] [branch-2.3 V2] recirculation: Do not drop packet when there is no match from internal table.

YAMAMOTO Takashi yamamoto at valinux.co.jp
Wed Dec 17 04:24:43 UTC 2014


probably we can assign distinct pseudo odp port numbers for each
userland-only ports like patch ports and make datapath accept them
eg. for match.  in that way, we can associate a packet in_port
corresponding to the port for the recirculating bridge, rather than
of the receiving bridge.

YAMAMOTO Takashi

> It seems recirculation action should be scoped within the same OF-bridge.
> 
> On Tue, Dec 16, 2014 at 4:43 PM, Alex Wang <alexw at nicira.com> wrote:
>> Hey Yamamoto,
>>
>> Justin and Ethan just raised the same question you asked,
>>
>> Yeah, there is an issue.  If say, the vlan is set before recirc action,
>> the recirc'ed flow will have a vlan id which could lead to totally
>> different handling result,
>>
>> We will discuss further and address it,
>>
>> Thanks,
>> Alex Wang,
>>
>> On Tue, Dec 16, 2014 at 4:16 PM, YAMAMOTO Takashi <yamamoto at valinux.co.jp>
>> wrote:
>>>
>>> hi,
>>>
>>> > Hey Yamamoto,
>>> >
>>> >
>>> >> what will happen if the receiving bridge also has a bond port?
>>> >>
>>> >> YAMAMOTO Takashi
>>> >>
>>> >
>>> >
>>> > For each 'balance-tcp' bond, it will have a unique 'recirc_id'.
>>> >
>>> > If the receiving bridge has a 'balance-tcp' bond with recirc_id=ABCD,
>>> > the bridge's internal table (Table 254) will contain flows matching on
>>> > this one 'recirc_id' and different 'dp_hash' values.
>>> >
>>> > If the flow miss does not have 'recirc_id' (i.e. recirc_id == 0), lookup
>>> > will
>>> > start from Table 0.
>>> >
>>> > If the flow miss has 'recirc_id' == ABCD, it will match one of the rules
>>> in
>>> > internal table and get output to the corresponding interface.
>>> >
>>> > If the flow miss has 'recirc_id' != ABCD, it will match the the rule in
>>> bold
>>> > below, then lookup from Table 0, continue on the pipeline until reaching
>>> > the bridge with the 'recirc_id'.
>>> >
>>> > priority=2,recirc_id=0,actions=drop
>>> > *priority=1,actions=resubmit(,0)*
>>>
>>> thank you for explanation.
>>>
>>> i have another question: what ensures that the recirculated packet
>>> reaches to the same bridge as before?  esp. when the packet has
>>> been modified.
>>>
>>> YAMAMOTO Takashi
>>>
>>> >
>>> > Thanks,
>>> > Alex Wang,
>>> > _______________________________________________
>>> > dev mailing list
>>> > dev at openvswitch.org
>>> > http://openvswitch.org/mailman/listinfo/dev
>>>
>> _______________________________________________
>> dev mailing list
>> dev at openvswitch.org
>> http://openvswitch.org/mailman/listinfo/dev
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list