mbox series

[v2,00/19] XSC PMD for Yunsilicon NICs

Message ID 20240911020740.3950704-1-wanry@yunsilicon.com (mailing list archive)
Headers
Series XSC PMD for Yunsilicon NICs |

Message

WanRenyong Sept. 11, 2024, 2:07 a.m. UTC
This xsc PMD (**librte_net_xsc**) provides poll mode driver for 
Yunsilicon metaScale serials NICs.

Features:
---------
- MTU update
- TSO
- RSS hash
- RSS key update
- RSS reta update
- L3 checksum offload
- L4 checksum offload
- Inner L3 checksum
- Inner L4 checksum
- Basic stats 

Support NICs:
-------------
- metaScale-200S   Single QSFP56 Port 200GE SmartNIC
- metaScale-200    Quad QSFP28 Ports 100GE SmartNIC
- metaScale-50     Dual QSFP28 Port 25GE SmartNIC
- metaScale-100Q   Quad QSFP28 Port 25GE SmartNIC


---
WanRenyong (19):
  net/xsc: add doc and minimum build framework
  net/xsc: add log macro
  net/xsc: add PCI device probe and remove
  net/xsc: add xsc device init and uninit
  net/xsc: add ioctl command interface
  net/xsc: initialize hardware information
  net/xsc: add representor ports probe
  net/xsc: create eth devices for representor ports
  net/xsc: initial representor eth device
  net/xsc: add ethdev configure and rxtx queue setup ops
  net/xsc: add mailbox and structure
  net/xsc: add ethdev RSS hash ops
  net/xsc: add ethdev start and stop ops
  net/xsc: add ethdev Rx burst
  net/xsc: add ethdev Tx burst
  net/xsc: configure xsc device hardware table
  net/xsc: add dev link and MTU ops
  net/xsc: add dev infos get
  net/xsc: add dev basic stats ops

 .mailmap                         |    4 +
 MAINTAINERS                      |    9 +
 doc/guides/nics/features/xsc.ini |   18 +
 doc/guides/nics/index.rst        |    1 +
 doc/guides/nics/xsc.rst          |   31 +
 drivers/net/meson.build          |    1 +
 drivers/net/xsc/meson.build      |   36 +
 drivers/net/xsc/xsc_ctrl.c       |   64 ++
 drivers/net/xsc/xsc_ctrl.h       |  314 +++++++
 drivers/net/xsc/xsc_defs.h       |   61 ++
 drivers/net/xsc/xsc_dev.c        |  326 +++++++
 drivers/net/xsc/xsc_dev.h        |   99 +++
 drivers/net/xsc/xsc_ethdev.c     | 1434 ++++++++++++++++++++++++++++++
 drivers/net/xsc/xsc_ethdev.h     |   81 ++
 drivers/net/xsc/xsc_flow.c       |  167 ++++
 drivers/net/xsc/xsc_flow.h       |   67 ++
 drivers/net/xsc/xsc_log.h        |   44 +
 drivers/net/xsc/xsc_rxtx.c       |  445 +++++++++
 drivers/net/xsc/xsc_rxtx.h       |  214 +++++
 drivers/net/xsc/xsc_utils.c      |  346 +++++++
 drivers/net/xsc/xsc_utils.h      |   27 +
 21 files changed, 3789 insertions(+)
 create mode 100644 doc/guides/nics/features/xsc.ini
 create mode 100644 doc/guides/nics/xsc.rst
 create mode 100644 drivers/net/xsc/meson.build
 create mode 100644 drivers/net/xsc/xsc_ctrl.c
 create mode 100644 drivers/net/xsc/xsc_ctrl.h
 create mode 100644 drivers/net/xsc/xsc_defs.h
 create mode 100644 drivers/net/xsc/xsc_dev.c
 create mode 100644 drivers/net/xsc/xsc_dev.h
 create mode 100644 drivers/net/xsc/xsc_ethdev.c
 create mode 100644 drivers/net/xsc/xsc_ethdev.h
 create mode 100644 drivers/net/xsc/xsc_flow.c
 create mode 100644 drivers/net/xsc/xsc_flow.h
 create mode 100644 drivers/net/xsc/xsc_log.h
 create mode 100644 drivers/net/xsc/xsc_rxtx.c
 create mode 100644 drivers/net/xsc/xsc_rxtx.h
 create mode 100644 drivers/net/xsc/xsc_utils.c
 create mode 100644 drivers/net/xsc/xsc_utils.h
  

Comments

Ferruh Yigit Sept. 11, 2024, 8:51 a.m. UTC | #1
On 9/11/2024 3:07 AM, WanRenyong wrote:
> This xsc PMD (**librte_net_xsc**) provides poll mode driver for 
> Yunsilicon metaScale serials NICs.
> 
> Features:
> ---------
> - MTU update
> - TSO
> - RSS hash
> - RSS key update
> - RSS reta update
> - L3 checksum offload
> - L4 checksum offload
> - Inner L3 checksum
> - Inner L4 checksum
> - Basic stats 
> 
> Support NICs:
> -------------
> - metaScale-200S   Single QSFP56 Port 200GE SmartNIC
> - metaScale-200    Quad QSFP28 Ports 100GE SmartNIC
> - metaScale-50     Dual QSFP28 Port 25GE SmartNIC
> - metaScale-100Q   Quad QSFP28 Port 25GE SmartNIC
> 
> 
> ---
> WanRenyong (19):
>   net/xsc: add doc and minimum build framework
>   net/xsc: add log macro
>   net/xsc: add PCI device probe and remove
>   net/xsc: add xsc device init and uninit
>   net/xsc: add ioctl command interface
>   net/xsc: initialize hardware information
>   net/xsc: add representor ports probe
>   net/xsc: create eth devices for representor ports
>   net/xsc: initial representor eth device
>   net/xsc: add ethdev configure and rxtx queue setup ops
>   net/xsc: add mailbox and structure
>   net/xsc: add ethdev RSS hash ops
>   net/xsc: add ethdev start and stop ops
>   net/xsc: add ethdev Rx burst
>   net/xsc: add ethdev Tx burst
>   net/xsc: configure xsc device hardware table
>   net/xsc: add dev link and MTU ops
>   net/xsc: add dev infos get
>   net/xsc: add dev basic stats ops
>

Hi WanRenyong,

Thanks for upstreaming the driver,
I did not had a chance to check in detail yet, but when sending next
version can you please send patch series as threaded, with following
git-send-email arguments:
`--thread --no-chain-reply-to`

Or this can be added to .gitconfig as documented in [1].


Also there is new PMD upstreaming guide work in progress [2], current
version still can be useful, can you please check it.

Thanks,
ferruh


[1]
https://old.dpdk.org/dev

[2]
https://patches.dpdk.org/project/dpdk/patch/20240910145801.46186-1-nandinipersad361@gmail.com/
  
WanRenyong Sept. 11, 2024, 10:23 a.m. UTC | #2
On 2024/9/11 16:51, Ferruh Yigit wrote:
> Hi WanRenyong,
>
> Thanks for upstreaming the driver,
> I did not had a chance to check in detail yet, but when sending next
> version can you please send patch series as threaded, with following
> git-send-email arguments:
> `--thread --no-chain-reply-to`
>
> Or this can be added to .gitconfig as documented in [1].
>
>
> Also there is new PMD upstreaming guide work in progress [2], current
> version still can be useful, can you please check it.
>
> Thanks,
> ferruh
>
>
> [1]
> https://old.dpdk.org/dev
>
> [2]
> https://patches.dpdk.org/project/dpdk/patch/20240910145801.46186-1-nandinipersad361@gmail.com/

Hi, ferruh,

Thanks for you reply, I got it.

--
Thanks,
WanRenyong