[RFC PATCH 4/6] ethdev: extend VMDq/DCB configuration with queue mapping

Ivan Malov ivan.malov at arknetworks.am
Thu Sep 25 19:59:16 CEST 2025


Hi Vladimir,

On Sat, 30 Aug 2025, Vladimir Medvedkin wrote:

> Currently DCB Traffic Class queue mapping is only used when calling get
> DCB info API, while setting up queue mappings is up to each individual
> driver. Use the tc queue mapping structure to enable setting up custom
> mapping explicitly.
>

snip

> -/**
> - * A structure used to get the information of queue and
> - * TC mapping on both Tx and Rx paths.
> - */
> -struct rte_eth_dcb_tc_queue_mapping {
> -	/** Rx queues assigned to tc per Pool */
> -	struct {
> -		uint16_t base;
> -		uint16_t nb_queue;
> -	} tc_rxq[RTE_ETH_MAX_VMDQ_POOL][RTE_ETH_DCB_NUM_TCS];
> -	/** Rx queues assigned to tc per Pool */
> -	struct {
> -		uint16_t base;
> -		uint16_t nb_queue;
> -	} tc_txq[RTE_ETH_MAX_VMDQ_POOL][RTE_ETH_DCB_NUM_TCS];
> -};

May I clarify: is 'tc_rxq' structure supposed to facilitate the use case where:
- VLAN ID (VID) of the packet selects a 'pool' containing some entries;
- VLAN UP (priority) selects an entry in the 'pool' (gives 'base', 'nb_queue);
- if 'nb_queue' is 1, we send the packet to a specific queue ('base');
- if 'nb_queue > 1', we perform RSS across 'nb_queue' relative to 'base'?

I'm slightly confused, as [3/6] seems to remove 'rte_eth_vmdq_dcb_conf' and
the 'pool_map' (with 'vlan_id') and I'm not sure where it should resurface.

Thank you.


More information about the dev mailing list