mbox series

[v5,0/5] introduce support for hairpin between two ports

Message ID 1602740124-397688-1-git-send-email-bingz@nvidia.com (mailing list archive)
Headers
Series introduce support for hairpin between two ports |

Message

Bing Zhao Oct. 15, 2020, 5:35 a.m. UTC
  The patches contain the following changes:
1. new APIs to bind and unbind hairpin ports in manual binding mode.
2. new API to get the hairpin peer ports list.
3. new internal APIs for PMD to pass the queue information and
   configure the queue pair.
4. new attribute members in the hairpin queue configuraiton structure
   to specify the binding mode and enable explicit TX flow mode.
5. Testpmd support to configure the hairpin modes for two ports
   hairpin verification.
6. documents update.

---
v5:
1. Change EINVAL to ENODEV if port id is invalid
2. Description fixes and other minor changes
v4:
1. squash documents update into patch
2. add more description of the hairpin conf attributes
v3:
1. add length to protect the pointer to the array from getting corrupted
2. change the direction from bool to unsigned int
v2:
1. add documents update
2. remove all peer ports logic from rte API
3. conf structure optimizing
4. new API to get the peer ports and testpmd change to support
   hot-plug / unplug case
---

Bing Zhao (5):
  ethdev: add hairpin bind and unbind APIs
  ethdev: add new attributes to hairpin config
  ethdev: add API to get hairpin peer ports list
  ethdev: add APIs for hairpin queue operation
  app/testpmd: change hairpin queues setup

 app/test-pmd/parameters.c                |  15 +++
 app/test-pmd/testpmd.c                   | 125 ++++++++++++++++++++-
 app/test-pmd/testpmd.h                   |   2 +
 doc/guides/prog_guide/rte_flow.rst       |   3 +
 doc/guides/rel_notes/release_20_11.rst   |  11 ++
 doc/guides/testpmd_app_ug/run_app.rst    |   8 ++
 lib/librte_ethdev/rte_ethdev.c           | 133 +++++++++++++++++++++-
 lib/librte_ethdev/rte_ethdev.h           | 109 +++++++++++++++++-
 lib/librte_ethdev/rte_ethdev_driver.h    | 186 +++++++++++++++++++++++++++++++
 lib/librte_ethdev/rte_ethdev_version.map |   6 +
 10 files changed, 589 insertions(+), 9 deletions(-)