Skip to content

switchdev: push bridge attributes down

[email protected] netdev 2 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest4 patches 3 repliesIn review
  2. v14 patches 11 repliesSuperseded

Patches in v2 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4switchdev: add bridge attributesinclude/net/switchdev.h include/uapi/linux/if_link.h+6 -13 replies
2/4switchdev: skip over ports returning -EOPNOTSUPP when recursing portsinclude/net/switchdev.h net/switchdev/switchdev.c+9 -10 replies
3/4bridge: push bridge setting ageing_time down to switchdevnet/bridge/br_ioctl.c net/bridge/br_netlink.c net/bridge/br_private.h +2 more+30 -70 replies
4/4rocker: handle setting bridge ageing_timedrivers/net/ethernet/rocker/rocker.c+22 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCH net-next v2 0/4] switchdev: push bridge attributes down

From: Scott Feldman <[email protected]>

Push bridge-level attributes down to switchdev drivers. This patchset adds the infrastructure and then pushes, as an example, ageing_time attribute down from bridge to switchdev (rocker) driver. Add some range-checking for ageing_time.

# ip link set dev br0 type bridge ageing_time 1000
# ip link set dev br0 type bridge ageing_time 999
RTNETLINK answers: Numerical result out of range

Up until now, switchdev attrs where port-level attrs, so the netdev used in switchdev_attr_set() would be a switch port or bond of switch ports. With bridge-level attrs, the netdev passed to switchdev_attr_set() is the bridge netdev. The same recusive algo is used to visit the leaves of the stacked drivers to set the attr, it's just in this case we start one layer higher in the stack. One note is not all ports in the bridge may support setting a bridge-level attribute, so rather than failing the entire set, we'll skip over those ports returning -EOPNOTSUPP.

v1->v2: rebase w/ net-next

Scott Feldman (4):
switchdev: add bridge attributes
switchdev: skip over ports returning -EOPNOTSUPP when recursing ports
bridge: push bridge setting ageing_time down to switchdev
rocker: handle setting bridge ageing_time

 drivers/net/ethernet/rocker/rocker.c |   22 ++++++++++++++++++++++
 include/net/switchdev.h              |    6 ++++++
 include/uapi/linux/if_link.h         |    2 +-
 net/bridge/br_ioctl.c                |    3 +--
 net/bridge/br_netlink.c              |    6 +++---
 net/bridge/br_private.h              |    1 +
 net/bridge/br_stp.c                  |   24 ++++++++++++++++++++++++
 net/bridge/br_sysfs_br.c             |    3 +--
 net/switchdev/switchdev.c            |    9 ++++++++-
 9 files changed, 67 insertions(+), 9 deletions(-)
Signature · 1 line
1.7.10.4