[PATCH net-next v2 0/4] net: mvneta: mqprio cleanups and shaping support

From: Maxime Chevallier
Date: Fri Nov 26 2021 - 06:23:05 EST


Hello everyone,

This is the second version of the series that adds some improvements to the
existing mqprio implementation in mvneta, and adds support for
egress shaping offload.

The first 3 patches are some minor cleanups, such as using the
tc_mqprio_qopt_offload structure to get access to more offloading
options, cleaning the logic to detect whether or not we should offload
mqprio setting, and allowing to have a 1 to N mapping between TCs and
queues.

The last patch adds traffic shaping offload, using mvneta's per-queue
token buckets, allowing to limit rates from 10Kbps up to 5Gbps with
10Kbps increments.

This was tested only on an Armada 3720, with traffic up to 2.5Gbps.

Changes since V1 fixes the build for 32bits kernels, using the right
div helpers as suggested by Jakub.

Maxime Chevallier (4):
net: mvneta: Use struct tc_mqprio_qopt_offload for MQPrio
configuration
net: mvneta: Don't force-set the offloading flag
net: mvneta: Allow having more than one queue per TC
net: mvneta: Add TC traffic shaping offload

drivers/net/ethernet/marvell/mvneta.c | 160 +++++++++++++++++++++++---
1 file changed, 144 insertions(+), 16 deletions(-)

--
2.25.4