bond: Sending learning packets on active-backup.
authorEthan Jackson <ethan@nicira.com>
Mon, 25 Jun 2012 22:46:44 +0000 (15:46 -0700)
committerEthan Jackson <ethan@nicira.com>
Thu, 5 Jul 2012 22:03:34 +0000 (15:03 -0700)
commit247cd777a12fae3ff37da762f8016fee82bbf411
tree5fde74b8fb2a95f74ad34af82b09c92113079a94
parentbd3affc9acb6b14f889e51cd5d3846b52e67206a
bond: Sending learning packets on active-backup.

Suppose we have an active bond with two ports, eth1 and eth2,
attached to a standard L2 learning switch which does not know it's
participating in a bond (i.e. isn't running LACP).  Suppose eth1 is
active and therefore the L2 learning switch is forwarding traffic
to eth1 as instructed by its learning table.  Now suppose, for some
reason, OVS fails over from eth1 to eth2.  For each destination
MAC, the L2 learning switch will continue sending traffic to eth1,
which will be dropped, until either traffic from that MAC appears
on eth2, or the learning table entries expire.

To alleviate this issue, this patch sends learning packets on newly
active interfaces in active-backup bonds in order to educate the
upstream network of the change.

Requested-by: Frido Roose <fr.roose@gmail.com>
Signed-off-by: Ethan Jackson <ethan@nicira.com>
AUTHORS
lib/bond.c