[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210210010213.27553-1-george.mccollister@gmail.com>
Date: Tue, 9 Feb 2021 19:02:09 -0600
From: George McCollister <george.mccollister@...il.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Vladimir Oltean <olteanv@...il.com>,
Tobias Waldekranz <tobias@...dekranz.com>,
Jonathan Corbet <corbet@....net>, netdev@...r.kernel.org,
George McCollister <george.mccollister@...il.com>
Subject: [PATCH net-next v3 0/4] add HSR offloading support for DSA switches
Add support for offloading HSR/PRP (IEC 62439-3) tag insertion, tag
removal, forwarding and duplication on DSA switches.
This series adds offloading to the xrs700x DSA driver.
Changes since RFC:
* Split hsr and dsa patches. (Florian Fainelli)
Changes since v1:
* Fixed some typos/wording. (Vladimir Oltean)
* eliminate IFF_HSR and use is_hsr_master instead. (Vladimir Oltean)
* Make hsr_handle_sup_frame handle skb_std as well (required when offloading)
* Don't add hsr tag for HSR v0 supervisory frames.
* Fixed tag insertion offloading for PRP.
Changes since v2:
* Return -EOPNOTSUPP instead of 0 in dsa_switch_hsr_join and
dsa_switch_hsr_leave. (Vladimir Oltean)
* Only allow ports 1 and 2 to be HSR/PRP redundant ports. (Tobias Waldekranz)
* Set and remove HSR features for both redundant ports. (Vladimir Oltean)
* Change port_hsr_leave() to return int instead of void.
* Remove hsr_init_skb() proto argument. (Vladimir Oltean)
George McCollister (4):
net: hsr: generate supervision frame without HSR/PRP tag
net: hsr: add offloading support
net: dsa: add support for offloading HSR
net: dsa: xrs700x: add HSR offloading support
Documentation/networking/netdev-features.rst | 21 +++++
drivers/net/dsa/xrs700x/xrs700x.c | 121 +++++++++++++++++++++++++++
drivers/net/dsa/xrs700x/xrs700x_reg.h | 5 ++
include/linux/if_hsr.h | 27 ++++++
include/linux/netdev_features.h | 9 ++
include/net/dsa.h | 13 +++
net/dsa/dsa_priv.h | 11 +++
net/dsa/port.c | 34 ++++++++
net/dsa/slave.c | 14 ++++
net/dsa/switch.c | 24 ++++++
net/dsa/tag_xrs700x.c | 7 +-
net/ethtool/common.c | 4 +
net/hsr/hsr_device.c | 53 +++---------
net/hsr/hsr_device.h | 1 -
net/hsr/hsr_forward.c | 35 +++++++-
net/hsr/hsr_forward.h | 1 +
net/hsr/hsr_framereg.c | 2 +
net/hsr/hsr_main.c | 11 +++
net/hsr/hsr_main.h | 8 +-
net/hsr/hsr_slave.c | 10 ++-
20 files changed, 351 insertions(+), 60 deletions(-)
create mode 100644 include/linux/if_hsr.h
--
2.11.0
Powered by blists - more mailing lists