mbox series

[net-next,0/3] Basic QoS classification on Felix DSA switch using dcbnl

Message ID 20220311211520.2543260-1-vladimir.oltean@nxp.com (mailing list archive)
Headers show
Series Basic QoS classification on Felix DSA switch using dcbnl | expand

Message

Vladimir Oltean March 11, 2022, 9:15 p.m. UTC
Basic QoS classification for Ocelot switches means port-based default
priority, DSCP-based and VLAN PCP based. This is opposed to advanced QoS
classification which is done through the VCAP IS1 TCAM based engine.

The patch set is a logical continuation of this RFC which attempted to
describe the default-prio as a matchall entry placed at the end of a
series of offloaded tc filters:
https://patchwork.kernel.org/project/netdevbpf/cover/20210113154139.1803705-1-olteanv@gmail.com/

I have tried my best to satisfy the feedback that we should cater for
pre-configured QoS profiles. Ironically, the only pre-configured QoS
profile that the Felix switch driver has is for VLAN PCP (1:1 mapping
with QoS class), yet IEEE 802.1Q or dcbnl offer no mechanism for
reporting or changing that.

Testing was done with the iproute2 dcb app. The qos_class of packets was
dumped from net/dsa/tag_ocelot.c.

(1) $ dcb app show dev swp3
default-prio 0
(2) $ dcb app replace dev swp3 default-prio 3
(3) $ dcb app replace dev swp3 dscp-prio CS3:5
(4) $ dcb app replace dev swp3 dscp-prio CS2:2
(5) $ dcb app show dev swp3
default-prio 3
dscp-prio CS2:2 CS3:5

Traffic sent with "ping -Q 64 <ipaddr>", which means CS2.
These packets match qos_class 0 after command (1),
qos_class 3 after command (2),
qos_class 3 after command (3), and
qos_class 2 after command (2).

Vladimir Oltean (3):
  net: dsa: report and change port default priority using dcbnl
  net: dsa: report and change port dscp priority using dcbnl
  net: dsa: felix: configure default-prio and dscp priorities

 drivers/net/dsa/ocelot/felix.c     |  43 ++++++
 drivers/net/ethernet/mscc/ocelot.c | 116 +++++++++++++++
 include/net/dsa.h                  |  12 ++
 include/soc/mscc/ocelot.h          |   5 +
 net/dsa/slave.c                    | 223 +++++++++++++++++++++++++++++
 5 files changed, 399 insertions(+)

Comments

patchwork-bot+netdevbpf@kernel.org March 14, 2022, 11 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Fri, 11 Mar 2022 23:15:17 +0200 you wrote:
> Basic QoS classification for Ocelot switches means port-based default
> priority, DSCP-based and VLAN PCP based. This is opposed to advanced QoS
> classification which is done through the VCAP IS1 TCAM based engine.
> 
> The patch set is a logical continuation of this RFC which attempted to
> describe the default-prio as a matchall entry placed at the end of a
> series of offloaded tc filters:
> https://patchwork.kernel.org/project/netdevbpf/cover/20210113154139.1803705-1-olteanv@gmail.com/
> 
> [...]

Here is the summary with links:
  - [net-next,1/3] net: dsa: report and change port default priority using dcbnl
    https://git.kernel.org/netdev/net-next/c/d538eca85c2a
  - [net-next,2/3] net: dsa: report and change port dscp priority using dcbnl
    https://git.kernel.org/netdev/net-next/c/47d75f782206
  - [net-next,3/3] net: dsa: felix: configure default-prio and dscp priorities
    https://git.kernel.org/netdev/net-next/c/978777d0fb06

You are awesome, thank you!