Thread (18 messages) 18 messages, 9 authors, 2008-10-01

[RFC] bonding: add better ipv6 failover support

flat view

From: Brian Haley <hidden>
Date: 2008-09-25 02:46:45

This is an RFC patch to add better IPv6 failover support for bonding devices, especially when in active-backup mode, as reported by Alex Sidorenko.

What this patch does:

- Creates a new Kconfig option in the IPv6 Networking section to
  compile-in the support in the bonding driver.  This also forces
  IPV6=y since that's required to link everything.

- Creates a new file, net/drivers/bonding/bond_ipv6.c, for the
  IPv6-specific routines.

- Adds a new master_ipv6 address member to the bonding struct to
  hold a copy of the primary IPv6 address on the bond.

- Adds a new tunable, num_grat_ns, to limit the number of gratuitous
  Neighbor Solicitations that are sent on a failover event.  Default
  is 1.

On failover, this new code will generate two packets:

- An MLD report for the bond, on the current active slave.

- An IPv6 "gratuitous" Neighbor Solicitation, which helps the switch
  learn that the address has moved to the new slave.

Testing has shown that sending just the NS results in pretty good behavior when in active-back mode, I saw no lost ping packets for example.  Sending just the MLD packet didn't seem to have the same effect.  Sending both seems like the right thing to do.

Comments welcome.

-Brian

Signed-off-by: Brian Haley <redacted>
---

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help