Merge branch 'bonding-fix-the-initial-last_rx-seed-for-the-arp-monitor' Ramses de Norre says: ==================== bonding: fix the initial last_rx seed for the ARP monitor bond_enslave() seeds a new slave's last_rx before it has received anything. The ARP monitor checks that seed with an up test for a slave that starts DOWN, and with a down test for a slave that starts UP. The seed is wrong for both. Patch 1 fixes a slave that starts DOWN. Since the up test gained arp_interval/2 of slack, the seed falls inside the up window, so the slave is reported UP for half an interval without having received anything. Patch 2 fixes a slave that starts UP. The seed brings its down deadline forward by one interval compared to what arp_missed_max implies. In load-balance mode, which has no grace period after enslavement, a healthy slave can flap DOWN with arp_missed_max=1. Both patches only cover a slave enslaved while the ARP monitor is running. The seed is not refreshed when the monitor starts later, from bond_open() or when arp_interval is set at runtime. That predates this series, I will address it in a separate follow-up. ==================== Link: https://patch.msgid.link/20261030-bonding-last-rx-v5-0-0b9b653f2f94@well-founded.dev Signed-off-by: Jakub Kicinski <kuba@kernel.org>