OpenCloudOS-Kernel/drivers
Brian Haley 305d552acc bonding: send IPv6 neighbor advertisement on failover
This patch adds better IPv6 failover support for bonding devices,
especially when in active-backup mode and there are only IPv6 addresses
configured, as reported by Alex Sidorenko.

- Creates a new file, net/drivers/bonding/bond_ipv6.c, for the
   IPv6-specific routines.  Both regular bonds and VLANs over bonds
   are supported.

- Adds a new tunable, num_unsol_na, to limit the number of unsolicited
   IPv6 Neighbor Advertisements that are sent on a failover event.
   Default is 1.

- Creates two new IPv6 neighbor discovery functions:

   ndisc_build_skb()
   ndisc_send_skb()

   These were required to support VLANs since we have to be able to
   add the VLAN id to the skb since ndisc_send_na() and friends
   shouldn't be asked to do this.  These two routines are basically
   __ndisc_send() split into two pieces, in a slightly different order.

- Updates Documentation/networking/bonding.txt and bumps the rev of bond
   support to 3.4.0.

On failover, this new code will generate one packet:

- An unsolicited IPv6 Neighbor Advertisement, which helps the switch
   learn that the address has moved to the new slave.

Testing has shown that sending just the NA results in pretty good
behavior when in active-back mode, I saw no lost ping packets for example.

Signed-off-by: Brian Haley <brian.haley@hp.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-11-06 00:49:37 -05:00
..
accessibility
acpi ACPI suspend: build fix for ACPI_SLEEP=n && XEN_SAVE_RESTORE=y. 2008-10-25 04:07:13 -04:00
amba
ata Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev 2008-10-28 09:42:48 -07:00
atm
auxdisplay
base sysfs: Fix return values for sysdev_store_{ulong,int} 2008-10-29 15:03:49 -07:00
block fs: remove prepare_write/commit_write 2008-10-30 11:38:45 -07:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
cdrom [PATCH] switch viocd 2008-10-21 07:48:21 -04:00
char Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus 2008-10-30 12:53:33 -07:00
clocksource Merge branches 'timers/clocksource', 'timers/hrtimers', 'timers/nohz', 'timers/ntp', 'timers/posixtimers' and 'timers/debug' into v28-timers-for-linus 2008-10-20 13:14:06 +02:00
connector
cpufreq
cpuidle Merge branch 'v28-range-hrtimers-for-linus-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2008-10-23 10:53:02 -07:00
crypto
dca device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
dio
dma Merge branch 'i7300_idle' into release 2008-10-25 04:07:44 -04:00
edac edac: fix enabling of polling cell module 2008-10-30 11:38:46 -07:00
eisa
firewire firewire: fw-sbp2: fix races 2008-10-26 10:27:01 +01:00
firmware drivers: replace NIPQUAD() 2008-10-31 00:56:00 -07:00
gpio mfd: twl4030-gpio driver 2008-10-22 01:19:39 +02:00
gpu Merge branch 'drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2008-10-23 10:18:40 -07:00
hid HID: add quirk entry for no-name keyboard (0x13ba/0x0017) 2008-10-30 01:06:13 +01:00
hwmon hwmon: (abituguru3) enable DMI probing feature on AW9D-MAX 2008-10-26 17:04:40 +01:00
i2c i2c-s3c2410: Correct use of ! and & 2008-10-30 15:55:47 +01:00
ide arm ide breakage 2008-10-26 09:35:05 -07:00
idle i7300_idle: Cleanup based review comments 2008-10-24 12:55:14 -04:00
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-10-16 15:02:24 -07:00
infiniband drivers: replace NIPQUAD() 2008-10-31 00:56:00 -07:00
input INPUT: sgi_btns: Add license specification 2008-10-27 16:18:28 +00:00
isdn net: easy removals of HIPQUAD using %pI4 format 2008-10-29 22:43:33 -07:00
leds leds: da903x: (da9030 only) led brightness reversed. 2008-10-30 22:14:10 +08:00
lguest
macintosh device create: misc: convert device_create_drvdata to device_create 2008-10-16 09:24:43 -07:00
mca
md Merge branch 'for-linus' of git://neil.brown.name/md 2008-10-30 18:36:16 -07:00
media net: convert more to %pM 2008-10-27 17:47:26 -07:00
memstick [PATCH] switch memstick 2008-10-21 07:48:33 -04:00
message Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-31 00:17:34 -07:00
mfd mfd: Make WM8400 depend on I2C until SPI is submitted 2008-10-24 18:34:39 +02:00
misc sgi-xp: only build for ia64-sn2 when CONFIG_IA64_GENERIC specified 2008-10-30 11:38:46 -07:00
mmc [ARM] 5322/1: Fix fastpath issue in mmci.c 2008-10-28 00:00:42 +00:00
mtd [PATCH] propagate mode through open_bdev_excl/close_bdev_excl 2008-10-21 07:49:00 -04:00
net bonding: send IPv6 neighbor advertisement on failover 2008-11-06 00:49:37 -05:00
nubus nubus: fix mis-indented statement 2008-10-16 11:21:30 -07:00
of Merge commit 'kumar/kumar-for-2.6.28' 2008-10-21 15:49:55 +11:00
oprofile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile 2008-10-23 10:05:40 -07:00
parisc [PATCH] introduce fmode_t, do annotations 2008-10-21 07:47:06 -04:00
parport Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
pci Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2008-10-30 12:09:44 -07:00
pcmcia Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-30 12:52:53 -07:00
pnp Merge branch 'linus' into test 2008-10-23 00:11:07 -04:00
power Merge git://git.infradead.org/battery-2.6 2008-10-20 09:44:30 -07:00
ps3 ps3: Add passthru support for non-audio streams 2008-10-20 08:05:15 +02:00
rapidio
regulator regulator: da903x regulator bug fix 2008-10-30 15:31:35 +00:00
rtc rtc S3C: add device_init_wakeup() invokation 2008-10-30 11:38:47 -07:00
s390 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-31 00:17:34 -07:00
sbus
scsi drivers: replace NIPQUAD() 2008-10-31 00:56:00 -07:00
serial [ARM] build fixes for netX serial driver 2008-10-30 09:41:59 +01:00
sh
sn
spi Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6 2008-10-16 12:40:26 -07:00
ssb Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-10-13 14:12:40 -07:00
staging staging: pcc_acpi: delete obsolete driver 2008-10-23 15:31:09 -04:00
tc
telephony phonedev: remove BKL 2008-10-20 08:52:36 -07:00
thermal
uio Merge branch 'bkl-removal' of git://git.lwn.net/linux-2.6 2008-10-20 13:42:14 -07:00
usb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-10-31 00:17:34 -07:00
uwb uwb: use the %pM formatting specifier in eda.c 2008-10-28 23:02:37 -07:00
video Merge master.kernel.org:/home/rmk/linux-2.6-arm 2008-10-30 16:16:39 -07:00
virtio
w1 x86: sysfs: kill owner field from attribute 2008-10-20 08:52:42 -07:00
watchdog [PATCH] Switch all my contributions stuff to a single common address 2008-10-28 19:16:11 +00:00
xen xen: compilation fix of drivers/xen/events.c on IA64 2008-10-23 21:54:37 +02:00
zorro
Kconfig regulator: Build on non-ARM platforms 2008-10-28 21:47:17 +00:00
Makefile Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb 2008-10-26 16:35:46 -07:00