Subject: [PATCH net-next 0/1] veth: Support bonding events

From: Alexandra Winter <[email-masked]>
Date: Mon, 28 Mar 2022 10:14:16 +0200

In case virtual instances are attached to an external network via veth
and a bridge, the interface to the external network can be a bond
interface. Bonding drivers generate specific events during failover
that trigger switch updates.  When a veth device is attached to a
bridge with a bond interface, we want external switches to learn about
the veth devices as well.

Without this patch we have seen cases where recovery after bond
failover took an unacceptable amount of time (depending on timeout
settings in the network).

Due to the symmetric nature of veth special care is required to avoid
endless notification loops. Therefore we only notify from a veth
bridgeport to a peer that is not a bridgeport.

References:
Same handling as for macvlan:
4c9912556867 ("macvlan: Support bonding events"
and vlan:
4aa5dee4d999 ("net: convert resend IGMP to notifier event")

Alternatives:
Propagate notifier events to all ports of a bridge. IIUC, this was
rejected in https://www.spinics.net/lists/netdev/msg717292.html
It also seems difficult to avoid re-bouncing the notifier.

Alexandra Winter (1):
  veth: Support bonding events

 drivers/net/veth.c | 53 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

-- 
2.32.0