Message ID | 20210927133450.10653-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 3B21CA0C46; Mon, 27 Sep 2021 16:58:09 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BA146410DF; Mon, 27 Sep 2021 16:58:08 +0200 (CEST) Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by mails.dpdk.org (Postfix) with ESMTP id 8510D40E3C for <dev@dpdk.org>; Mon, 27 Sep 2021 15:35:13 +0200 (CEST) Received: by mail-pj1-f44.google.com with SMTP id nn5-20020a17090b38c500b0019af1c4b31fso13716949pjb.3 for <dev@dpdk.org>; Mon, 27 Sep 2021 06:35: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=cAK2Swlzeu+WcpkpXKU4+WuRzsiFtL4qm1xafas/zEE=; b=RnXjk9iddtZM9ImdeLILJzgkDIqnhIZIEMZgn9zI7Uzud9jNPiYUH3pFJvSLflvqFm 34aeCoSpL7oBaiCPNkvQLxii9QV2fsgv0008XF35JF1vgpYN5otKdexHu9WI/CQVh3Ec wfUBEmt7LxaTpt67cu8/lK3GE4hjr9qhx14d0= 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=cAK2Swlzeu+WcpkpXKU4+WuRzsiFtL4qm1xafas/zEE=; b=VM8TfUuY0atBdvEJkQ1NIca/NtYTWme26CMz05s+6F6g4GdY2K//H6BYhUsKHalKQm 6zN4crhxJpeYePaqVojZV92vuAgQQ5VO/2Te1+yNAGYGasc1tJDi3HJZM9aDTsuVioGn xwEY529uNMf7wsH2GlikFOxuW+tnZ0p/ajPTcEdTpTI/2AxUQuQXFMc8L6MXoFzmwBUu Aa+1f+2eTUqiucw6tN7KWsFnAxQJAX0caC4vy82dif+0W3OZWj+eBufPEw5VFh2uPiCl P59HbpRQSezejH5KdBhwxE1n4Jh4+V1x/kY2fYH3LVGyKP1aPbDxDSe6pGhexIGnO0A7 qggw== X-Gm-Message-State: AOAM533XC2KPKqDjSWHXWdB8v2K2SVoMOSv93dQ25E+etdAPlGATIhDw 0Arl9RHJlJo8TpROOjg1MxmqmA== X-Google-Smtp-Source: ABdhPJxVKuFc7XTJx+Gy2x9zkVAlO9TW/XusdLJtOUR0s10VJrb/0X9KoctQaSag/V6jhdhe630+3Q== X-Received: by 2002:a17:90a:6283:: with SMTP id d3mr48407pjj.73.1632749712607; Mon, 27 Sep 2021 06:35:12 -0700 (PDT) Received: from srikanth-ThinkPad-T450.domain.name ([223.178.22.200]) by smtp.gmail.com with ESMTPSA id t6sm17342274pfh.63.2021.09.27.06.35.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Sep 2021 06:35:12 -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: Mon, 27 Sep 2021 19:04:31 +0530 Message-Id: <20210927133450.10653-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: Mon, 27 Sep 2021 16:58:07 +0200 Subject: [dpdk-dev] [PATCH 00/19] 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 |
MLX5 FreeBSD support
|
|
Message
Srikanth Kaka
Sept. 27, 2021, 1:34 p.m. UTC
This patch series adds support for MLX5 PMD on FreeBSD Srikanth Kaka (19): common/mlx5: FreeBSD stub net/mlx5: FreeBSD stub common/mlx5: FreeBSD disabling auxiliary bus support net/mlx5: FreeBSD disabling auxiliary bus support net/mlx5: Modified PCI probe to work on FreeBSD common/mlx5: Define PF_INET socket net/mlx5: Use the newly defined INET socket common/mlx5: derive PCI addr in FreeBSD common/mlx5: get interface name net/mlx5: fix socket MAC request net/mlx5: removing port representator support net/mlx5: Added procedure to detect link state net/mlx5: Added placeholder for VLAN vmwa net/mlx5: Added stats support net/mlx5: making flow control DPDK callback invalid net/mlx5: making module DPDK callbacks invalid common/mlx5: fixed missing dependency in mlx5_glue.h net/mlx5: fixed compilation warnings mlx5: Added meson support for FreeBSD drivers/common/mlx5/freebsd/meson.build | 189 ++ drivers/common/mlx5/freebsd/mlx5_common_os.c | 387 +++ drivers/common/mlx5/freebsd/mlx5_common_os.h | 304 ++ .../common/mlx5/freebsd/mlx5_common_verbs.c | 90 + drivers/common/mlx5/freebsd/mlx5_glue.c | 1505 ++++++++++ drivers/common/mlx5/freebsd/mlx5_glue.h | 374 +++ drivers/common/mlx5/freebsd/mlx5_inet.c | 306 ++ drivers/common/mlx5/freebsd/mlx5_inet.h | 75 + drivers/common/mlx5/meson.build | 12 +- drivers/net/mlx5/freebsd/meson.build | 14 + drivers/net/mlx5/freebsd/mlx5_ethdev_os.c | 1187 ++++++++ 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 | 2600 +++++++++++++++++ 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 +- 21 files changed, 9458 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
27/09/2021 15:34, Srikanth Kaka: > This patch series adds support for MLX5 PMD on FreeBSD > > drivers/common/mlx5/freebsd/meson.build | 189 ++ > drivers/common/mlx5/freebsd/mlx5_common_os.c | 387 +++ > drivers/common/mlx5/freebsd/mlx5_common_os.h | 304 ++ > .../common/mlx5/freebsd/mlx5_common_verbs.c | 90 + > drivers/common/mlx5/freebsd/mlx5_glue.c | 1505 ++++++++++ > drivers/common/mlx5/freebsd/mlx5_glue.h | 374 +++ > drivers/common/mlx5/freebsd/mlx5_inet.c | 306 ++ > drivers/common/mlx5/freebsd/mlx5_inet.h | 75 + > drivers/common/mlx5/meson.build | 12 +- > drivers/net/mlx5/freebsd/meson.build | 14 + > drivers/net/mlx5/freebsd/mlx5_ethdev_os.c | 1187 ++++++++ > 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 | 2600 +++++++++++++++++ > 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 +- > 21 files changed, 9458 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 That's a lot of new code, thanks for the effort. Please could you summarize which features are supported, what are the dependencies, and how is it tested?
Hi Thomas, PFA the test report. It covers all the features that were tested across various platforms. The features mentioned in the test report depend on a modified FreeBSD OFED. There is an ongoing review of these changes by the FreeBSD community. https://reviews.freebsd.org/p/vag.singh_oneconvergence.com/ Regards, Srikanth On Wed, Sep 29, 2021 at 5:50 PM Thomas Monjalon <thomas@monjalon.net> wrote: > 27/09/2021 15:34, Srikanth Kaka: > > This patch series adds support for MLX5 PMD on FreeBSD > > > > drivers/common/mlx5/freebsd/meson.build | 189 ++ > > drivers/common/mlx5/freebsd/mlx5_common_os.c | 387 +++ > > drivers/common/mlx5/freebsd/mlx5_common_os.h | 304 ++ > > .../common/mlx5/freebsd/mlx5_common_verbs.c | 90 + > > drivers/common/mlx5/freebsd/mlx5_glue.c | 1505 ++++++++++ > > drivers/common/mlx5/freebsd/mlx5_glue.h | 374 +++ > > drivers/common/mlx5/freebsd/mlx5_inet.c | 306 ++ > > drivers/common/mlx5/freebsd/mlx5_inet.h | 75 + > > drivers/common/mlx5/meson.build | 12 +- > > drivers/net/mlx5/freebsd/meson.build | 14 + > > drivers/net/mlx5/freebsd/mlx5_ethdev_os.c | 1187 ++++++++ > > 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 | 2600 +++++++++++++++++ > > 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 +- > > 21 files changed, 9458 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 > > That's a lot of new code, thanks for the effort. > Please could you summarize which features are supported, > what are the dependencies, and how is it tested? > > >
29/09/2021 17:56, Srikanth K: > Hi Thomas, > > PFA the test report. It covers all the features that were tested across > various platforms. > > The features mentioned in the test report depend on a modified FreeBSD > OFED. There is an ongoing review of these changes by the FreeBSD community. > https://reviews.freebsd.org/p/vag.singh_oneconvergence.com/ OK, this dependency is very important to notify in this patchset. For next version, please add it in the cover letter. The supported features (MTU, MAC, VLAN, RSS, fragments, jumbo, stats and trust mode) should be listed in the cover letter as well as in the mlx5 documentation. Please follow what was done for Windows. About the patches organization, please do not fix or remove something which was added in a previous patch. You need to have logical steps done in each patch without going backward. Please start with enabling compilation in first patch, so each step can be tested. Thanks
Sure, I will follow the Windows support approach. Regarding the patches organization, they were arranged logically to the best of my knowledge. The approach followed is to take Linux PMD code and replace the Linux dependent part with the FreeBSD compatible code. All the removals are of this Linux dependent code. For the same reason, FreeBSD meson support is added in the last patch or otherwise Linux code would break compilation in FreeBSD. The patches status is still "New" on the DPDK site, please let me know when I can submit the next version. Regards, Srikanth On Wed, Sep 29, 2021 at 9:50 PM Thomas Monjalon <thomas@monjalon.net> wrote: > 29/09/2021 17:56, Srikanth K: > > Hi Thomas, > > > > PFA the test report. It covers all the features that were tested across > > various platforms. > > > > The features mentioned in the test report depend on a modified FreeBSD > > OFED. There is an ongoing review of these changes by the FreeBSD > community. > > https://reviews.freebsd.org/p/vag.singh_oneconvergence.com/ > > OK, this dependency is very important to notify in this patchset. > For next version, please add it in the cover letter. > > The supported features (MTU, MAC, VLAN, RSS, fragments, jumbo, stats > and trust mode) should be listed in the cover letter as well as > in the mlx5 documentation. Please follow what was done for Windows. > > About the patches organization, please do not fix or remove something > which was added in a previous patch. You need to have logical steps > done in each patch without going backward. > Please start with enabling compilation in first patch, > so each step can be tested. > > Thanks > > >
30/09/2021 18:27, Srikanth K: > Sure, I will follow the Windows support approach. > > Regarding the patches organization, they were arranged logically to the > best of my knowledge. It is not. > The approach followed is to take Linux PMD code and replace the Linux > dependent part with the > FreeBSD compatible code. All the removals are of this Linux dependent code. The removals are in the directory drivers/net/mlx5/freebsd/ That's simple: don't add code that you remove later. > For the same reason, > FreeBSD meson support is added in the last patch or otherwise Linux code > would break compilation > in FreeBSD. Simple: add only code which compiles. > The patches status is still "New" on the DPDK site, please let me know when > I can submit the next version. You can submit new versions and mark old ones as superseded. The full process is described in the contributing guide, please read it carefully. > On Wed, Sep 29, 2021 at 9:50 PM Thomas Monjalon <thomas@monjalon.net> wrote: > > > 29/09/2021 17:56, Srikanth K: > > > Hi Thomas, > > > > > > PFA the test report. It covers all the features that were tested across > > > various platforms. > > > > > > The features mentioned in the test report depend on a modified FreeBSD > > > OFED. There is an ongoing review of these changes by the FreeBSD > > community. > > > https://reviews.freebsd.org/p/vag.singh_oneconvergence.com/ > > > > OK, this dependency is very important to notify in this patchset. > > For next version, please add it in the cover letter. > > > > The supported features (MTU, MAC, VLAN, RSS, fragments, jumbo, stats > > and trust mode) should be listed in the cover letter as well as > > in the mlx5 documentation. Please follow what was done for Windows. > > > > About the patches organization, please do not fix or remove something > > which was added in a previous patch. You need to have logical steps > > done in each patch without going backward. > > Please start with enabling compilation in first patch, > > so each step can be tested. > > > > Thanks > > > > > > >
Got it, thanks for the clarification. Regards, Srikanth On Thu, Sep 30, 2021 at 10:25 PM Thomas Monjalon <thomas@monjalon.net> wrote: > 30/09/2021 18:27, Srikanth K: > > Sure, I will follow the Windows support approach. > > > > Regarding the patches organization, they were arranged logically to the > > best of my knowledge. > > It is not. > > > The approach followed is to take Linux PMD code and replace the Linux > > dependent part with the > > FreeBSD compatible code. All the removals are of this Linux dependent > code. > > The removals are in the directory drivers/net/mlx5/freebsd/ > That's simple: don't add code that you remove later. > > > For the same reason, > > FreeBSD meson support is added in the last patch or otherwise Linux code > > would break compilation > > in FreeBSD. > > Simple: add only code which compiles. > > > The patches status is still "New" on the DPDK site, please let me know > when > > I can submit the next version. > > You can submit new versions and mark old ones as superseded. > The full process is described in the contributing guide, > please read it carefully. > > > > On Wed, Sep 29, 2021 at 9:50 PM Thomas Monjalon <thomas@monjalon.net> > wrote: > > > > > 29/09/2021 17:56, Srikanth K: > > > > Hi Thomas, > > > > > > > > PFA the test report. It covers all the features that were tested > across > > > > various platforms. > > > > > > > > The features mentioned in the test report depend on a modified > FreeBSD > > > > OFED. There is an ongoing review of these changes by the FreeBSD > > > community. > > > > https://reviews.freebsd.org/p/vag.singh_oneconvergence.com/ > > > > > > OK, this dependency is very important to notify in this patchset. > > > For next version, please add it in the cover letter. > > > > > > The supported features (MTU, MAC, VLAN, RSS, fragments, jumbo, stats > > > and trust mode) should be listed in the cover letter as well as > > > in the mlx5 documentation. Please follow what was done for Windows. > > > > > > About the patches organization, please do not fix or remove something > > > which was added in a previous patch. You need to have logical steps > > > done in each patch without going backward. > > > Please start with enabling compilation in first patch, > > > so each step can be tested. > > > > > > Thanks > > > > > > > > > > > > > > > > >