common/iavf: support ETS-based QoS offload configuration
authorTing Xu <ting.xu@intel.com>
Thu, 1 Jul 2021 11:41:18 +0000 (19:41 +0800)
committerQi Zhang <qi.z.zhang@intel.com>
Tue, 6 Jul 2021 02:58:14 +0000 (04:58 +0200)
commit6b62423face13bf321f7a9b4f6fac4d65a3efb9c
tree8e087b9ad6cd0f4e089aa928438f787a7a3c6615
parent214f452f7d5fd95e597d9643429c5d279e8bb380
common/iavf: support ETS-based QoS offload configuration

This patch adds new virtchnl opcodes and structures for QoS
configuration, which includes:
1. VIRTCHNL_VF_OFFLOAD_TC, to negotiate the capability supporting QoS
configuration. If VF and PF both have this flag, then the ETS-based QoS
offload function is supported.
2. VIRTCHNL_OP_DCF_CONFIG_BW, DCF is supposed to configure min and max
bandwidth for each VF per enabled TCs. To make the VSI node bandwidth
configuration work, DCF also needs to configure TC node bandwidth
directly.
3. VIRTCHNL_OP_GET_QOS_CAPS, VF queries current QoS configuration, such
as enabled TCs, arbiter type, up2tc and bandwidth of VSI node. The
configuration is previously set by DCB and DCF, and now is the potential
QoS capability of VF. VF can take it as reference to configure queue TC
mapping.
4. VIRTCHNL_OP_CONFIG_TC_MAP, set VF queues to TC mapping for all Tx and
Rx queues. Queues mapping to one TC should be continuous and all
allocated queues should be mapped.

Signed-off-by: Ting Xu <ting.xu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/common/iavf/iavf_type.h
drivers/common/iavf/virtchnl.h