OSDN Git Service

enetc: add support Credit Based Shaper(CBS) for hardware offload
authorPo Liu <po.liu@nxp.com>
Mon, 25 Nov 2019 05:56:56 +0000 (05:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Nov 2019 18:53:15 +0000 (10:53 -0800)
commitc431047c4efe7903fb1c5a23e0f3f8eb1efc89f9
tree03b2157b45851e8eab166609e2a267b5269f167f
parentbec170e55982c2d3b8e1beccadf16e288fe6fb5a
enetc: add support Credit Based Shaper(CBS) for hardware offload

The ENETC hardware support the Credit Based Shaper(CBS) which part
of the IEEE-802.1Qav. The CBS driver was loaded by the sch_cbs
interface when set in the QOS in the kernel.

Here is an example command to set 20Mbits bandwidth in 1Gbits port
for taffic class 7:

tc qdisc add dev eth0 root handle 1: mqprio \
   num_tc 8 map 0 1 2 3 4 5 6 7 hw 1

tc qdisc replace dev eth0 parent 1:8 cbs \
   locredit -1470 hicredit 30 \
   sendslope -980000 idleslope 20000 offload 1

Signed-off-by: Po Liu <Po.Liu@nxp.com>
Reviewed-by: Claudiu Manoil <claudiu.manoil@nxp.com>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/enetc/Kconfig
drivers/net/ethernet/freescale/enetc/enetc.c
drivers/net/ethernet/freescale/enetc/enetc.h
drivers/net/ethernet/freescale/enetc/enetc_hw.h
drivers/net/ethernet/freescale/enetc/enetc_qos.c