octeontx2-pf: TC_MATCHALL ingress ratelimiting offload
authorSunil Goutham <sgoutham@marvell.com>
Tue, 15 Jun 2021 11:34:29 +0000 (17:04 +0530)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Jun 2021 18:11:05 +0000 (11:11 -0700)
commit2ca89a2c37527221edc549ffd3b65c6f8d9d4088
tree9833e22a67e2e8b049b64426e1d47420eb82b18a
parente7d8971763f3e7f12d9f9933faf6bd4912538d85
octeontx2-pf: TC_MATCHALL ingress ratelimiting offload

Add TC_MATCHALL ingress ratelimiting offload support with POLICE
action for entire traffic coming into the interface.

Eg: To ratelimit ingress traffic to 100Mbps

$ ethtool -K eth0 hw-tc-offload on
$ tc qdisc add dev eth0 clsact
$ tc filter add dev eth0 ingress matchall skip_sw \
                action police rate 100Mbit burst 32Kbit

To support this, a leaf level bandwidth profile is allocated and all
RQs' contexts used by this interface are updated to point to it.
And the leaf level bandwidth profile is configured with user specified
rate and burst sizes.

Co-developed-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.c
drivers/net/ethernet/marvell/octeontx2/nic/cn10k.h
drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h
drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c
drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c