mbox series

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

Message ID 1602767335-433464-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, 1:08 p.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.

---
v6:
1. Coding style updates
2. Using "Rx" & "Tx" instead of the capital formats
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   |  12 ++
 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, 590 insertions(+), 9 deletions(-)
  

Comments

Ferruh Yigit Oct. 15, 2020, 11:03 p.m. UTC | #1
On 10/15/2020 2:08 PM, Bing Zhao wrote:
> 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.
> 
> ---
> v6:
> 1. Coding style updates
> 2. Using "Rx" & "Tx" instead of the capital formats
> 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
> 

Series applied to dpdk-next-net/main, thanks.
  
Bing Zhao Oct. 16, 2020, 1:34 a.m. UTC | #2
Hi Ferruh,

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Friday, October 16, 2020 7:03 AM
> To: Bing Zhao <bingz@nvidia.com>; NBU-Contact-Thomas Monjalon
> <thomas@monjalon.net>; Ori Kam <orika@nvidia.com>;
> arybchenko@solarflare.com; mdr@ashroe.eu; nhorman@tuxdriver.com;
> bernard.iremonger@intel.com; beilei.xing@intel.com;
> wenzhuo.lu@intel.com
> Cc: dev@dpdk.org
> Subject: Re: [PATCH v6 0/5] introduce support for hairpin between
> two ports
> 
> External email: Use caution opening links or attachments
> 
> 
> On 10/15/2020 2:08 PM, Bing Zhao wrote:
> > 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.
> >
> > ---
> > v6:
> > 1. Coding style updates
> > 2. Using "Rx" & "Tx" instead of the capital formats
> > 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
> >
> 
> Series applied to dpdk-next-net/main, thanks.


Many thanks for your help.

BR. Bing