The DPDK framework reports the queue state, which is stored in
dev->data->tx_queue_state and dev->data->rx_queue_state. The
state is maintained by the driver. Users may determine whether
a queue participates in packet forwarding based on the state,
for example,

[1] 5028f207a4fa ("app/testpmd: fix secondary process packet forwarding"
[2] 141a520b35f7 ("app/testpmd: fix primary process not polling all queues")

Therefore, the drivers need to modify the queue state in time
according to the actual situation, especially when dev_start
and dev_stop are called. see [3] for more information.

[3] https://inbox.dpdk.org/dev/20230721160422.3848154-1-ferruh.yi...@amd.com/

This patchset also resubmit the patch [2] and makes some fixes on the patch.

Jie Hai (36):
  net/axgbe: fix Rx and Tx queue state
  net/af_packet: fix Rx and Tx queue state
  net/af_xdp: fix Rx and Tx queue state
  net/avp: fix Rx and Tx queue state
  net/bnx2x: fix Rx and Tx queue state
  net/bnxt: fix Rx and Tx queue state
  net/bonding: fix Rx and Tx queue state
  net/cxgbe: fix Rx and Tx queue state
  net/dpaa: fix Rx and Tx queue state
  net/dpaa2: fix Rx and Tx queue state
  net/e1000: fix Rx and Tx queue state
  net/ena: fix Rx and Tx queue state
  net/enetc: fix Rx and Tx queue state
  net/enic: fix Rx and Tx queue state
  net/hinic: fix Rx and Tx queue state
  net/ipn3ke: fix Rx and Tx queue state
  net/memif: fix Rx and Tx queue state
  net/mana: fix Rx and Tx queue state
  net/mlx4: fix Rx and Tx queue state
  net/mvneta: fix Rx and Tx queue state
  net/mvpp2: fix Rx and Tx queue state
  net/netvsc: fix Rx and Tx queue state
  net/nfp: fix Rx and Tx queue state
  net/ngbe: fix Rx and Tx queue state
  net/null: fix Rx and Tx queue state
  net/octeon_ep: fix Rx and Tx queue state
  net/octeontx: fix Rx and Tx queue state
  net/pfe: fix Rx and Tx queue state
  net/ring: fix Rx and Tx queue state
  net/sfc: fix Rx and Tx queue state
  net/softnic: fix Rx and Tx queue state
  net/txgbe: fix Rx and Tx queue state
  net/vhost: fix Rx and Tx queue state
  net/virtio: fix Rx and Tx queue state
  net/vmxnet3: fix Rx and Tx queue state
  app/testpmd: fix primary process not polling all queues

 app/test-pmd/testpmd.c                        | 25 +++++++++++++++----
 drivers/net/af_packet/rte_eth_af_packet.c     |  9 +++++++
 drivers/net/af_xdp/rte_eth_af_xdp.c           | 13 ++++++++++
 drivers/net/avp/avp_ethdev.c                  | 12 +++++++++
 drivers/net/axgbe/axgbe_ethdev.c              |  7 ++++++
 drivers/net/axgbe/axgbe_rxtx.c                |  2 ++
 drivers/net/bnx2x/bnx2x_ethdev.c              | 12 +++++++++
 drivers/net/bnxt/bnxt_ethdev.c                |  6 +++++
 drivers/net/bonding/rte_eth_bond_pmd.c        | 10 ++++++++
 drivers/net/cxgbe/cxgbe_ethdev.c              |  6 +++++
 drivers/net/dpaa/dpaa_ethdev.c                | 12 +++++++++
 drivers/net/dpaa2/dpaa2_ethdev.c              | 11 ++++++++
 drivers/net/e1000/em_rxtx.c                   |  8 ++++++
 drivers/net/e1000/igb_rxtx.c                  |  4 +++
 drivers/net/ena/ena_ethdev.c                  | 12 +++++++++
 drivers/net/enetc/enetc_ethdev.c              | 12 +++++++++
 drivers/net/enic/enic_ethdev.c                |  6 +++++
 drivers/net/hinic/hinic_pmd_ethdev.c          | 12 +++++++++
 drivers/net/ipn3ke/ipn3ke_representor.c       | 12 +++++++++
 drivers/net/mana/rx.c                         |  3 +++
 drivers/net/mana/tx.c                         |  4 +++
 drivers/net/memif/rte_eth_memif.c             | 16 ++++++++++++
 drivers/net/mlx4/mlx4.c                       | 13 ++++++++++
 drivers/net/mvneta/mvneta_ethdev.c            | 12 +++++++++
 drivers/net/mvpp2/mrvl_ethdev.c               | 10 ++++++++
 drivers/net/netvsc/hn_ethdev.c                | 12 +++++++++
 drivers/net/nfp/flower/nfp_flower.c           |  8 ++++++
 .../net/nfp/flower/nfp_flower_representor.c   | 12 +++++++++
 drivers/net/nfp/nfp_common.c                  |  2 ++
 drivers/net/nfp/nfp_ethdev.c                  |  6 +++++
 drivers/net/nfp/nfp_ethdev_vf.c               |  6 +++++
 drivers/net/ngbe/ngbe_rxtx.c                  |  2 ++
 drivers/net/null/rte_eth_null.c               | 15 +++++++++++
 drivers/net/octeon_ep/otx_ep_ethdev.c         | 11 ++++++++
 drivers/net/octeontx/octeontx_ethdev.c        | 11 ++++++++
 drivers/net/pfe/pfe_ethdev.c                  | 11 ++++++++
 drivers/net/ring/rte_eth_ring.c               | 15 +++++++++++
 drivers/net/sfc/sfc_repr.c                    | 12 +++++++++
 drivers/net/softnic/rte_eth_softnic.c         | 12 +++++++++
 drivers/net/txgbe/txgbe_rxtx.c                |  8 ++++++
 drivers/net/vhost/rte_eth_vhost.c             | 12 +++++++++
 drivers/net/virtio/virtio_ethdev.c            | 11 ++++++++
 drivers/net/vmxnet3/vmxnet3_ethdev.c          | 12 +++++++++
 43 files changed, 422 insertions(+), 5 deletions(-)

-- 
2.30.0

Reply via email to