net/hns3: fix traffic management
authorHuisong Li <lihuisong@huawei.com>
Mon, 21 Jun 2021 07:38:45 +0000 (15:38 +0800)
committerAndrew Rybchenko <Andrew.Rybchenko@oktetlabs.ru>
Fri, 2 Jul 2021 17:03:03 +0000 (19:03 +0200)
commitfc18d1b4b85f9dcda468d4a424b668d0d8724382
treef69bda749b47815cf5e24ec974753434f092cf5a
parent0b3c74b9f7f6a935af257f7be590323694e23873
net/hns3: fix traffic management

In a multi-TC scenario, if the length of packets destined for different
TCs is different, for example, 64B and 1500B packets destined for TC0 and
TC1 respectively. There is a problem that the bandwidth of the TC to which
large packets are sent is preempted by the TC to which small packets are
sent on the Kunpeng 920 network engine. As a result, the TC bandwidth
accuracy is inaccurate.

To solve this problem, this patch made the following adjustments:
1/ During initialization, firmware reports the capability bit indicating
whether the TM function is supported.
2/ The command word for configuring TC and port rate limiting is added,
instead of reusing the existing command word. And firmware configured
to the correct module.
3/ When the PF driver is loaded, firmware completes the default
initialization of the TC and port.

Fixes: c09c7847d892 ("net/hns3: support traffic management")
Cc: stable@dpdk.org
Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
drivers/net/hns3/hns3_cmd.c
drivers/net/hns3/hns3_cmd.h
drivers/net/hns3/hns3_dcb.c
drivers/net/hns3/hns3_dcb.h
drivers/net/hns3/hns3_ethdev.h
drivers/net/hns3/hns3_tm.c
drivers/net/hns3/hns3_tm.h