Subject: Re: Any reason why arp monitor keeps emitting netlink failover events?

From: Jay Vosburgh <[email-masked]>
Date: Thu, 16 Jun 2022 11:52:59 -0700

Jonathan Toppins <[email-masked]> wrote:

[...]
>Now this exposes an easily reproducible bonding issue with
>bond_should_notify_peers() which is every second the bond issues a
>NOTIFY_PEERS event. This notify peers event issue has been observed on
>physical hardware (tg3, i40e, igb) drivers. I have not traced the code
>yet, wanted to point this out. Run the same reproducer script and start
>monitoring the bond;
>
>[root@fedora ~]# ip -ts -o monitor link dev bond0
>[2022-06-15T11:30:44.337568] 9: bond0:
><BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
>group default event NOTIFY PEERS \    link/ether ce:d3:22:ef:13:d0 brd
>ff:ff:ff:ff:ff:ff
>[2022-06-15T11:30:45.361381] 9: bond0:
><BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
>group default event NOTIFY PEERS \    link/ether ce:d3:22:ef:13:d0 brd
>ff:ff:ff:ff:ff:ff
[...]

	This one is pretty straightforward; the ARP monitor logic never
decrements the counter for the number of notifications to send (but the
change active logic decrements once, so a failover makes it stop if the
number of notifications to send is one).  I'll submit a patch in a bit.

	-J

---
	-Jay Vosburgh, [email-masked]