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 adds a new ndo_update_offloads callback that is 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 v3:
- ndo_set_features may be skipped when no feature change, fallback to
  use ndo_update_offloads for offload computation (Simon Horman)
- Link to v2: 
https://lore.kernel.org/r/[email protected]

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 (5):
      net: add ndo_update_offloads for offload computation
      net: use ndo_update_offloads to set offload features for 
bonding/bridge/team
      macsec: move netdev_upper_dev_link() after macsec_changelink_common()
      failover: use ndo_update_offloads for failover offload compute
      net: no need to disable LRO specifically

 drivers/net/bonding/bond_main.c | 13 ++++----
 drivers/net/macsec.c            | 23 +++++++-------
 drivers/net/net_failover.c      | 66 +++++------------------------------------
 drivers/net/team/team_core.c    | 14 ++++-----
 include/linux/netdevice.h       |  7 +++++
 include/net/net_failover.h      |  7 -----
 net/8021q/vlan.c                |  2 --
 net/bridge/br_device.c          |  6 ++++
 net/bridge/br_if.c              |  6 ----
 net/core/dev.c                  | 11 +++++--
 net/hsr/hsr_slave.c             |  1 -
 11 files changed, 55 insertions(+), 101 deletions(-)
---
base-commit: 5446b8691eb8278f10deca92048fad84ffd1e4d5
change-id: 20260310-offload_compute-4c0bafa2e022

Best regards,
-- 
Hangbin Liu <[email protected]>


Reply via email to