Document and warn that mirroring to a VLAN is incompatible with SLB bonding.
authorBen Pfaff <blp@nicira.com>
Fri, 5 Aug 2011 23:58:02 +0000 (16:58 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 8 Aug 2011 17:17:54 +0000 (10:17 -0700)
commit6c2d2a9f8318fea11250a7624144cb06436f91a4
treea1d62c11a9124b8300205d059a861d4d4d1ba48c
parent92ada13254cbbc24ded4c9970d73dac1fe2f10d9
Document and warn that mirroring to a VLAN is incompatible with SLB bonding.

vswitchd/INTERNALS explains the incompatibility:

   2. When Open vSwitch forwards a multicast or broadcast packet to a
      link in the SLB bond other than the active slave, the remote
      switch will forward it to all of the other links in the SLB
      bond, including the active slave.  Without special handling,
      this would mean that Open vSwitch would forward a second copy of
      the packet to each switch port (other than the bond), including
      the port that originated the packet.

      Open vSwitch deals with this case by dropping packets received
      on any SLB bonded link that have a source MAC+VLAN that has been
      learned on any other port.  (This means that SLB as implemented
      in Open vSwitch relies critically on MAC learning.  Notably, SLB
      is incompatible with the "flood_vlans" feature.)

We could go farther than this and automatically change the bonding mode to
a safer one (e.g. active-backup) when flood_vlans are enabled.  However,
that would still leave the SLB fallback for LACP modes in place; perhaps
active-backup would have to be the fallback for LACP modes when flood_vlans
are enabled.
vswitchd/bridge.c
vswitchd/vswitch.xml