mbox series

[v5,0/9] net/mlx5: support SubFunction representor

Message ID 1616939297-15627-1-git-send-email-xuemingl@nvidia.com (mailing list archive)
Headers show
Series net/mlx5: support SubFunction representor | expand

Message

Xueming(Steven) Li March 28, 2021, 1:48 p.m. UTC
SubFunction [1] is a portion of the PCI device, a SF netdev has its own
dedicated queues(txq, rxq). A SF netdev supports E-Switch representation
offload similar to existing PF and VF representors. A SF shares PCI
level resources with other SFs and/or with its parent PCI function.

This patch set introduces SubFunction representor support for mlx5
PMD driver.

Version history:
 RFC:
 	initial version [2]
 V2:
    - support bonding representor probe with new pf#vf# devargs
    - adapt EAL api V2 [3] changes
    - update document
 V3:
    - support list of representor PF section for bonding device:
      example: representor=pf[0,1]vf[0-3]
    - add bonding information to shared PMD data
    - fix setting VF MAC through representor
    - fix bonding xstats, sum xstats from PF members.
 V4:
    - combine unexpected patch, thanks Slava
 V5:
    - support new ethdev ops api to return representor info
    - new api to encode and decode representor ID
    - new patch to allow BF2 HPF(-1) probe with sf-1

[1] SubFunction in kernel:
https://lore.kernel.org/netdev/20201112192424.2742-1-parav@nvidia.com/

[2] RFC:
http://patchwork.dpdk.org/project/dpdk/list/?series=14376

[3] V2:
http://patchwork.dpdk.org/project/dpdk/list/?series=14560

[3] V3:
http://patchwork.dpdk.org/project/dpdk/list/?series=14810

[3] V4:
http://patchwork.dpdk.org/project/dpdk/list/?series=14836


Xueming Li (9):
  common/mlx5: sub-function representor port name parsing
  net/mlx5: support representor of sub function
  net/mlx5: revert setting bonding representor to first PF
  net/mlx5: refactor bonding representor probe
  net/mlx5: support list value of representor PF
  net/mlx5: save bonding member ports information
  net/mlx5: fix setting VF default MAC through representor
  net/mlx5: improve xstats of bonding port
  net/mlx5: probe host PF representor with SubFunction

 doc/guides/nics/mlx5.rst                   |  62 +++-
 drivers/common/mlx5/linux/mlx5_common_os.c |  32 +-
 drivers/common/mlx5/linux/mlx5_nl.c        |   3 +
 drivers/common/mlx5/mlx5_common.h          |   2 +
 drivers/net/mlx5/linux/mlx5_ethdev_os.c    | 136 +++++--
 drivers/net/mlx5/linux/mlx5_os.c           | 395 ++++++++++++++-------
 drivers/net/mlx5/mlx5.c                    |  24 +-
 drivers/net/mlx5/mlx5.h                    |  35 +-
 drivers/net/mlx5/mlx5_defs.h               |   4 -
 drivers/net/mlx5/mlx5_ethdev.c             | 149 ++++++--
 drivers/net/mlx5/mlx5_mac.c                |  23 +-
 11 files changed, 652 insertions(+), 213 deletions(-)

Comments

Raslan Darawsheh March 31, 2021, 7:20 a.m. UTC | #1
Hi,

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Xueming Li
> Sent: Sunday, March 28, 2021 4:48 PM
> To: Slava Ovsiienko <viacheslavo@nvidia.com>
> Cc: dev@dpdk.org; Xueming(Steven) Li <xuemingl@nvidia.com>; Asaf Penso
> <asafp@nvidia.com>
> Subject: [dpdk-dev] [PATCH v5 0/9] net/mlx5: support SubFunction
> representor
> 
> SubFunction [1] is a portion of the PCI device, a SF netdev has its own
> dedicated queues(txq, rxq). A SF netdev supports E-Switch representation
> offload similar to existing PF and VF representors. A SF shares PCI
> level resources with other SFs and/or with its parent PCI function.
> 
> This patch set introduces SubFunction representor support for mlx5
> PMD driver.
> 
> Version history:
>  RFC:
>  	initial version [2]
>  V2:
>     - support bonding representor probe with new pf#vf# devargs
>     - adapt EAL api V2 [3] changes
>     - update document
>  V3:
>     - support list of representor PF section for bonding device:
>       example: representor=pf[0,1]vf[0-3]
>     - add bonding information to shared PMD data
>     - fix setting VF MAC through representor
>     - fix bonding xstats, sum xstats from PF members.
>  V4:
>     - combine unexpected patch, thanks Slava
>  V5:
>     - support new ethdev ops api to return representor info
>     - new api to encode and decode representor ID
>     - new patch to allow BF2 HPF(-1) probe with sf-1
> 
> [1] SubFunction in kernel:
> https://lore.kernel.org/netdev/20201112192424.2742-1-parav@nvidia.com/
> 
> [2] RFC:
> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> work.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D14376&amp;dat
> a=04%7C01%7Crasland%40nvidia.com%7Ccc705f353dda416b4ba808d8f1f0
> 3a83%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C1%7C63752536137
> 3102759%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=1V%2BbE
> nDeyTxdKWgtniUBvn7hJJbREo%2Fh6FqKAV7geFA%3D&amp;reserved=0
> 
> [3] V2:
> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> work.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D14560&amp;dat
> a=04%7C01%7Crasland%40nvidia.com%7Ccc705f353dda416b4ba808d8f1f0
> 3a83%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C1%7C63752536137
> 3102759%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=DDGSVykr
> 2CsyCm5%2BEnQViGKJKWI4b4dQyByr5zDILwc%3D&amp;reserved=0
> 
> [3] V3:
> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> work.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D14810&amp;dat
> a=04%7C01%7Crasland%40nvidia.com%7Ccc705f353dda416b4ba808d8f1f0
> 3a83%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C1%7C63752536137
> 3102759%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=tYBHZ0PBI
> cdpTSZ3EedX3SpKz7hlbWIxdwCPwEw8nE8%3D&amp;reserved=0
> 
> [3] V4:
> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> work.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D14836&amp;dat
> a=04%7C01%7Crasland%40nvidia.com%7Ccc705f353dda416b4ba808d8f1f0
> 3a83%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C1%7C63752536137
> 3102759%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=CneNa%2
> BwMG5dzos%2F98%2BlouEKi7ex1CO5Zb52xTlxy1Dw%3D&amp;reserved=0
> 
> 
> Xueming Li (9):
>   common/mlx5: sub-function representor port name parsing
>   net/mlx5: support representor of sub function
>   net/mlx5: revert setting bonding representor to first PF
>   net/mlx5: refactor bonding representor probe
>   net/mlx5: support list value of representor PF
>   net/mlx5: save bonding member ports information
>   net/mlx5: fix setting VF default MAC through representor
>   net/mlx5: improve xstats of bonding port
>   net/mlx5: probe host PF representor with SubFunction
> 
>  doc/guides/nics/mlx5.rst                   |  62 +++-
>  drivers/common/mlx5/linux/mlx5_common_os.c |  32 +-
>  drivers/common/mlx5/linux/mlx5_nl.c        |   3 +
>  drivers/common/mlx5/mlx5_common.h          |   2 +
>  drivers/net/mlx5/linux/mlx5_ethdev_os.c    | 136 +++++--
>  drivers/net/mlx5/linux/mlx5_os.c           | 395 ++++++++++++++-------
>  drivers/net/mlx5/mlx5.c                    |  24 +-
>  drivers/net/mlx5/mlx5.h                    |  35 +-
>  drivers/net/mlx5/mlx5_defs.h               |   4 -
>  drivers/net/mlx5/mlx5_ethdev.c             | 149 ++++++--
>  drivers/net/mlx5/mlx5_mac.c                |  23 +-
>  11 files changed, 652 insertions(+), 213 deletions(-)
> 
> --
> 2.25.1

Series applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh
Xueming(Steven) Li March 31, 2021, 7:27 a.m. UTC | #2
Thanks!

>-----Original Message-----
>From: Raslan Darawsheh <rasland@nvidia.com>
>Sent: Wednesday, March 31, 2021 3:21 PM
>To: Xueming(Steven) Li <xuemingl@nvidia.com>; Slava Ovsiienko <viacheslavo@nvidia.com>
>Cc: dev@dpdk.org; Xueming(Steven) Li <xuemingl@nvidia.com>; Asaf Penso <asafp@nvidia.com>
>Subject: RE: [dpdk-dev] [PATCH v5 0/9] net/mlx5: support SubFunction representor
>
>Hi,
>
>> -----Original Message-----
>> From: dev <dev-bounces@dpdk.org> On Behalf Of Xueming Li
>> Sent: Sunday, March 28, 2021 4:48 PM
>> To: Slava Ovsiienko <viacheslavo@nvidia.com>
>> Cc: dev@dpdk.org; Xueming(Steven) Li <xuemingl@nvidia.com>; Asaf Penso
>> <asafp@nvidia.com>
>> Subject: [dpdk-dev] [PATCH v5 0/9] net/mlx5: support SubFunction
>> representor
>>
>> SubFunction [1] is a portion of the PCI device, a SF netdev has its
>> own dedicated queues(txq, rxq). A SF netdev supports E-Switch
>> representation offload similar to existing PF and VF representors. A
>> SF shares PCI level resources with other SFs and/or with its parent PCI function.
>>
>> This patch set introduces SubFunction representor support for mlx5 PMD
>> driver.
>>
>> Version history:
>>  RFC:
>>  	initial version [2]
>>  V2:
>>     - support bonding representor probe with new pf#vf# devargs
>>     - adapt EAL api V2 [3] changes
>>     - update document
>>  V3:
>>     - support list of representor PF section for bonding device:
>>       example: representor=pf[0,1]vf[0-3]
>>     - add bonding information to shared PMD data
>>     - fix setting VF MAC through representor
>>     - fix bonding xstats, sum xstats from PF members.
>>  V4:
>>     - combine unexpected patch, thanks Slava
>>  V5:
>>     - support new ethdev ops api to return representor info
>>     - new api to encode and decode representor ID
>>     - new patch to allow BF2 HPF(-1) probe with sf-1
>>
>> [1] SubFunction in kernel:
>> https://lore.kernel.org/netdev/20201112192424.2742-1-parav@nvidia.com/
>>
>> [2] RFC:
>> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
>> work.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D14376&amp;dat
>> a=04%7C01%7Crasland%40nvidia.com%7Ccc705f353dda416b4ba808d8f1f0
>> 3a83%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C1%7C63752536137
>> 3102759%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
>> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=1V%2BbE
>> nDeyTxdKWgtniUBvn7hJJbREo%2Fh6FqKAV7geFA%3D&amp;reserved=0
>>
>> [3] V2:
>> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
>> work.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D14560&amp;dat
>> a=04%7C01%7Crasland%40nvidia.com%7Ccc705f353dda416b4ba808d8f1f0
>> 3a83%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C1%7C63752536137
>> 3102759%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
>> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=DDGSVykr
>> 2CsyCm5%2BEnQViGKJKWI4b4dQyByr5zDILwc%3D&amp;reserved=0
>>
>> [3] V3:
>> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
>> work.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D14810&amp;dat
>> a=04%7C01%7Crasland%40nvidia.com%7Ccc705f353dda416b4ba808d8f1f0
>> 3a83%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C1%7C63752536137
>> 3102759%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
>> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=tYBHZ0PBI
>> cdpTSZ3EedX3SpKz7hlbWIxdwCPwEw8nE8%3D&amp;reserved=0
>>
>> [3] V4:
>> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
>> work.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D14836&amp;dat
>> a=04%7C01%7Crasland%40nvidia.com%7Ccc705f353dda416b4ba808d8f1f0
>> 3a83%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C1%7C63752536137
>> 3102759%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
>> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&amp;sdata=CneNa%2
>> BwMG5dzos%2F98%2BlouEKi7ex1CO5Zb52xTlxy1Dw%3D&amp;reserved=0
>>
>>
>> Xueming Li (9):
>>   common/mlx5: sub-function representor port name parsing
>>   net/mlx5: support representor of sub function
>>   net/mlx5: revert setting bonding representor to first PF
>>   net/mlx5: refactor bonding representor probe
>>   net/mlx5: support list value of representor PF
>>   net/mlx5: save bonding member ports information
>>   net/mlx5: fix setting VF default MAC through representor
>>   net/mlx5: improve xstats of bonding port
>>   net/mlx5: probe host PF representor with SubFunction
>>
>>  doc/guides/nics/mlx5.rst                   |  62 +++-
>>  drivers/common/mlx5/linux/mlx5_common_os.c |  32 +-
>>  drivers/common/mlx5/linux/mlx5_nl.c        |   3 +
>>  drivers/common/mlx5/mlx5_common.h          |   2 +
>>  drivers/net/mlx5/linux/mlx5_ethdev_os.c    | 136 +++++--
>>  drivers/net/mlx5/linux/mlx5_os.c           | 395 ++++++++++++++-------
>>  drivers/net/mlx5/mlx5.c                    |  24 +-
>>  drivers/net/mlx5/mlx5.h                    |  35 +-
>>  drivers/net/mlx5/mlx5_defs.h               |   4 -
>>  drivers/net/mlx5/mlx5_ethdev.c             | 149 ++++++--
>>  drivers/net/mlx5/mlx5_mac.c                |  23 +-
>>  11 files changed, 652 insertions(+), 213 deletions(-)
>>
>> --
>> 2.25.1
>
>Series applied to next-net-mlx,
>
>Kindest regards,
>Raslan Darawsheh