From: Vincent Bernat <vinc...@bernat.ch> Date: Tue, 2 Jul 2019 19:43:54 +0200
> Currently, gratuitous ARP/ND packets are sent every `miimon' > milliseconds. This commit allows a user to specify a custom delay > through a new option, `peer_notif_delay'. > > Like for `updelay' and `downdelay', this delay should be a multiple of > `miimon' to avoid managing an additional work queue. The configuration > logic is copied from `updelay' and `downdelay'. However, the default > value cannot be set using a module parameter: Netlink or sysfs should > be used to configure this feature. > > When setting `miimon' to 100 and `peer_notif_delay' to 500, we can > observe the 500 ms delay is respected: > > 20:30:19.354693 ARP, Request who-has 203.0.113.10 tell 203.0.113.10, > length 28 > 20:30:19.874892 ARP, Request who-has 203.0.113.10 tell 203.0.113.10, > length 28 > 20:30:20.394919 ARP, Request who-has 203.0.113.10 tell 203.0.113.10, > length 28 > 20:30:20.914963 ARP, Request who-has 203.0.113.10 tell 203.0.113.10, > length 28 > > In bond_mii_monitor(), I have tried to keep the lock logic readable. > The change is due to the fact we cannot rely on a notification to > lower the value of `bond->send_peer_notif' as `NETDEV_NOTIFY_PEERS' is > only triggered once every N times, while we need to decrement the > counter each time. > > iproute2 also needs to be updated to be able to specify this new > attribute through `ip link'. > > Signed-off-by: Vincent Bernat <vinc...@bernat.ch> Applied, thanks.