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