Hello,

  I am hoping that OVS supports a functionality it allows to use port VLAN
  with OpenFlow OFPAT_OUTPUT action.  I wrote a patch for such feature,
  is it possible to merge it to OVS?

  I understand that OVS is supporting port VLAN capability for only
  "normal switching".  When we implement VLAN isolation using OpenFlow,
  in some use case,  the number of flow entries will grow up to large amount.
  This trend is particularly notable when OVS is connected to not only
  VMs but also legacy networks for tenants.

  For example, when switch was configured and was used as the following:

port 1: trunks 100, 110, 120    (connected to tenant networks)
port 2: trunks 100, 110, 120    (connected to tenant networks)
port 3: trunks 200, 210, 220    (connected to tenant networks)
port 4: trunks 200, 210, 220    (connected to tenant networks)
port 5: trunks 300, 310, 320    (connected to tenant networks)
port 6: trunks 300, 310, 320    (connected to tenant networks)
port 7: trunk                   (connected to provider networks)
port 8: trunk                   (connected to provider networks)

  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,...
...
in_port=7,vlan_id=100,actions=output:1,output:2,output:8
in_port=7,vlan_id=110,actions=output:1,output:2,output:8
in_port=7,vlan_id=120,actions=output:1,output:2,output:8
in_port=7,vlan_id=200,actions=output:3,output:4,output:8
in_port=7,vlan_id=210,actions=output:3,output:4,output:8
in_port=7,vlan_id=220,actions=output:3,output:4,output:8
in_port=7,vlan_id=300,actions=output:5,output:6,output:8
in_port=7,vlan_id=310,actions=output:5,output:6,output:8
in_port=7,vlan_id=320,actions=output:5,output:6,output:8
in_port=7,actions=output:8
in_port=8,vlan_id=100,...
...

  Amount of needed flow entries will be:
  (Number of ports) x (Number of VLANs)
  For example, if switch has 48 ports and 250 VLANs, number of flow entries
  will be 12,000 entries.  In the case where OVS is applied to some hardware
  based switch that has small capacity of flow table, this amount is
  too large.

  For such case, if we can use port VLAN that is possible to use not only for
  "normal switching" but also for OpenFlow output action, we can reduce the
  number of entries. As for above example, needed entries will be:

in_port=1,actions=output:2,output:7,output:8
in_port=2,actions=output:1,output:7,output:8
in_port=3,actions=output:4,output:7,output:8
in_port=4,actions=output:3,output:7,output:8
...
in_port=7,actions=output:1,output:2,output:3,output:4,output:5,output:6,output:8
in_port=8,actions=output:1,output:2,output:3,output:4,output:5,output:6,output:7

  Controller will also set port VLAN via OVSDB.  As for this method,
  amount of needed flow entries will be equal to number of ports. That is,
  number of needed entries is 8.

  (Of course, above model does not make sense because it behaves as just
   dumb hub. It is simplified model for my explanation.  In actual case, I will
   add some matches and actions for the functionality of SDN)

  I'm glad if you feel such function, so to speak "hybrid port VLAN",
  will make sense and if I can merge the patch to OVS.

  Regards,
  Ken
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev

Reply via email to