[PATCH v7 0/2] Add Tx queue mapping of aggregated ports
Ferruh Yigit
ferruh.yigit at amd.com
Fri Feb 17 17:45:40 CET 2023
On 2/17/2023 3:47 PM, Jiawei Wang wrote:
> When multiple ports are aggregated into a single DPDK port,
> (example: Linux bonding, DPDK bonding, failsafe, etc.),
> we want to know which port is used for Rx and Tx.
>
> This patch introduces the new ethdev API
> rte_eth_dev_map_aggr_tx_affinity(), it's used to map a Tx queue
> with an aggregated port of the DPDK port (specified with port_id),
> The affinity is the number of the aggregated port.
> Value 0 means no affinity and traffic could be routed to any
> aggregated port, this is the default current behavior.
>
> The maximum number of affinity is given by rte_eth_dev_count_aggr_ports().
>
> This patch allows to map a Rx queue with an aggregated port by using
> a flow rule. The new item is called RTE_FLOW_ITEM_TYPE_AGGR_AFFINITY.
>
> While uses the aggregated affinity as a matching item in the flow rule,
> and sets the same affinity value by call
> rte_eth_dev_map_aggr_tx_affinity(), then the packet can be sent from
> the same port as the receiving one.
> The affinity numbering starts from 1, then trying to match on
> aggr_affinity 0 will result in an error.
>
> RFC: http://patches.dpdk.org/project/dpdk/cover/20221221102934.13822-1-jiaweiw@nvidia.com/
>
> v7:
> * Remove the -ENOTSUP return value since no need anymore.
> * Use the rte_eth_dev as argument in the internal function.
>
> v6:
> * Update the commit titles.
> * Return 0 by default if dev_ops.count_aggr_ports is not defined.
> * Adds the dev_configure and affinity value checking before call map_aggr_tx_affinity.
> * Update the rte_eth_dev_count_aggr_ports description.
>
> v5:
> * Adds rte_eth_dev_map_aggr_tx_affinity() to map a Tx queue to an aggregated port.
> * Adds rte_eth_dev_count_aggr_ports() to get the number of aggregated ports.
> * Updates the flow item RTE_FLOW_ITEM_TYPE_AGGR_AFFINITY.
>
> v4:
> * Rebase the latest code
> * Update new field description
> * Update release release note
> * Reword the commit log to make clear
>
> v3:
> * Update exception rule
> * Update the commit log
> * Add the description for PHY affinity and numbering definition
> * Add the number of physical ports into device info
> * Change the patch order
>
> v2: Update based on the comments
>
> Jiawei Wang (2):
> ethdev: add Tx queue mapping of aggregated ports
> ethdev: add flow matching of aggregated port
Series applied to dpdk-next-net/main, thanks.
More information about the dev
mailing list