From: Vladimir Oltean <vladimir.oltean@nxp.com>
To: netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Jamal Hadi Salim <jhs@mojatatu.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
Jiri Pirko <jiri@resnulli.us>,
Vinicius Costa Gomes <vinicius.gomes@intel.com>,
Kurt Kanzenbach <kurt@linutronix.de>,
Gerhard Engleder <gerhard@engleder-embedded.com>,
Amritha Nambiar <amritha.nambiar@intel.com>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
UNGLinuxDriver@microchip.com, Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Ferenc Fejes <ferenc.fejes@ericsson.com>,
Xiaoliang Yang <xiaoliang.yang_1@nxp.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH net-next 00/12] Add tc-mqprio and tc-taprio support for preemptible traffic classes
Date: Fri, 17 Feb 2023 01:21:14 +0200 [thread overview]
Message-ID: <20230216232126.3402975-1-vladimir.oltean@nxp.com> (raw)
The last RFC in August 2022 contained a proposal for the UAPI of both
TSN standards which together form Frame Preemption (802.1Q and 802.3):
https://patchwork.kernel.org/project/netdevbpf/cover/20220816222920.1952936-1-vladimir.oltean@nxp.com/
It wasn't clear at the time whether the 802.1Q portion of Frame Preemption
should be exposed via the tc qdisc (mqprio, taprio) or via some other
layer (perhaps also ethtool like the 802.3 portion).
So the 802.3 portion got submitted separately and finally was accepted:
https://patchwork.kernel.org/project/netdevbpf/cover/20230119122705.73054-1-vladimir.oltean@nxp.com/
leaving the only remaining question: how do we expose the 802.1Q bits?
This series proposes that we use the Qdisc layer, through separate
(albeit very similar) UAPI in mqprio and taprio, and that both these
Qdiscs pass the information down to the offloading device driver through
the common mqprio offload structure (which taprio also passes).
Implementations are provided for the NXP LS1028A on-board Ethernet
(enetc, felix).
Some patches should have maybe belonged to separate series, leaving here
only patches 09/12 - 12/12, for ease of review. That may be true,
however due to a perceived lack of time to wait for the prerequisite
cleanup to be merged, here they are all together.
Vladimir Oltean (12):
net: enetc: rename "mqprio" to "qopt"
net: mscc: ocelot: add support for mqprio offload
net: dsa: felix: act upon the mqprio qopt in taprio offload
net: ethtool: fix __ethtool_dev_mm_supported() implementation
net: ethtool: create and export ethtool_dev_mm_supported()
net/sched: mqprio: simplify handling of nlattr portion of TCA_OPTIONS
net/sched: mqprio: add extack to mqprio_parse_nlattr()
net/sched: mqprio: add an extack message to mqprio_parse_opt()
net/sched: mqprio: allow per-TC user input of FP adminStatus
net/sched: taprio: allow per-TC user input of FP adminStatus
net: mscc: ocelot: add support for preemptible traffic classes
net: enetc: add support for preemptible traffic classes
drivers/net/dsa/ocelot/felix_vsc9959.c | 44 ++++-
drivers/net/ethernet/freescale/enetc/enetc.c | 31 ++-
drivers/net/ethernet/freescale/enetc/enetc.h | 1 +
.../net/ethernet/freescale/enetc/enetc_hw.h | 4 +
drivers/net/ethernet/mscc/ocelot.c | 51 +++++
drivers/net/ethernet/mscc/ocelot.h | 2 +
drivers/net/ethernet/mscc/ocelot_mm.c | 56 ++++++
include/linux/ethtool_netlink.h | 6 +
include/net/pkt_sched.h | 1 +
include/soc/mscc/ocelot.h | 6 +
include/uapi/linux/pkt_sched.h | 17 ++
net/ethtool/mm.c | 24 ++-
net/sched/sch_mqprio.c | 182 +++++++++++++++---
net/sched/sch_mqprio_lib.c | 14 ++
net/sched/sch_mqprio_lib.h | 2 +
net/sched/sch_taprio.c | 65 +++++--
16 files changed, 459 insertions(+), 47 deletions(-)
--
2.34.1
next reply other threads:[~2023-02-16 23:21 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-16 23:21 Vladimir Oltean [this message]
2023-02-16 23:21 ` [PATCH net-next 01/12] net: enetc: rename "mqprio" to "qopt" Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 02/12] net: mscc: ocelot: add support for mqprio offload Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 03/12] net: dsa: felix: act upon the mqprio qopt in taprio offload Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 04/12] net: ethtool: fix __ethtool_dev_mm_supported() implementation Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 05/12] net: ethtool: create and export ethtool_dev_mm_supported() Vladimir Oltean
2023-02-17 13:00 ` Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 06/12] net/sched: mqprio: simplify handling of nlattr portion of TCA_OPTIONS Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 07/12] net/sched: mqprio: add extack to mqprio_parse_nlattr() Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 08/12] net/sched: mqprio: add an extack message to mqprio_parse_opt() Vladimir Oltean
2023-02-17 7:24 ` Ferenc Fejes
2023-02-20 10:47 ` Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 09/12] net/sched: mqprio: allow per-TC user input of FP adminStatus Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 10/12] net/sched: taprio: " Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 11/12] net: mscc: ocelot: add support for preemptible traffic classes Vladimir Oltean
2023-02-16 23:21 ` [PATCH net-next 12/12] net: enetc: " Vladimir Oltean
2023-02-18 15:20 ` [PATCH net-next 00/12] Add tc-mqprio and tc-taprio " Vladimir Oltean
2023-02-19 9:47 ` Ferenc Fejes
2023-02-19 12:58 ` Vladimir Oltean
2023-02-20 8:11 ` Ferenc Fejes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230216232126.3402975-1-vladimir.oltean@nxp.com \
--to=vladimir.oltean@nxp.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=amritha.nambiar@intel.com \
--cc=andrew@lunn.ch \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=ferenc.fejes@ericsson.com \
--cc=gerhard@engleder-embedded.com \
--cc=jhs@mojatatu.com \
--cc=jiri@resnulli.us \
--cc=kuba@kernel.org \
--cc=kurt@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=vinicius.gomes@intel.com \
--cc=xiaoliang.yang_1@nxp.com \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox