mbox series

[v10,00/18] Introduce Microsoft Azure Network Adatper (MANA) PMD

Message ID 1665012128-20520-1-git-send-email-longli@linuxonhyperv.com (mailing list archive)
Headers
Series Introduce Microsoft Azure Network Adatper (MANA) PMD |

Message

Long Li Oct. 5, 2022, 11:21 p.m. UTC
  From: Long Li <longli@microsoft.com>

MANA is a network interface card to be used in the Azure cloud environment.
MANA provides safe access to user memory through memory registration. It has
IOMMU built into the hardware.

MANA uses IB verbs and RDMA layer to configure hardware resources. It
requires the corresponding RDMA kernel-mode and user-mode drivers.

The MANA RDMA kernel-mode driver is being reviewed at:
https://patchwork.kernel.org/project/netdevbpf/list/?series=678843&state=*

The MANA RDMA user-mode driver is being reviewed at:
https://github.com/linux-rdma/rdma-core/pull/1177


Long Li (18):
  net/mana: add basic driver with build environment and doc
  net/mana: device configuration and stop
  net/mana: report supported ptypes
  net/mana: support link update
  net/mana: support device removal interrupts
  net/mana: report device info
  net/mana: configure RSS
  net/mana: configure Rx queues
  net/mana: configure Tx queues
  net/mana: implement memory registration
  net/mana: implement the hardware layer operations
  net/mana: start/stop Tx queues
  net/mana: start/stop Rx queues
  net/mana: receive packets
  net/mana: send packets
  net/mana: start/stop device
  net/mana: report queue stats
  net/mana: support Rx interrupts

 MAINTAINERS                       |    6 +
 doc/guides/nics/features/mana.ini |   19 +
 doc/guides/nics/index.rst         |    1 +
 doc/guides/nics/mana.rst          |   73 ++
 drivers/net/mana/gdma.c           |  303 ++++++
 drivers/net/mana/mana.c           | 1502 +++++++++++++++++++++++++++++
 drivers/net/mana/mana.h           |  542 +++++++++++
 drivers/net/mana/meson.build      |   48 +
 drivers/net/mana/mp.c             |  336 +++++++
 drivers/net/mana/mr.c             |  348 +++++++
 drivers/net/mana/rx.c             |  531 ++++++++++
 drivers/net/mana/tx.c             |  416 ++++++++
 drivers/net/mana/version.map      |    3 +
 drivers/net/meson.build           |    1 +
 14 files changed, 4129 insertions(+)
 create mode 100644 doc/guides/nics/features/mana.ini
 create mode 100644 doc/guides/nics/mana.rst
 create mode 100644 drivers/net/mana/gdma.c
 create mode 100644 drivers/net/mana/mana.c
 create mode 100644 drivers/net/mana/mana.h
 create mode 100644 drivers/net/mana/meson.build
 create mode 100644 drivers/net/mana/mp.c
 create mode 100644 drivers/net/mana/mr.c
 create mode 100644 drivers/net/mana/rx.c
 create mode 100644 drivers/net/mana/tx.c
 create mode 100644 drivers/net/mana/version.map
  

Comments

Ferruh Yigit Oct. 6, 2022, 8:54 a.m. UTC | #1
On 10/6/2022 12:21 AM, longli@linuxonhyperv.com wrote:

> 
> From: Long Li <longli@microsoft.com>
> 
> MANA is a network interface card to be used in the Azure cloud environment.
> MANA provides safe access to user memory through memory registration. It has
> IOMMU built into the hardware.
> 
> MANA uses IB verbs and RDMA layer to configure hardware resources. It
> requires the corresponding RDMA kernel-mode and user-mode drivers.
> 
> The MANA RDMA kernel-mode driver is being reviewed at:
> https://patchwork.kernel.org/project/netdevbpf/list/?series=678843&state=*
> 
> The MANA RDMA user-mode driver is being reviewed at:
> https://github.com/linux-rdma/rdma-core/pull/1177
> 
> 
> Long Li (18):
>    net/mana: add basic driver with build environment and doc
>    net/mana: device configuration and stop
>    net/mana: report supported ptypes
>    net/mana: support link update
>    net/mana: support device removal interrupts
>    net/mana: report device info
>    net/mana: configure RSS
>    net/mana: configure Rx queues
>    net/mana: configure Tx queues
>    net/mana: implement memory registration
>    net/mana: implement the hardware layer operations
>    net/mana: start/stop Tx queues
>    net/mana: start/stop Rx queues
>    net/mana: receive packets
>    net/mana: send packets
>    net/mana: start/stop device
>    net/mana: report queue stats
>    net/mana: support Rx interrupts
> 


Series applied to dpdk-next-net/main, thanks.


While merging, 'mana.ini' updated to keep the order same with 'default.ini,
and added a brief note to release notes ('release_22_11.rst') for new 
driver.
  
Ferruh Yigit Oct. 6, 2022, 4:54 p.m. UTC | #2
On 10/6/2022 9:54 AM, Ferruh Yigit wrote:
> On 10/6/2022 12:21 AM, longli@linuxonhyperv.com wrote:
> 
>>
>> From: Long Li <longli@microsoft.com>
>>
>> MANA is a network interface card to be used in the Azure cloud 
>> environment.
>> MANA provides safe access to user memory through memory registration. 
>> It has
>> IOMMU built into the hardware.
>>
>> MANA uses IB verbs and RDMA layer to configure hardware resources. It
>> requires the corresponding RDMA kernel-mode and user-mode drivers.
>>
>> The MANA RDMA kernel-mode driver is being reviewed at:
>> https://patchwork.kernel.org/project/netdevbpf/list/?series=678843&state=*
>>
>> The MANA RDMA user-mode driver is being reviewed at:
>> https://github.com/linux-rdma/rdma-core/pull/1177
>>
>>
>> Long Li (18):
>>    net/mana: add basic driver with build environment and doc
>>    net/mana: device configuration and stop
>>    net/mana: report supported ptypes
>>    net/mana: support link update
>>    net/mana: support device removal interrupts
>>    net/mana: report device info
>>    net/mana: configure RSS
>>    net/mana: configure Rx queues
>>    net/mana: configure Tx queues
>>    net/mana: implement memory registration
>>    net/mana: implement the hardware layer operations
>>    net/mana: start/stop Tx queues
>>    net/mana: start/stop Rx queues
>>    net/mana: receive packets
>>    net/mana: send packets
>>    net/mana: start/stop device
>>    net/mana: report queue stats
>>    net/mana: support Rx interrupts
>>
> 
> 
> Series applied to dpdk-next-net/main, thanks.
> 
> 
> While merging, 'mana.ini' updated to keep the order same with 'default.ini,
> and added a brief note to release notes ('release_22_11.rst') for new 
> driver.


Since patch is merged, can you please send a patch to web mail list [1] 
for web repo [2], to add your device to web page [3] ?
This is not urgent, sometime before release is good.

Thanks,
ferruh


[1]
https://mails.dpdk.org/listinfo/web

[2]
https://git.dpdk.org/tools/dpdk-web/tree/content/supported/nics

[3]
https://core.dpdk.org/supported/nics/
  
Long Li Oct. 6, 2022, 6:07 p.m. UTC | #3
> Subject: Re: [Patch v10 00/18] Introduce Microsoft Azure Network Adatper
> (MANA) PMD
> 
> On 10/6/2022 9:54 AM, Ferruh Yigit wrote:
> > On 10/6/2022 12:21 AM, longli@linuxonhyperv.com wrote:
> >
> >>
> >> From: Long Li <longli@microsoft.com>
> >>
> >> MANA is a network interface card to be used in the Azure cloud
> >> environment.
> >> MANA provides safe access to user memory through memory registration.
> >> It has
> >> IOMMU built into the hardware.
> >>
> >> MANA uses IB verbs and RDMA layer to configure hardware resources. It
> >> requires the corresponding RDMA kernel-mode and user-mode drivers.
> >>
> >> The MANA RDMA kernel-mode driver is being reviewed at:
> >>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat
> >>
> chwork.kernel.org%2Fproject%2Fnetdevbpf%2Flist%2F%3Fseries%3D678843
> %2
> >>
> 6state%3D*&amp;data=05%7C01%7Clongli%40microsoft.com%7C140c01ba7
> b574c
> >>
> 1f621d08daa7bb7c4f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C
> 63800
> >>
> 6720966308259%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLC
> JQIjoiV2l
> >>
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=
> sUv84%2
> >> FrJZHT95r12YzQQlQ0MEjMZX4CHUMKw5ic5hlU%3D&amp;reserved=0
> >>
> >> The MANA RDMA user-mode driver is being reviewed at:
> >>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> >> hub.com%2Flinux-rdma%2Frdma-
> core%2Fpull%2F1177&amp;data=05%7C01%7Clon
> >>
> gli%40microsoft.com%7C140c01ba7b574c1f621d08daa7bb7c4f%7C72f988bf86
> f1
> >>
> 41af91ab2d7cd011db47%7C1%7C0%7C638006720966308259%7CUnknown%7
> CTWFpbGZ
> >>
> sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M
> n0%
> >>
> 3D%7C3000%7C%7C%7C&amp;sdata=U2rw6lEbZHKqW1k%2FOWQZj7jzlyWx
> mfqOYnFw4P
> >> nq9Zs%3D&amp;reserved=0
> >>
> >>
> >> Long Li (18):
> >>    net/mana: add basic driver with build environment and doc
> >>    net/mana: device configuration and stop
> >>    net/mana: report supported ptypes
> >>    net/mana: support link update
> >>    net/mana: support device removal interrupts
> >>    net/mana: report device info
> >>    net/mana: configure RSS
> >>    net/mana: configure Rx queues
> >>    net/mana: configure Tx queues
> >>    net/mana: implement memory registration
> >>    net/mana: implement the hardware layer operations
> >>    net/mana: start/stop Tx queues
> >>    net/mana: start/stop Rx queues
> >>    net/mana: receive packets
> >>    net/mana: send packets
> >>    net/mana: start/stop device
> >>    net/mana: report queue stats
> >>    net/mana: support Rx interrupts
> >>
> >
> >
> > Series applied to dpdk-next-net/main, thanks.
> >
> >
> > While merging, 'mana.ini' updated to keep the order same with
> > 'default.ini, and added a brief note to release notes
> > ('release_22_11.rst') for new driver.
> 
> 
> Since patch is merged, can you please send a patch to web mail list [1] for
> web repo [2], to add your device to web page [3] ?
> This is not urgent, sometime before release is good.
> 
> Thanks,
> Ferruh

Thank you, I will send a patch soon.

Long

> 
> 
> [1]
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmail
> s.dpdk.org%2Flistinfo%2Fweb&amp;data=05%7C01%7Clongli%40microsoft.c
> om%7C140c01ba7b574c1f621d08daa7bb7c4f%7C72f988bf86f141af91ab2d7cd
> 011db47%7C1%7C0%7C638006720966308259%7CUnknown%7CTWFpbGZsb3d
> 8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%
> 3D%7C3000%7C%7C%7C&amp;sdata=flufLkHYo%2BFzyHhXzi7pvzoU%2B1q%
> 2BGaxhoLgi%2FhHow7c%3D&amp;reserved=0
> 
> [2]
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.d
> pdk.org%2Ftools%2Fdpdk-
> web%2Ftree%2Fcontent%2Fsupported%2Fnics&amp;data=05%7C01%7Clong
> li%40microsoft.com%7C140c01ba7b574c1f621d08daa7bb7c4f%7C72f988bf86f
> 141af91ab2d7cd011db47%7C1%7C0%7C638006720966308259%7CUnknown%
> 7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW
> wiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=7ZoNn%2FKfjZDgkTC
> udS641OsIT6EInx0hIVpUcfM%2FNDA%3D&amp;reserved=0
> 
> [3]
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcore
> .dpdk.org%2Fsupported%2Fnics%2F&amp;data=05%7C01%7Clongli%40micro
> soft.com%7C140c01ba7b574c1f621d08daa7bb7c4f%7C72f988bf86f141af91ab2
> d7cd011db47%7C1%7C0%7C638006720966308259%7CUnknown%7CTWFpbGZ
> sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M
> n0%3D%7C3000%7C%7C%7C&amp;sdata=XxIl38Z6tWFoRZvzVGTb3JL4gZYuV
> n8F%2FfO%2FIYWtuAE%3D&amp;reserved=0