On Thu, May 01, 2014 at 03:59:20PM +0900, YAMAMOTO Takashi 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 completely agree with that analysis.

> > 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.

FWIW I am happy with either that approach (assuming it works)
or Andy's approach. But I lean towards the simplicity of Andy's approach.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to