Message ID | 1665012128-20520-1-git-send-email-longli@linuxonhyperv.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 18F6CA00C2; Thu, 6 Oct 2022 01:22:19 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B363940697; Thu, 6 Oct 2022 01:22:18 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 9152040697 for <dev@dpdk.org>; Thu, 6 Oct 2022 01:22:17 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1004) id 9BE8C20C3334; Wed, 5 Oct 2022 16:22:16 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 9BE8C20C3334 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1665012136; bh=6BgTcuDQK+Y02RC8IYVTJSvWmkWqAZeJvbq88Ym21GQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:Reply-To:From; b=EfWjkLPveCStUc39fIZlIb5Q9nE1BxRrO8vkr/Yz/iOzuDxe8YtvWGi9QQq9ly+vd Y6XA3BYTYW2MBg8/QPV7l1NZDZCB+Ul8AhDC8NyPHD8ngQ2a3HRFV5viAEsC9jMffk XK5Ceqcss6sKOiP3ITd65nVuUCMB2jK8YPnUYiM0= From: longli@linuxonhyperv.com To: Ferruh Yigit <ferruh.yigit@xilinx.com> Cc: dev@dpdk.org, Ajay Sharma <sharmaajay@microsoft.com>, Stephen Hemminger <sthemmin@microsoft.com>, Long Li <longli@microsoft.com> Subject: [Patch v10 00/18] Introduce Microsoft Azure Network Adatper (MANA) PMD Date: Wed, 5 Oct 2022 16:21:50 -0700 Message-Id: <1665012128-20520-1-git-send-email-longli@linuxonhyperv.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1663987546-15982-1-git-send-email-longli@linuxonhyperv.com> References: <1663987546-15982-1-git-send-email-longli@linuxonhyperv.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Reply-To: longli@microsoft.com Errors-To: dev-bounces@dpdk.org |
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
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.
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/
> 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*&data=05%7C01%7Clongli%40microsoft.com%7C140c01ba7 > b574c > >> > 1f621d08daa7bb7c4f%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C > 63800 > >> > 6720966308259%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLC > JQIjoiV2l > >> > uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata= > sUv84%2 > >> FrJZHT95r12YzQQlQ0MEjMZX4CHUMKw5ic5hlU%3D&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&data=05%7C01%7Clon > >> > gli%40microsoft.com%7C140c01ba7b574c1f621d08daa7bb7c4f%7C72f988bf86 > f1 > >> > 41af91ab2d7cd011db47%7C1%7C0%7C638006720966308259%7CUnknown%7 > CTWFpbGZ > >> > sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M > n0% > >> > 3D%7C3000%7C%7C%7C&sdata=U2rw6lEbZHKqW1k%2FOWQZj7jzlyWx > mfqOYnFw4P > >> nq9Zs%3D&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&data=05%7C01%7Clongli%40microsoft.c > om%7C140c01ba7b574c1f621d08daa7bb7c4f%7C72f988bf86f141af91ab2d7cd > 011db47%7C1%7C0%7C638006720966308259%7CUnknown%7CTWFpbGZsb3d > 8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0% > 3D%7C3000%7C%7C%7C&sdata=flufLkHYo%2BFzyHhXzi7pvzoU%2B1q% > 2BGaxhoLgi%2FhHow7c%3D&reserved=0 > > [2] > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit.d > pdk.org%2Ftools%2Fdpdk- > web%2Ftree%2Fcontent%2Fsupported%2Fnics&data=05%7C01%7Clong > li%40microsoft.com%7C140c01ba7b574c1f621d08daa7bb7c4f%7C72f988bf86f > 141af91ab2d7cd011db47%7C1%7C0%7C638006720966308259%7CUnknown% > 7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haW > wiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=7ZoNn%2FKfjZDgkTC > udS641OsIT6EInx0hIVpUcfM%2FNDA%3D&reserved=0 > > [3] > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcore > .dpdk.org%2Fsupported%2Fnics%2F&data=05%7C01%7Clongli%40micro > soft.com%7C140c01ba7b574c1f621d08daa7bb7c4f%7C72f988bf86f141af91ab2 > d7cd011db47%7C1%7C0%7C638006720966308259%7CUnknown%7CTWFpbGZ > sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M > n0%3D%7C3000%7C%7C%7C&sdata=XxIl38Z6tWFoRZvzVGTb3JL4gZYuV > n8F%2FfO%2FIYWtuAE%3D&reserved=0