[v3,0/8] Enhance the bond framework to support offload

Message ID 20231008015041.1551165-1-chaoyong.he@corigine.com (mailing list archive)
Headers
Series Enhance the bond framework to support offload |

Message

Chaoyong He Oct. 8, 2023, 1:50 a.m. UTC
  This patch series try to enhance the bond framework to support the
offload feature better:
* Add new API to make the member port can access some information of the
  bond port which belongs.
* Add new API to get the result of whether bond port is created by the
  member port.
* Add two command line argument to control if enable member port
  notification and dedicated queue features.
* Add logic to support add ports which share the same PCI address into
  bond port.
* Also modify the testpmd application to test the new APIs and logics
  added by this patch series.

---
v2:
* Fix compile error on github-robot by removing the redundancy function
  declaration in the header file.
v3:
* Use the hole in the structure for the new added flag data field.
---


Long Wu (8):
  ethdev: add member notification for bonding port
  ethdev: add API to get hardware creation of bonding port
  net/bonding: modify interface comment format
  net/bonding: add bonding port arguments
  net/bonding: support add port by data name
  net/bonding: create new rte flow header file
  net/bonding: support checking valid bonding port ID
  net/bonding: add commands for bonding port notification

 .../link_bonding_poll_mode_drv_lib.rst        |  19 ++
 drivers/net/bonding/bonding_testpmd.c         | 128 ++++++++++
 drivers/net/bonding/eth_bond_8023ad_private.h |  52 ++--
 drivers/net/bonding/eth_bond_private.h        |  24 +-
 drivers/net/bonding/rte_eth_bond.h            | 238 +++++++++++++-----
 drivers/net/bonding/rte_eth_bond_8023ad.h     |  76 ++++--
 drivers/net/bonding/rte_eth_bond_alb.h        |  34 ++-
 drivers/net/bonding/rte_eth_bond_api.c        | 123 +++++++++
 drivers/net/bonding/rte_eth_bond_args.c       |  47 ++++
 drivers/net/bonding/rte_eth_bond_flow.c       |   1 +
 drivers/net/bonding/rte_eth_bond_flow.h       |  22 ++
 drivers/net/bonding/rte_eth_bond_pmd.c        |  89 ++++++-
 drivers/net/bonding/version.map               |   5 +
 lib/ethdev/ethdev_driver.h                    |  38 +++
 14 files changed, 766 insertions(+), 130 deletions(-)
 create mode 100644 drivers/net/bonding/rte_eth_bond_flow.h
  

Comments

Chaoyong He Oct. 13, 2023, 2:22 a.m. UTC | #1
A gentle ping ~

As this patch series add new APIs, hoping it will catch up deadline of 23.11-RC1 (API freeze).

Thanks.

> -----Original Message-----
> From: Chaoyong He
> Sent: Sunday, October 8, 2023 9:51 AM
> To: dev@dpdk.org
> Cc: oss-drivers <oss-drivers@corigine.com>; Chaoyong He
> <chaoyong.he@corigine.com>
> Subject: [PATCH v3 0/8] Enhance the bond framework to support offload
> 
> This patch series try to enhance the bond framework to support the offload
> feature better:
> * Add new API to make the member port can access some information of the
>   bond port which belongs.
> * Add new API to get the result of whether bond port is created by the
>   member port.
> * Add two command line argument to control if enable member port
>   notification and dedicated queue features.
> * Add logic to support add ports which share the same PCI address into
>   bond port.
> * Also modify the testpmd application to test the new APIs and logics
>   added by this patch series.
> 
> ---
> v2:
> * Fix compile error on github-robot by removing the redundancy function
>   declaration in the header file.
> v3:
> * Use the hole in the structure for the new added flag data field.
> ---
> 
> 
> Long Wu (8):
>   ethdev: add member notification for bonding port
>   ethdev: add API to get hardware creation of bonding port
>   net/bonding: modify interface comment format
>   net/bonding: add bonding port arguments
>   net/bonding: support add port by data name
>   net/bonding: create new rte flow header file
>   net/bonding: support checking valid bonding port ID
>   net/bonding: add commands for bonding port notification
> 
>  .../link_bonding_poll_mode_drv_lib.rst        |  19 ++
>  drivers/net/bonding/bonding_testpmd.c         | 128 ++++++++++
>  drivers/net/bonding/eth_bond_8023ad_private.h |  52 ++--
>  drivers/net/bonding/eth_bond_private.h        |  24 +-
>  drivers/net/bonding/rte_eth_bond.h            | 238 +++++++++++++-----
>  drivers/net/bonding/rte_eth_bond_8023ad.h     |  76 ++++--
>  drivers/net/bonding/rte_eth_bond_alb.h        |  34 ++-
>  drivers/net/bonding/rte_eth_bond_api.c        | 123 +++++++++
>  drivers/net/bonding/rte_eth_bond_args.c       |  47 ++++
>  drivers/net/bonding/rte_eth_bond_flow.c       |   1 +
>  drivers/net/bonding/rte_eth_bond_flow.h       |  22 ++
>  drivers/net/bonding/rte_eth_bond_pmd.c        |  89 ++++++-
>  drivers/net/bonding/version.map               |   5 +
>  lib/ethdev/ethdev_driver.h                    |  38 +++
>  14 files changed, 766 insertions(+), 130 deletions(-)  create mode 100644
> drivers/net/bonding/rte_eth_bond_flow.h
> 
> --
> 2.39.1
  
Ferruh Yigit Oct. 13, 2023, 12:53 p.m. UTC | #2
On 10/13/2023 3:22 AM, Chaoyong He wrote:
> A gentle ping ~
> 
> As this patch series add new APIs, hoping it will catch up deadline of 23.11-RC1 (API freeze).
> 

Hi Chaoyong,

I did a quick scan of the patch, followings are red flag to me
- adding an ethdev dev_ops for a specific driver (bonding),
- adding more PMD specific API for bondig

I will try to spend more time to understand the logic behind it but
meanwhile I cc'ed more people for comment/review.


> Thanks.
> 
>> -----Original Message-----
>> From: Chaoyong He
>> Sent: Sunday, October 8, 2023 9:51 AM
>> To: dev@dpdk.org
>> Cc: oss-drivers <oss-drivers@corigine.com>; Chaoyong He
>> <chaoyong.he@corigine.com>
>> Subject: [PATCH v3 0/8] Enhance the bond framework to support offload
>>
>> This patch series try to enhance the bond framework to support the offload
>> feature better:
>> * Add new API to make the member port can access some information of the
>>   bond port which belongs.
>> * Add new API to get the result of whether bond port is created by the
>>   member port.
>> * Add two command line argument to control if enable member port
>>   notification and dedicated queue features.
>> * Add logic to support add ports which share the same PCI address into
>>   bond port.
>> * Also modify the testpmd application to test the new APIs and logics
>>   added by this patch series.
>>
>> ---
>> v2:
>> * Fix compile error on github-robot by removing the redundancy function
>>   declaration in the header file.
>> v3:
>> * Use the hole in the structure for the new added flag data field.
>> ---
>>
>>
>> Long Wu (8):
>>   ethdev: add member notification for bonding port
>>   ethdev: add API to get hardware creation of bonding port
>>   net/bonding: modify interface comment format
>>   net/bonding: add bonding port arguments
>>   net/bonding: support add port by data name
>>   net/bonding: create new rte flow header file
>>   net/bonding: support checking valid bonding port ID
>>   net/bonding: add commands for bonding port notification
>>
>>  .../link_bonding_poll_mode_drv_lib.rst        |  19 ++
>>  drivers/net/bonding/bonding_testpmd.c         | 128 ++++++++++
>>  drivers/net/bonding/eth_bond_8023ad_private.h |  52 ++--
>>  drivers/net/bonding/eth_bond_private.h        |  24 +-
>>  drivers/net/bonding/rte_eth_bond.h            | 238 +++++++++++++-----
>>  drivers/net/bonding/rte_eth_bond_8023ad.h     |  76 ++++--
>>  drivers/net/bonding/rte_eth_bond_alb.h        |  34 ++-
>>  drivers/net/bonding/rte_eth_bond_api.c        | 123 +++++++++
>>  drivers/net/bonding/rte_eth_bond_args.c       |  47 ++++
>>  drivers/net/bonding/rte_eth_bond_flow.c       |   1 +
>>  drivers/net/bonding/rte_eth_bond_flow.h       |  22 ++
>>  drivers/net/bonding/rte_eth_bond_pmd.c        |  89 ++++++-
>>  drivers/net/bonding/version.map               |   5 +
>>  lib/ethdev/ethdev_driver.h                    |  38 +++
>>  14 files changed, 766 insertions(+), 130 deletions(-)  create mode 100644
>> drivers/net/bonding/rte_eth_bond_flow.h
>>
>> --
>> 2.39.1
>