On Fri, Mar 06, 2015 at 10:22:26AM -0800, Jean Tourrilhes wrote:
> Ken Ajiro wrote :
> > 
> >   To isolate the L2 domain equivalent to VLAN,
> >   I think that following flow entries will be needed.
> > 
> > in_port=1,vlan_id=100,actions=output:2,output:7,output:8
> > in_port=1,vlan_id=110,actions=output:2,output:7,output:8
> > in_port=1,vlan_id=120,actions=output:2,output:7,output:8
> > in_port=1,drop
> > in_port=2,vlan_id=100,...
> 
>       The way to avoid cross product explosion has always been to
> use multiple tables.
>       Actually, Egress Tables introduced in 1.5 were explicitely
> designed to address this use case in a generic fashion, because Egress
> Tables have exactly the semantic you want. Instead of adding a table
> in the output port restricted/dedicated to only VLAN and nothing else,
> it introduce a generic OpenFlow table after the output action, so that
> not only you can do VLAN filtering, but you can also implement STP
> filtering, Reverse Path Filtering or any per-output port policies. In
> other words, it is future proof.
>       In other words, please look at implementing Egress Tables in
> OVS instead of Hybrid Port VLAN. IMHO, I think Ben would be more
> likely to merge it. I think the current trend of trying to push more
> and more specialised/dedicated features in OVS is not sustainable.

That's a good point.

Another possibility is to use the "conjunctive match" feature in
(upcoming) OVS 2.4.  With this feature, you can effectively construct
flows that say,

   (in_port in {set_A}) and (vlan_id in {set_B}),actions=...

by adding n_A + n_B + 1 flows to the flow table, where n_A is the
number of elements in {set_A} and n_B is the number in {set_B}.  But I
doubt that that feature maps well to hardware.
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to