From: Srikanth Kaka <srikanth.k@oneconvergence.com>
To: Matan Azrad <matan@nvidia.com>,
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Cc: dev@dpdk.org, Vag Singh <vag.singh@oneconvergence.com>,
Anand Thulasiram <avelu@juniper.net>,
Srikanth Kaka <srikanth.k@oneconvergence.com>
Subject: [dpdk-dev] [PATCH v2 00/41] add MLX5 FreeBSD support
Date: Fri, 8 Oct 2021 00:13:09 +0530 [thread overview]
Message-ID: <20211007184350.73858-1-srikanth.k@oneconvergence.com> (raw)
This patch series introduces FreeBSD OS support for MLX5 PMD
Currently there is an ongoing review of FreeBSD OFED drivers and
RDMA-core libraries. Their status can be tracked at
https://reviews.freebsd.org/p/vag.singh_oneconvergence.com
Only MLX5 SRIOV interface is supported along with the following features:
- Hypervisors: KVM, ESXi and Azure/HyperV
- Multiple Tx and Rx queues
- Support for scattered Tx and Rx frames
- RSS
- VLAN filtering, stripping and insertion
- RX CRC stripping configuration
- Promiscuous and Multicast mode
- Statistics query including Basic, Extended, and per queue.
- Configurable MTU and MAC
- Jumbo frame support
- Trust mode support
- Vxlan
- QoS
- Flow steering
Tested on :
MT27710 Family [ConnectX-4 Lx]
MT27710 Family [ConnectX-4 Lx Virtual Function] (Azure)
MT27700 Family [ConnectX-4]
MT27800 Family [ConnectX-5]
MT2894 Family [ConnectX-6 Lx]
MT28908 Family [ConnectX-6]
MT2892 Family [ConnectX-6 Dx]
v1 : Initial submission
v2 : Addressed community comments
Srikanth Kaka (41):
common/mlx5: add glue files for FreeBSD
common/mlx5: add memory APIs
common/mlx5: add FreeBSD getter functions
common/mlx5: add mlx5_glue_constructor
common/mlx5: add meson support for FreeBSD
net/mlx5: implement device attribute getter
common/mlx5: retrieve the device index and name
common/mlx5: derive PCI addr from device path
net/mlx5: get the FreeBSD interface name
net/mlx5: socket for inter-process communication
common/mlx5: add mr reg/dereg API
net/mlx5: add helpers for MR & HW operations
net/mlx5: define MR callbacks
net/mlx5: add open IB device routines
common/mlx5: add PF_INET socket interface
common/mlx5: add VLAN vmwa structures
net/mlx5: add vlan vmwa stub
net/mlx5: add get MAC
net/mlx5: add get MTU
net/mlx5: add OS MAC routines
net/mlx5: add set MTU routine
net/mlx5: add link state callbacks
net/mlx5: add link update callback
net/mlx5: read device clock
net/mlx5: handle async device events
net/mlx5: add callback to check dev is removed
net/mlx5: add flow control callbacks
net/mlx5: add module callbacks
net/mlx5: added stats support
net/mlx5: add stubs for bonding
net/mlx5: add stub to read hw counters
net/mlx5: add multiprocess support
net/mlx5: add initialization routines
net/mlx5: add flow workspace APIs
net/mlx5: add pci probe and dev spawn support
net/mlx5: set file descriptor as non-blocking
net/mlx5: add routine to extract pdn
net/mlx5: set promisc and allmulti modes
common/mlx5: add stub for mlx5_translate_port_name
net/mlx5: add meson support for FreeBSD
doc/mlx5: update docs with FreeBSD information
doc/guides/nics/mlx5.rst | 30 +
drivers/common/mlx5/freebsd/meson.build | 149 +
drivers/common/mlx5/freebsd/mlx5_common_os.c | 172 ++
drivers/common/mlx5/freebsd/mlx5_common_os.h | 296 ++
.../common/mlx5/freebsd/mlx5_common_verbs.c | 73 +
drivers/common/mlx5/freebsd/mlx5_glue.c | 1505 ++++++++++
drivers/common/mlx5/freebsd/mlx5_glue.h | 374 +++
drivers/common/mlx5/freebsd/mlx5_inet.c | 308 ++
drivers/common/mlx5/freebsd/mlx5_inet.h | 67 +
drivers/common/mlx5/meson.build | 12 +-
drivers/net/mlx5/freebsd/meson.build | 14 +
drivers/net/mlx5/freebsd/mlx5_ethdev_os.c | 1005 +++++++
drivers/net/mlx5/freebsd/mlx5_flow_os.c | 38 +
drivers/net/mlx5/freebsd/mlx5_flow_os.h | 484 ++++
drivers/net/mlx5/freebsd/mlx5_mp_os.c | 305 ++
drivers/net/mlx5/freebsd/mlx5_os.c | 2554 +++++++++++++++++
drivers/net/mlx5/freebsd/mlx5_os.h | 22 +
drivers/net/mlx5/freebsd/mlx5_socket.c | 249 ++
drivers/net/mlx5/freebsd/mlx5_verbs.c | 1208 ++++++++
drivers/net/mlx5/freebsd/mlx5_verbs.h | 18 +
drivers/net/mlx5/freebsd/mlx5_vlan_os.c | 84 +
drivers/net/mlx5/meson.build | 14 +-
22 files changed, 8974 insertions(+), 7 deletions(-)
create mode 100644 drivers/common/mlx5/freebsd/meson.build
create mode 100644 drivers/common/mlx5/freebsd/mlx5_common_os.c
create mode 100644 drivers/common/mlx5/freebsd/mlx5_common_os.h
create mode 100644 drivers/common/mlx5/freebsd/mlx5_common_verbs.c
create mode 100644 drivers/common/mlx5/freebsd/mlx5_glue.c
create mode 100644 drivers/common/mlx5/freebsd/mlx5_glue.h
create mode 100644 drivers/common/mlx5/freebsd/mlx5_inet.c
create mode 100644 drivers/common/mlx5/freebsd/mlx5_inet.h
create mode 100644 drivers/net/mlx5/freebsd/meson.build
create mode 100644 drivers/net/mlx5/freebsd/mlx5_ethdev_os.c
create mode 100644 drivers/net/mlx5/freebsd/mlx5_flow_os.c
create mode 100644 drivers/net/mlx5/freebsd/mlx5_flow_os.h
create mode 100644 drivers/net/mlx5/freebsd/mlx5_mp_os.c
create mode 100644 drivers/net/mlx5/freebsd/mlx5_os.c
create mode 100644 drivers/net/mlx5/freebsd/mlx5_os.h
create mode 100644 drivers/net/mlx5/freebsd/mlx5_socket.c
create mode 100644 drivers/net/mlx5/freebsd/mlx5_verbs.c
create mode 100644 drivers/net/mlx5/freebsd/mlx5_verbs.h
create mode 100644 drivers/net/mlx5/freebsd/mlx5_vlan_os.c
--
2.30.2
next reply other threads:[~2021-10-08 10:55 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-07 18:43 Srikanth Kaka [this message]
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 01/41] common/mlx5: add glue files for FreeBSD Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 02/41] common/mlx5: add memory APIs Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 03/41] common/mlx5: add FreeBSD getter functions Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 04/41] common/mlx5: add mlx5_glue_constructor Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 05/41] common/mlx5: add meson support for FreeBSD Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 06/41] net/mlx5: implement device attribute getter Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 07/41] common/mlx5: retrieve the device index and name Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 08/41] common/mlx5: derive PCI addr from device path Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 09/41] net/mlx5: get the FreeBSD interface name Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 10/41] net/mlx5: socket for inter-process communication Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 11/41] common/mlx5: add mr reg/dereg API Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 12/41] net/mlx5: add helpers for MR & HW operations Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 13/41] net/mlx5: define MR callbacks Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 14/41] net/mlx5: add open IB device routines Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 15/41] common/mlx5: add PF_INET socket interface Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 16/41] common/mlx5: add VLAN vmwa structures Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 17/41] net/mlx5: add vlan vmwa stub Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 18/41] net/mlx5: add get MAC Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 19/41] net/mlx5: add get MTU Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 20/41] net/mlx5: add OS MAC routines Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 21/41] net/mlx5: add set MTU routine Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 22/41] net/mlx5: add link state callbacks Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 23/41] net/mlx5: add link update callback Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 24/41] net/mlx5: read device clock Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 25/41] net/mlx5: handle async device events Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 26/41] net/mlx5: add callback to check dev is removed Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 27/41] net/mlx5: add flow control callbacks Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 28/41] net/mlx5: add module callbacks Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 29/41] net/mlx5: added stats support Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 30/41] net/mlx5: add stubs for bonding Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 31/41] net/mlx5: add stub to read hw counters Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 32/41] net/mlx5: add multiprocess support Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 33/41] net/mlx5: add initialization routines Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 34/41] net/mlx5: add flow workspace APIs Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 35/41] net/mlx5: add pci probe and dev spawn support Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 36/41] net/mlx5: set file descriptor as non-blocking Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 37/41] net/mlx5: add routine to extract pdn Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 38/41] net/mlx5: set promisc and allmulti modes Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 39/41] common/mlx5: add stub for mlx5_translate_port_name Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 40/41] net/mlx5: add meson support for FreeBSD Srikanth Kaka
2021-10-07 18:43 ` [dpdk-dev] [PATCH v2 41/41] doc/mlx5: update docs with FreeBSD information Srikanth Kaka
2022-05-18 8:21 ` [dpdk-dev] [PATCH v2 00/41] add MLX5 FreeBSD support Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20211007184350.73858-1-srikanth.k@oneconvergence.com \
--to=srikanth.k@oneconvergence.com \
--cc=avelu@juniper.net \
--cc=dev@dpdk.org \
--cc=matan@nvidia.com \
--cc=vag.singh@oneconvergence.com \
--cc=viacheslavo@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.