[PATCH net-next v3 0/5] net: centralize master device offload feature computation
From: Hangbin Liu
Date: Mon Mar 16 2026 - 00:27:18 EST
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/20260313-offload_compute-v2-0-ffbc8ce5d50c@xxxxxxxxx
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/20260310-offload_compute-v1-0-3df79c09ea65@xxxxxxxxx
---
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 <liuhangbin@xxxxxxxxx>