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>