Message ID | 1662169260-4953-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 D5C07A0543; Sat, 3 Sep 2022 03:41:06 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6B78140695; Sat, 3 Sep 2022 03:41:06 +0200 (CEST) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 91E6940685 for <dev@dpdk.org>; Sat, 3 Sep 2022 03:41:04 +0200 (CEST) Received: by linux.microsoft.com (Postfix, from userid 1004) id C687520477A9; Fri, 2 Sep 2022 18:41:03 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com C687520477A9 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linuxonhyperv.com; s=default; t=1662169263; bh=h0RFDw1O7iEV6YShMaif4bpDS9YSlUZ9ikMlysX/Oco=; h=From:To:Cc:Subject:Date:Reply-To:From; b=S8JX3z+qqDSkKl2hqaj8D4g8hcyE5JPT4lDUMpxyUTQGBuw9Ri0e7yN++A2PYKQ4T LTfmTQJpOVaMrzPzw0G917iNm0z5d3idMPiyReDUgr4N+wOLRt/Wk1vAlGLanSFrhA xw4bDusFMIzCRNpVdAFYnfmzEWW+5iLilxP1nnsM= 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 v7 00/18] Introduce Microsoft Azure Network Adatper (MANA) PMD Date: Fri, 2 Sep 2022 18:40:42 -0700 Message-Id: <1662169260-4953-1-git-send-email-longli@linuxonhyperv.com> X-Mailer: git-send-email 1.8.3.1 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
Sept. 3, 2022, 1:40 a.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/cover/1655345240-26411-1-git-send-email-longli@linuxonhyperv.com/
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, build environment and doc
net/mana: add device configuration and stop
net/mana: add function to report support ptypes
net/mana: add link update
net/mana: add function for device removal interrupts
net/mana: add device info
net/mana: add function to configure RSS
net/mana: add function to configure RX queues
net/mana: add function to configure TX queues
net/mana: implement memory registration
net/mana: implement the hardware layer operations
net/mana: add function to start/stop TX queues
net/mana: add function to start/stop RX queues
net/mana: add function to receive packets
net/mana: add function to send packets
net/mana: add function to start/stop device
net/mana: add function to report queue stats
net/mana: add function to support RX interrupts
MAINTAINERS | 6 +
doc/guides/nics/features/mana.ini | 21 +
doc/guides/nics/index.rst | 1 +
doc/guides/nics/mana.rst | 66 ++
drivers/net/mana/gdma.c | 289 ++++++
drivers/net/mana/mana.c | 1449 +++++++++++++++++++++++++++++
drivers/net/mana/mana.h | 552 +++++++++++
drivers/net/mana/meson.build | 48 +
drivers/net/mana/mp.c | 323 +++++++
drivers/net/mana/mr.c | 324 +++++++
drivers/net/mana/rx.c | 519 +++++++++++
drivers/net/mana/tx.c | 412 ++++++++
drivers/net/mana/version.map | 3 +
drivers/net/meson.build | 1 +
14 files changed, 4014 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 9/3/2022 2:40 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/cover/1655345240-26411-1-git-send-email-longli@linuxonhyperv.com/ > > 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, build environment and doc > net/mana: add device configuration and stop > net/mana: add function to report support ptypes > net/mana: add link update > net/mana: add function for device removal interrupts > net/mana: add device info > net/mana: add function to configure RSS > net/mana: add function to configure RX queues > net/mana: add function to configure TX queues > net/mana: implement memory registration > net/mana: implement the hardware layer operations > net/mana: add function to start/stop TX queues > net/mana: add function to start/stop RX queues > net/mana: add function to receive packets > net/mana: add function to send packets > net/mana: add function to start/stop device > net/mana: add function to report queue stats > net/mana: add function to support RX interrupts > Can you please send new versions of the patches as reply to previous versions, so all versions can be in same thread, using git send-email '--in-reply-to' argument? More details in the contribution guide: https://doc.dpdk.org/guides/contributing/patches.html#sending-patches
On 9/6/2022 2:03 PM, Ferruh Yigit wrote: > On 9/3/2022 2:40 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/cover/1655345240-26411-1-git-send-email-longli@linuxonhyperv.com/ >> >> 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, build environment and doc >> net/mana: add device configuration and stop >> net/mana: add function to report support ptypes >> net/mana: add link update >> net/mana: add function for device removal interrupts >> net/mana: add device info >> net/mana: add function to configure RSS >> net/mana: add function to configure RX queues >> net/mana: add function to configure TX queues >> net/mana: implement memory registration >> net/mana: implement the hardware layer operations >> net/mana: add function to start/stop TX queues >> net/mana: add function to start/stop RX queues >> net/mana: add function to receive packets >> net/mana: add function to send packets >> net/mana: add function to start/stop device >> net/mana: add function to report queue stats >> net/mana: add function to support RX interrupts >> > > Can you please send new versions of the patches as reply to previous > versions, so all versions can be in same thread, using git send-email > '--in-reply-to' argument? > > More details in the contribution guide: > https://doc.dpdk.org/guides/contributing/patches.html#sending-patches > Also for next version, can you please fix warnings reported by './devtools/check-git-log.sh'.
> Subject: Re: [Patch v7 00/18] Introduce Microsoft Azure Network Adatper > (MANA) PMD > > On 9/3/2022 2:40 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%2Fpatc > > hwork.kernel.org%2Fproject%2Fnetdevbpf%2Fcover%2F1655345240- > 26411-1-gi > > t-send-email- > longli%40linuxonhyperv.com%2F&data=05%7C01%7Clongli%4 > > > 0microsoft.com%7C8cd6ffba9b5544435e8308da900846a8%7C72f988bf86f141 > af91 > > > ab2d7cd011db47%7C1%7C0%7C637980662484490031%7CUnknown%7CTWFp > bGZsb3d8ey > > > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D% > 7C300 > > > 0%7C%7C%7C&sdata=nr6rB9%2BN8hNV3RWhVr%2B5XgB0I5V6XtajWDz > NIgF5un4%3 > > D&reserved=0 > > > > The MANA RDMA user-mode driver is being reviewed at: > > > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith > > ub.com%2Flinux-rdma%2Frdma- > core%2Fpull%2F1177&data=05%7C01%7Clongl > > > i%40microsoft.com%7C8cd6ffba9b5544435e8308da900846a8%7C72f988bf86f > 141a > > > f91ab2d7cd011db47%7C1%7C0%7C637980662484490031%7CUnknown%7CT > WFpbGZsb3d > > > 8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0% > 3D%7C > > > 3000%7C%7C%7C&sdata=LNlH77y0MHa2C43j5ArWZy%2BKlMaXNpb%2F > AE0am971F4 > > 4%3D&reserved=0 > > > > > > Long Li (18): > > net/mana: add basic driver, build environment and doc > > net/mana: add device configuration and stop > > net/mana: add function to report support ptypes > > net/mana: add link update > > net/mana: add function for device removal interrupts > > net/mana: add device info > > net/mana: add function to configure RSS > > net/mana: add function to configure RX queues > > net/mana: add function to configure TX queues > > net/mana: implement memory registration > > net/mana: implement the hardware layer operations > > net/mana: add function to start/stop TX queues > > net/mana: add function to start/stop RX queues > > net/mana: add function to receive packets > > net/mana: add function to send packets > > net/mana: add function to start/stop device > > net/mana: add function to report queue stats > > net/mana: add function to support RX interrupts > > > > Can you please send new versions of the patches as reply to previous > versions, so all versions can be in same thread, using git send-email '--in- > reply-to' argument? Sure, I will send soon. > > More details in the contribution guide: > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc. > dpdk.org%2Fguides%2Fcontributing%2Fpatches.html%23sending- > patches&data=05%7C01%7Clongli%40microsoft.com%7C8cd6ffba9b554 > 4435e8308da900846a8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7 > C637980662484490031%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAw > MDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C% > 7C&sdata=YTEWfVRjiobdQPQDCGoMuLW4N5NISl7VZYKhf6mvSxQ%3D > &reserved=0
> Subject: Re: [Patch v7 00/18] Introduce Microsoft Azure Network Adatper > (MANA) PMD > > On 9/6/2022 2:03 PM, Ferruh Yigit wrote: > > On 9/3/2022 2:40 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%2Fcover%2F1655345240- > 26411-1- > >> git-send-email- > longli%40linuxonhyperv.com%2F&data=05%7C01%7Clongl > >> > i%40microsoft.com%7C7b028477af2f4dc9adbb08da901578ca%7C72f988bf86f > 141 > >> > af91ab2d7cd011db47%7C1%7C0%7C637980719147810170%7CUnknown%7CT > WFpbGZsb > >> > 3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0 > %3D > >> %7C3000%7C%7C%7C&sdata=1cHl7GcqA7IVaPYeOj1Fr59%2FkkizeQij > t7Rqi6aQ > >> 9gw%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%7C7b028477af2f4dc9adbb08da901578ca%7C72f988bf86 > f1 > >> > 41af91ab2d7cd011db47%7C1%7C0%7C637980719147810170%7CUnknown%7 > CTWFpbGZ > >> > sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M > n0% > >> > 3D%7C3000%7C%7C%7C&sdata=vSWsqSZycwOIBw1hq1IZ4s3G8lXKV82J > bpy99f1K > >> Bck%3D&reserved=0 > >> > >> > >> Long Li (18): > >> net/mana: add basic driver, build environment and doc > >> net/mana: add device configuration and stop > >> net/mana: add function to report support ptypes > >> net/mana: add link update > >> net/mana: add function for device removal interrupts > >> net/mana: add device info > >> net/mana: add function to configure RSS > >> net/mana: add function to configure RX queues > >> net/mana: add function to configure TX queues > >> net/mana: implement memory registration > >> net/mana: implement the hardware layer operations > >> net/mana: add function to start/stop TX queues > >> net/mana: add function to start/stop RX queues > >> net/mana: add function to receive packets > >> net/mana: add function to send packets > >> net/mana: add function to start/stop device > >> net/mana: add function to report queue stats > >> net/mana: add function to support RX interrupts > >> > > > > Can you please send new versions of the patches as reply to previous > > versions, so all versions can be in same thread, using git send-email > > '--in-reply-to' argument? > > > > More details in the contribution guide: > > > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc. > > dpdk.org%2Fguides%2Fcontributing%2Fpatches.html%23sending- > patches& > > > data=05%7C01%7Clongli%40microsoft.com%7C7b028477af2f4dc9adbb08da90 > 1578 > > > ca%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6379807191478101 > 70%7CU > > > nknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI > 6Ik1ha > > > WwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=N0XBkRX9LdgkT2jA > lPZEP6g0GB > > aH%2ByHeG1jLHKJB6AE%3D&reserved=0 > > > > Also for next version, can you please fix warnings reported by > './devtools/check-git-log.sh'. Will fix those.