[ovs-dev] [PACKET_OUT v2] ofproto-dpif: treat non-datapath ports as local port for OFPT_PACKET_OUT

Andy Zhou azhou at nicira.com
Thu May 1 08:40:47 UTC 2014


On Wed, Apr 30, 2014 at 11:59 PM, YAMAMOTO Takashi
<yamamoto at valinux.co.jp> wrote:
>>> Something like this (I have not tested either scenario):
>>>
>>>   I think this will fail to match but that may not be obvious to users:
>>>   packet_out: in_port=CONTROLLER actions=goto_table:1
>>>   table 1: match=in_port=CONTROLLER actions=normal
>>>
>>>   I think this will match but that may not be obvious to users:
>>>   packet_out: in_port=CONTROLLER actions=goto_table:1
>>>   table 1: match=in_port=LOCAL actions=normal
>>>
>>>   Where CONTROLLER could be any port covered by this patch.
>>>
>> Only ODP ports are changed to LOCAL, so simple rule matches as
>> outlined should work.
>> However, this scenario is valid when recirculation is involved. I am
>> not sure what we should
>> do about this edge case either.
>
> how about having a userspace-only special variant of RECIRC action,
> which can specify in_port as (ofproto, ofp port) and thus can be
> used even when odp port is not available?
>
> if a translation detects the condition (ie. recirculation is necessary
> but in_port does not have the corresponding odp port), it can use
> the userspace variant with SLOW_ACTION instead of normal RECIRC.

Not all actions can be executed in the user space. Hash action can
only be executed
in datapath. User space, by design, can not predict the hash value
computed by the
datapath.
>
> YAMAMOTO Takashi



More information about the dev mailing list