Currently, master devices (bonding, bridge, team) manually call netdev_compute_master_upper_features() scattered throughout their port add/remove operations. This approach requires each driver to remember to update features at the right times and leads to code duplication.
The series moves netdev_compute_master_upper_features() to callback ndo_set_features so that the offload compute could automatically invoked during feature updates when upper/lower device relationships change. This centralizes the feature computation flow and removes the burden from individual drivers. --- Changes in v2: - Fix macsec Security Entity uninitialized issue (Sabrina Dubroca) - Tested with macsec-offload-sh, rtnetlink-sh, link-netns-py, all pssed - Link to v1: https://lore.kernel.org/r/[email protected] --- Hangbin Liu (4): net: use ndo_set_features to set offload features for bonding/bridge/team macsec: move netdev_upper_dev_link() after macsec_changelink_common() failover: use ndo_set_features for failover offload compute net: no need to disable LRO specifically drivers/net/bonding/bond_main.c | 14 +++++---- drivers/net/macsec.c | 23 +++++++------- drivers/net/net_failover.c | 67 +++++------------------------------------ drivers/net/team/team_core.c | 15 ++++----- include/net/net_failover.h | 7 ----- net/8021q/vlan.c | 2 -- net/bridge/br_device.c | 7 +++++ net/bridge/br_if.c | 6 ---- net/core/dev.c | 8 +++-- net/hsr/hsr_slave.c | 1 - 10 files changed, 49 insertions(+), 101 deletions(-) --- base-commit: 06fc88a6973fa6203c7c0cd3f5cef9d3405928ca change-id: 20260310-offload_compute-4c0bafa2e022 Best regards, -- Hangbin Liu <[email protected]>

