]> www.infradead.org Git - users/jedix/linux-maple.git/commit
rds: ib: Fix gratuitous ARP storm
authorHåkon Bugge <haakon.bugge@oracle.com>
Thu, 7 Mar 2019 11:32:46 +0000 (12:32 +0100)
committerBrian Maly <brian.maly@oracle.com>
Tue, 21 May 2019 21:59:55 +0000 (17:59 -0400)
commit6e375ae2dabc2324d08bdd773dbb0f74643c02c5
tree58df89b7c6d40f3979e1a826af28ebab89d3b7a8
parentac58cab3aa497dcef6e9928e3d4e62a431d613ec
rds: ib: Fix gratuitous ARP storm

When the rds Active/Active bonding moves an address to another port,
it informs its peer by sending out 100 gratuitous ARPs (gARPs)
back-to-back.

The gARPs are broadcasts, so this mechanism may flood the fabric with
gARPs. These broadcasts may be dropped, and since the 100 gARPs for
one address are sent consecutive, all the gARPs for a particular
address may be lost.

Fixed by sending far less gARPs (3) and add some interval between them
(5 msec).

The module parameter rds_ib_active_bonding_arps_gap_ms has been
introduced. Both the existing rds_ib_active_bonding_arps and
rds_ib_active_bonding_arps_gap_ms are now writable.

The default values were
Suggested-by: Ka-Cheong Poon <ka-cheong.poon@oracle.com>
Orabug: 29391909

Signed-off-by: Håkon Bugge <haakon.bugge@oracle.com>
Tested-by: Rosa Lopez <rosa.lopez@oracle.com>
Reviewed-by: Sudhakar Dindukurti <sudhakar.dindukurti@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
net/rds/ib.c
net/rds/ib.h