mbox series

[v2,00/14] add support for idpf PMD in DPDK

Message ID 20220905105828.3190335-1-junfeng.guo@intel.com (mailing list archive)
Headers
Series add support for idpf PMD in DPDK |

Message

Junfeng Guo Sept. 5, 2022, 10:58 a.m. UTC
  This patchset introduced the idpf (Infrastructure Data Path Function)
PMD [*EXPERIMENTAL*] in DPDK for Intel Device ID of 0x1452.

v2:
fixed some coding style issues and did some refactors.

Junfeng Guo (14):
  net/idpf/base: introduce base code
  net/idpf/base: add logs and OS specific implementation
  net/idpf: add support for device initialization
  net/idpf: add support for queue operations
  net/idpf: add support for device information get
  net/idpf: add support for packet type get
  net/idpf: add support for link status update
  net/idpf: add support for basic Rx/Tx datapath
  net/idpf: add support for RSS
  net/idpf: add support for mtu configuration
  net/idpf: add support for hw statistics
  net/idpf: add support for write back based on ITR expire
  net/idpf: add AVX512 data path for single queue model
  net/idpf: add support for timestamp offload

 drivers/net/idpf/base/iecm_alloc.h            |   22 +
 drivers/net/idpf/base/iecm_common.c           |  359 +++
 drivers/net/idpf/base/iecm_controlq.c         |  662 ++++
 drivers/net/idpf/base/iecm_controlq.h         |  214 ++
 drivers/net/idpf/base/iecm_controlq_api.h     |  227 ++
 drivers/net/idpf/base/iecm_controlq_setup.c   |  179 ++
 drivers/net/idpf/base/iecm_devids.h           |   18 +
 drivers/net/idpf/base/iecm_lan_pf_regs.h      |  134 +
 drivers/net/idpf/base/iecm_lan_txrx.h         |  428 +++
 drivers/net/idpf/base/iecm_lan_vf_regs.h      |  114 +
 drivers/net/idpf/base/iecm_osdep.h            |  365 +++
 drivers/net/idpf/base/iecm_prototype.h        |   45 +
 drivers/net/idpf/base/iecm_type.h             |  106 +
 drivers/net/idpf/base/meson.build             |   27 +
 drivers/net/idpf/base/siov_regs.h             |   41 +
 drivers/net/idpf/base/virtchnl.h              | 2743 +++++++++++++++++
 drivers/net/idpf/base/virtchnl2.h             | 1411 +++++++++
 drivers/net/idpf/base/virtchnl2_lan_desc.h    |  603 ++++
 drivers/net/idpf/base/virtchnl_inline_ipsec.h |  567 ++++
 drivers/net/idpf/idpf_ethdev.c                | 1341 ++++++++
 drivers/net/idpf/idpf_ethdev.h                |  270 ++
 drivers/net/idpf/idpf_logs.h                  |   38 +
 drivers/net/idpf/idpf_rxtx.c                  | 2393 ++++++++++++++
 drivers/net/idpf/idpf_rxtx.h                  |  322 ++
 drivers/net/idpf/idpf_rxtx_vec_avx512.c       |  917 ++++++
 drivers/net/idpf/idpf_rxtx_vec_common.h       |   89 +
 drivers/net/idpf/idpf_vchnl.c                 | 1470 +++++++++
 drivers/net/idpf/meson.build                  |   48 +
 drivers/net/idpf/version.map                  |    3 +
 drivers/net/meson.build                       |    1 +
 30 files changed, 15157 insertions(+)
 create mode 100644 drivers/net/idpf/base/iecm_alloc.h
 create mode 100644 drivers/net/idpf/base/iecm_common.c
 create mode 100644 drivers/net/idpf/base/iecm_controlq.c
 create mode 100644 drivers/net/idpf/base/iecm_controlq.h
 create mode 100644 drivers/net/idpf/base/iecm_controlq_api.h
 create mode 100644 drivers/net/idpf/base/iecm_controlq_setup.c
 create mode 100644 drivers/net/idpf/base/iecm_devids.h
 create mode 100644 drivers/net/idpf/base/iecm_lan_pf_regs.h
 create mode 100644 drivers/net/idpf/base/iecm_lan_txrx.h
 create mode 100644 drivers/net/idpf/base/iecm_lan_vf_regs.h
 create mode 100644 drivers/net/idpf/base/iecm_osdep.h
 create mode 100644 drivers/net/idpf/base/iecm_prototype.h
 create mode 100644 drivers/net/idpf/base/iecm_type.h
 create mode 100644 drivers/net/idpf/base/meson.build
 create mode 100644 drivers/net/idpf/base/siov_regs.h
 create mode 100644 drivers/net/idpf/base/virtchnl.h
 create mode 100644 drivers/net/idpf/base/virtchnl2.h
 create mode 100644 drivers/net/idpf/base/virtchnl2_lan_desc.h
 create mode 100644 drivers/net/idpf/base/virtchnl_inline_ipsec.h
 create mode 100644 drivers/net/idpf/idpf_ethdev.c
 create mode 100644 drivers/net/idpf/idpf_ethdev.h
 create mode 100644 drivers/net/idpf/idpf_logs.h
 create mode 100644 drivers/net/idpf/idpf_rxtx.c
 create mode 100644 drivers/net/idpf/idpf_rxtx.h
 create mode 100644 drivers/net/idpf/idpf_rxtx_vec_avx512.c
 create mode 100644 drivers/net/idpf/idpf_rxtx_vec_common.h
 create mode 100644 drivers/net/idpf/idpf_vchnl.c
 create mode 100644 drivers/net/idpf/meson.build
 create mode 100644 drivers/net/idpf/version.map
  

Comments

Andrew Rybchenko Oct. 3, 2022, 1:31 p.m. UTC | #1
On 9/5/22 13:58, Junfeng Guo wrote:
> This patchset introduced the idpf (Infrastructure Data Path Function)
> PMD [*EXPERIMENTAL*] in DPDK for Intel Device ID of 0x1452.
> 
> v2:
> fixed some coding style issues and did some refactors.

The patch series should:
  - add entry in MAINTAINERS
  - add driver documentation to doc/guides/nics/idpf.rst
  - advertise the driver in release notes
  - when features are added it should be added to 
doc/guides/nics/features/idpf.ini
  
Andrew Rybchenko Oct. 3, 2022, 2:36 p.m. UTC | #2
On 10/3/22 16:31, Andrew Rybchenko wrote:
> On 9/5/22 13:58, Junfeng Guo wrote:
>> This patchset introduced the idpf (Infrastructure Data Path Function)
>> PMD [*EXPERIMENTAL*] in DPDK for Intel Device ID of 0x1452.
>>
>> v2:
>> fixed some coding style issues and did some refactors.
> 
> The patch series should:
>   - add entry in MAINTAINERS
>   - add driver documentation to doc/guides/nics/idpf.rst
>   - advertise the driver in release notes
>   - when features are added it should be added to 
> doc/guides/nics/features/idpf.ini

I'd really like to add one more point.
There is a long road for the driver to be accepted since
many changes are required, but it is definitely doable.

More important to get replies on generic questions.
What is it? What is the HW? Is it released?
Where I can read about it?
  
Junfeng Guo Oct. 18, 2022, 11:09 a.m. UTC | #3
> -----Original Message-----
> From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Sent: Monday, October 3, 2022 22:36
> To: Guo, Junfeng <junfeng.guo@intel.com>; Zhang, Qi Z
> <qi.z.zhang@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Xing,
> Beilei <beilei.xing@intel.com>
> Cc: dev@dpdk.org; Wang, Xiao W <xiao.w.wang@intel.com>
> Subject: Re: [PATCH v2 00/14] add support for idpf PMD in DPDK
> 
> On 10/3/22 16:31, Andrew Rybchenko wrote:
> > On 9/5/22 13:58, Junfeng Guo wrote:
> >> This patchset introduced the idpf (Infrastructure Data Path Function)
> >> PMD [*EXPERIMENTAL*] in DPDK for Intel Device ID of 0x1452.
> >>
> >> v2:
> >> fixed some coding style issues and did some refactors.
> >
> > The patch series should:
> >   - add entry in MAINTAINERS
> >   - add driver documentation to doc/guides/nics/idpf.rst
> >   - advertise the driver in release notes
> >   - when features are added it should be added to
> > doc/guides/nics/features/idpf.ini

Sure, thanks for your advice!
We will improve the commit order and items in the coming versions.

Currently we are still trying to improve the description related files.
Please also help review for the coming versions, thanks a lot!

> 
> I'd really like to add one more point.
> There is a long road for the driver to be accepted since
> many changes are required, but it is definitely doable.
> 
> More important to get replies on generic questions.
> What is it? What is the HW? Is it released?
> Where I can read about it?

Well, this is the new ``idpf`` net driver for Intel® IPU Ethernet 
ES2000 Series. The spec has not been released at this point.

Could you help review the coming version patch set, thanks!