https://github.com/torvalds/linux
Revision a816c7c712ff9f6770168b91facb9bfa9f0acd48 authored by Jay Vosburgh on 01 March 2007, 01:03:37 UTC, committed by Jeff Garzik on 06 March 2007, 11:08:11 UTC
	In active-backup mode, the current bonding code duplicates IGMP
traffic to all slaves, so that switches are up to date in case of a
failover from an active to a backup interface.  If bonding then fails
back to the original active interface, it is likely that the "active
slave" switch's IGMP forwarding for the port will be out of date until
some event occurs to refresh the switch (e.g., a membership query).

	This patch alters the behavior of bonding to no longer flood
IGMP to all ports, and to issue IGMP JOINs to the newly active port at
the time of a failover.  This insures that switches are kept up to date
for all cases.

	"GOELLESCH Niels" <niels.goellesch@eurocontrol.int> originally
reported this problem, and included a patch.  His original patch was
modified by Jay Vosburgh to additionally remove the existing IGMP flood
behavior, use RCU, streamline code paths, fix trailing white space, and
adjust for style.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
1 parent e245cb7
History
Tip revision: a816c7c712ff9f6770168b91facb9bfa9f0acd48 authored by Jay Vosburgh on 01 March 2007, 01:03:37 UTC
bonding: Improve IGMP join processing
Tip revision: a816c7c
File Mode Size
reed_solomon
zlib_deflate
zlib_inflate
.gitignore -rw-r--r-- 51 bytes
Kconfig -rw-r--r-- 2.1 KB
Kconfig.debug -rw-r--r-- 15.3 KB
Makefile -rw-r--r-- 2.1 KB
audit.c -rw-r--r-- 1020 bytes
bitmap.c -rw-r--r-- 24.0 KB
bitrev.c -rw-r--r-- 2.1 KB
bug.c -rw-r--r-- 4.0 KB
bust_spinlocks.c -rw-r--r-- 582 bytes
cmdline.c -rw-r--r-- 3.5 KB
cpumask.c -rw-r--r-- 609 bytes
crc-ccitt.c -rw-r--r-- 3.0 KB
crc16.c -rw-r--r-- 2.8 KB
crc32.c -rw-r--r-- 15.0 KB
crc32defs.h -rw-r--r-- 1.0 KB
ctype.c -rw-r--r-- 1.3 KB
debug_locks.c -rw-r--r-- 1.1 KB
dec_and_lock.c -rw-r--r-- 806 bytes
devres.c -rw-r--r-- 6.5 KB
div64.c -rw-r--r-- 1.3 KB
dump_stack.c -rw-r--r-- 290 bytes
extable.c -rw-r--r-- 1.9 KB
fault-inject.c -rw-r--r-- 7.6 KB
find_next_bit.c -rw-r--r-- 4.3 KB
gen_crc32table.c -rw-r--r-- 1.8 KB
genalloc.c -rw-r--r-- 5.3 KB
halfmd4.c -rw-r--r-- 2.0 KB
hweight.c -rw-r--r-- 1.6 KB
idr.c -rw-r--r-- 10.9 KB
inflate.c -rw-r--r-- 37.0 KB
int_sqrt.c -rw-r--r-- 533 bytes
iomap.c -rw-r--r-- 6.8 KB
iomap_copy.c -rw-r--r-- 2.1 KB
ioremap.c -rw-r--r-- 2.1 KB
irq_regs.c -rw-r--r-- 578 bytes
kernel_lock.c -rw-r--r-- 4.6 KB
klist.c -rw-r--r-- 6.8 KB
kobject.c -rw-r--r-- 14.3 KB
kobject_uevent.c -rw-r--r-- 7.8 KB
kref.c -rw-r--r-- 1.6 KB
libcrc32c.c -rw-r--r-- 6.5 KB
list_debug.c -rw-r--r-- 2.0 KB
locking-selftest-hardirq.h -rw-r--r-- 207 bytes
locking-selftest-mutex.h -rw-r--r-- 120 bytes
locking-selftest-rlock-hardirq.h -rw-r--r-- 74 bytes
locking-selftest-rlock-softirq.h -rw-r--r-- 74 bytes
locking-selftest-rlock.h -rw-r--r-- 158 bytes
locking-selftest-rsem.h -rw-r--r-- 163 bytes
locking-selftest-softirq.h -rw-r--r-- 207 bytes
locking-selftest-spin-hardirq.h -rw-r--r-- 73 bytes
locking-selftest-spin-softirq.h -rw-r--r-- 73 bytes
locking-selftest-spin.h -rw-r--r-- 118 bytes
locking-selftest-wlock-hardirq.h -rw-r--r-- 74 bytes
locking-selftest-wlock-softirq.h -rw-r--r-- 74 bytes
locking-selftest-wlock.h -rw-r--r-- 158 bytes
locking-selftest-wsem.h -rw-r--r-- 163 bytes
locking-selftest.c -rw-r--r-- 28.6 KB
parser.c -rw-r--r-- 5.8 KB
percpu_counter.c -rw-r--r-- 964 bytes
plist.c -rw-r--r-- 2.8 KB
prio_tree.c -rw-r--r-- 12.2 KB
radix-tree.c -rw-r--r-- 25.1 KB
random32.c -rw-r--r-- 3.6 KB
rbtree.c -rw-r--r-- 8.6 KB
reciprocal_div.c -rw-r--r-- 159 bytes
rwsem-spinlock.c -rw-r--r-- 6.9 KB
rwsem.c -rw-r--r-- 6.4 KB
semaphore-sleepers.c -rw-r--r-- 4.7 KB
sha1.c -rw-r--r-- 2.4 KB
smp_processor_id.c -rw-r--r-- 1.1 KB
sort.c -rw-r--r-- 2.5 KB
spinlock_debug.c -rw-r--r-- 6.8 KB
string.c -rw-r--r-- 12.4 KB
swiotlb.c -rw-r--r-- 25.0 KB
textsearch.c -rw-r--r-- 9.2 KB
ts_bm.c -rw-r--r-- 4.9 KB
ts_fsm.c -rw-r--r-- 10.5 KB
ts_kmp.c -rw-r--r-- 3.8 KB
vsprintf.c -rw-r--r-- 18.8 KB

back to top