Message ID | 20210115021120.3055988-1-olteanv@gmail.com (mailing list archive) |
---|---|
Headers | show |
Series | Configuring congestion watermarks on ocelot switch using devlink-sb | expand |
Hello: This series was applied to netdev/net-next.git (refs/heads/master): On Fri, 15 Jan 2021 04:11:10 +0200 you wrote: > From: Vladimir Oltean <vladimir.oltean@nxp.com> > > In some applications, it is important to create resource reservations in > the Ethernet switches, to prevent background traffic, or deliberate > attacks, from inducing denial of service into the high-priority traffic. > > These patches give the user some knobs to turn. The ocelot switches > support per-port and per-port-tc reservations, on ingress and on egress. > The resources that are monitored are packet buffers (in cells of 60 > bytes each) and frame references. > > [...] Here is the summary with links: - [v6,net-next,01/10] net: mscc: ocelot: auto-detect packet buffer size and number of frame references https://git.kernel.org/netdev/net-next/c/f6fe01d6fa24 - [v6,net-next,02/10] net: mscc: ocelot: add ops for decoding watermark threshold and occupancy https://git.kernel.org/netdev/net-next/c/703b762190e6 - [v6,net-next,03/10] net: dsa: add ops for devlink-sb https://git.kernel.org/netdev/net-next/c/2a6ef7630372 - [v6,net-next,04/10] net: dsa: felix: reindent struct dsa_switch_ops https://git.kernel.org/netdev/net-next/c/a7096915e427 - [v6,net-next,05/10] net: dsa: felix: perform teardown in reverse order of setup https://git.kernel.org/netdev/net-next/c/d19741b0f544 - [v6,net-next,06/10] net: mscc: ocelot: export NUM_TC constant from felix to common switch lib https://git.kernel.org/netdev/net-next/c/70d39a6e62d3 - [v6,net-next,07/10] net: mscc: ocelot: delete unused ocelot_set_cpu_port prototype https://git.kernel.org/netdev/net-next/c/c6c65d47ddeb - [v6,net-next,08/10] net: mscc: ocelot: register devlink ports https://git.kernel.org/netdev/net-next/c/6c30384eb1de - [v6,net-next,09/10] net: mscc: ocelot: initialize watermarks to sane defaults https://git.kernel.org/netdev/net-next/c/a4ae997adcbd - [v6,net-next,10/10] net: mscc: ocelot: configure watermarks using devlink-sb https://git.kernel.org/netdev/net-next/c/f59fd9cab730 You are awesome, thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/patchwork/pwbot.html
From: Vladimir Oltean <vladimir.oltean@nxp.com> In some applications, it is important to create resource reservations in the Ethernet switches, to prevent background traffic, or deliberate attacks, from inducing denial of service into the high-priority traffic. These patches give the user some knobs to turn. The ocelot switches support per-port and per-port-tc reservations, on ingress and on egress. The resources that are monitored are packet buffers (in cells of 60 bytes each) and frame references. The frames that exceed the reservations can optionally consume from sharing watermarks which are not per-port but global across the switch. There are 10 sharing watermarks, 8 of them are per traffic class and 2 are per drop priority. I am configuring the hardware using the best of my knowledge, and mostly through trial and error. Same goes for devlink-sb integration. Feedback is welcome. Vladimir Oltean (10): net: mscc: ocelot: auto-detect packet buffer size and number of frame references net: mscc: ocelot: add ops for decoding watermark threshold and occupancy net: dsa: add ops for devlink-sb net: dsa: felix: reindent struct dsa_switch_ops net: dsa: felix: perform teardown in reverse order of setup net: mscc: ocelot: export NUM_TC constant from felix to common switch lib net: mscc: ocelot: delete unused ocelot_set_cpu_port prototype net: mscc: ocelot: register devlink ports net: mscc: ocelot: initialize watermarks to sane defaults net: mscc: ocelot: configure watermarks using devlink-sb drivers/net/dsa/ocelot/felix.c | 205 ++++- drivers/net/dsa/ocelot/felix.h | 2 - drivers/net/dsa/ocelot/felix_vsc9959.c | 23 +- drivers/net/dsa/ocelot/seville_vsc9953.c | 20 +- drivers/net/ethernet/mscc/Makefile | 3 +- drivers/net/ethernet/mscc/ocelot.c | 18 +- drivers/net/ethernet/mscc/ocelot.h | 10 +- drivers/net/ethernet/mscc/ocelot_devlink.c | 885 +++++++++++++++++++++ drivers/net/ethernet/mscc/ocelot_net.c | 206 ++++- drivers/net/ethernet/mscc/ocelot_vsc7514.c | 143 +++- include/net/dsa.h | 34 + include/soc/mscc/ocelot.h | 55 +- include/soc/mscc/ocelot_qsys.h | 7 +- net/dsa/dsa2.c | 159 +++- 14 files changed, 1662 insertions(+), 108 deletions(-) create mode 100644 drivers/net/ethernet/mscc/ocelot_devlink.c