On Tue, 11 Feb 2025 16:20:26 -0800
Jakub Kicinski [off-list ref] wrote:
On Fri, 7 Feb 2025 13:55:37 -0800 longli@linuxonhyperv.com wrote:
quoted
On Hyper-V platforms, a slave VF netdev always bonds to Netvsc and remains
as Netvsc's only active slave as long as the slave device is present. This
behavior is the same as a bonded device, but it's not user-configurable.
Some kernel APIs (e.g those in "include/linux/netdevice.h") check for
IFF_MASTER, IFF_SLAVE and IFF_BONDING for determing if those are used in
a master/slave bonded setup. Netvsc's bonding setup with its slave device
falls into this category.
Again, this is way too much of a hack. You're trying to make
netif_is_bond_master() return true for your franken-interfaces
with minimal effort.
Agree but disagree as to reasoning.
The way bonding is handled in the kernel internal API's is ad-hoc.
Really a better solution is needed.
The real problem is in any code (other than the bonding driver itself)
looking at IFF_BONDING is broken. All that code won't work if used over team
or failover devices (luckily no one ever seems to use them).