Skip to contentSkip to conversation

Introduce Microsoft Azure Network Adatper (MANA) PMD

PATCH Superseded [email protected] 1 participant 1 message Sep 8, 2022

v8 of 10 Superseded Latest is v10 →

lore
Share & tools
lore
#0 lore raw

v8 cover Introduce Microsoft Azure Network Adatper (MANA) PMD

From: Long Li <[email protected]>

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/[email protected]/

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: 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 |   20 +
 doc/guides/nics/index.rst         |    1 +
 doc/guides/nics/mana.rst          |   69 ++
 drivers/net/mana/gdma.c           |  301 ++++++
 drivers/net/mana/mana.c           | 1501 +++++++++++++++++++++++++++++
 drivers/net/mana/mana.h           |  548 +++++++++++
 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             |  415 ++++++++
 drivers/net/mana/version.map      |    3 +
 drivers/net/meson.build           |    1 +
 14 files changed, 4128 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
Signature · 1 line
2.17.1