Message ID | 20211007184350.73858-1-srikanth.k@oneconvergence.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 266ACA034F; Fri, 8 Oct 2021 12:55:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 13880410DA; Fri, 8 Oct 2021 12:55:56 +0200 (CEST) Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) by mails.dpdk.org (Postfix) with ESMTP id 72867411E0 for <dev@dpdk.org>; Thu, 7 Oct 2021 20:44:13 +0200 (CEST) Received: by mail-pj1-f51.google.com with SMTP id pf6-20020a17090b1d8600b0019fa884ab85so7594229pjb.5 for <dev@dpdk.org>; Thu, 07 Oct 2021 11:44:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oneconvergence.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=czKmBFhYmtuxh4U0MOJNqCPs3sE4uJ8Tx812mGojFXY=; b=K6yAJw9LpwZjbTAmh6x/Bxrj+8qLLyZWEMdL8ppjFsxP6RlUBMO9J7WNIDHLWUIdGs Xqnpqr8/JhvkEg3SicciUmr1lXeP+vZpzBThODZcrI6e1wc7h31jZsNHCTaLtoXVuqHy rtWkzW0C1wij2pEAk503mnglX+uL9GuV4h1vM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=czKmBFhYmtuxh4U0MOJNqCPs3sE4uJ8Tx812mGojFXY=; b=BjqwJ9Vsb/zwbzgmBOjVKa9qtgO2O67YT3Rb7HaRKOaJopGYA4YtP1WUXMCeoOv5SA /n2dHFNH/yIMlL8R9mREH0USUMu6jbe5NICCZgA3rxNKv+mCLWpFvDryj9LPfdLhQjPh HerQVJ4yQoO7pcpgD4Mb1VceI9FYD7hlKhv6N+MPXksZxjdAZMtfUCHIQQUCuQEP+2s3 iDF9MSs9qZsAXAGQfTgGzhIIkTdtfRyi906AqFAWdpxImoops4971QetYZPSfUuq4FpX aM3f8yOynv+pJtukD79915iYz24mTHm8JY0bGdquZUhIPML5VaUoV91c07QqEhQW7jp0 gP6Q== X-Gm-Message-State: AOAM532N1rjqRdMDa4mFuTX/PPbUipi58urIBBY9eBThdJ8qfl6l3ggN b9SDUJm78khPm9VA6Uo+D/yxPA== X-Google-Smtp-Source: ABdhPJzzJDRZ21N3iSw/05QCNB+8frG5whk6t0UCzEMjm3pjc96ypvlcuquMYd3S16m8Ylu7c0U7yw== X-Received: by 2002:a17:902:a58b:b0:13e:cfb5:c086 with SMTP id az11-20020a170902a58b00b0013ecfb5c086mr5215601plb.8.1633632252380; Thu, 07 Oct 2021 11:44:12 -0700 (PDT) Received: from srikanth-ThinkPad-T450.domain.name ([136.185.113.102]) by smtp.gmail.com with ESMTPSA id c11sm3311586pji.38.2021.10.07.11.44.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Oct 2021 11:44:11 -0700 (PDT) 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> Date: Fri, 8 Oct 2021 00:13:09 +0530 Message-Id: <20211007184350.73858-1-srikanth.k@oneconvergence.com> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Mailman-Approved-At: Fri, 08 Oct 2021 12:55:54 +0200 Subject: [dpdk-dev] [PATCH v2 00/41] add MLX5 FreeBSD support 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> Errors-To: dev-bounces@dpdk.org Sender: "dev" <dev-bounces@dpdk.org> |
Series |
add MLX5 FreeBSD support
|
|
Message
Srikanth Kaka
Oct. 7, 2021, 6:43 p.m. UTC
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
Comments
07/10/2021 20:43, Srikanth Kaka: > 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 What is the status of the dependencies on FreeBSD side? It seems to be blocked. It seems the review of the DPDK series did not start. We should probably have a progress on the FreeBSD side first.