On Tue, 11 Feb 2025 16:20:26 -0800 Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > On Fri, 7 Feb 2025 13:55:37 -0800 longli@xxxxxxxxxxxxxxxxx wrote: > > 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).