get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/133673/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 133673,
    "url": "http://patches.dpdk.org/api/patches/133673/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20231031142733.2009166-4-dsosnowski@nvidia.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20231031142733.2009166-4-dsosnowski@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231031142733.2009166-4-dsosnowski@nvidia.com",
    "date": "2023-10-31T14:27:28",
    "name": "[3/8] common/mlx5: add Netlink check for Multiport E-Switch",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "44021c411ae192fed75bc48796d8e5cd18515ebe",
    "submitter": {
        "id": 2386,
        "url": "http://patches.dpdk.org/api/people/2386/?format=api",
        "name": "Dariusz Sosnowski",
        "email": "dsosnowski@nvidia.com"
    },
    "delegate": {
        "id": 3268,
        "url": "http://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20231031142733.2009166-4-dsosnowski@nvidia.com/mbox/",
    "series": [
        {
            "id": 30075,
            "url": "http://patches.dpdk.org/api/series/30075/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=30075",
            "date": "2023-10-31T14:27:26",
            "name": "net/mlx5: add Multiport E-Switch support",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/30075/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/133673/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/133673/checks/",
    "tags": {},
    "related": [],
    "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 2060543252;\n\tTue, 31 Oct 2023 15:28:56 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 490EC41156;\n\tTue, 31 Oct 2023 15:28:27 +0100 (CET)",
            "from NAM04-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam04on2088.outbound.protection.outlook.com [40.107.102.88])\n by mails.dpdk.org (Postfix) with ESMTP id 62C6641143\n for <dev@dpdk.org>; Tue, 31 Oct 2023 15:28:25 +0100 (CET)",
            "from MWH0EPF00056D1A.namprd21.prod.outlook.com\n (2603:10b6:30f:fff2:0:1:0:17) by PH8PR12MB7183.namprd12.prod.outlook.com\n (2603:10b6:510:228::20) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.25; Tue, 31 Oct\n 2023 14:28:22 +0000",
            "from MWH0EPF000971E7.namprd02.prod.outlook.com\n (2a01:111:f403:c903::1) by MWH0EPF00056D1A.outlook.office365.com\n (2603:1036:d20::b) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.8 via Frontend\n Transport; Tue, 31 Oct 2023 14:28:22 +0000",
            "from mail.nvidia.com (216.228.117.160) by\n MWH0EPF000971E7.mail.protection.outlook.com (10.167.243.75) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.6954.19 via Frontend Transport; Tue, 31 Oct 2023 14:28:21 +0000",
            "from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Tue, 31 Oct\n 2023 07:27:59 -0700",
            "from nvidia.com (10.126.231.35) by rnnvmail201.nvidia.com\n (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Tue, 31 Oct\n 2023 07:27:57 -0700"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=P1rzKC9+hG7FRxJIvvib5YCJzP5T2mSkWWXHuwH30shyi8Nfpb2cAiI123KCknwrT47YJB1nrk6vxoMG8V+0GK/VCYXiYRYkmtKIg6UssH3TxY7CsHtj/xMIlaZpyRmqapX3qiNb2ExU9pL9x4rSN+XaAir91sTyejyxMnwkRLWaFa75/n66ngbeIAfZbXmeaYnDKYcmPzajCxEbrq9liy2yeTCI2Q7rhOEWGvtlovNCLtAlf9cEhgRIA7QSLtRsOHwk+7hD8/j9RSGwjB8NEuH3zx4UM5rhRuksypuu5ZAYDhQvLxCwHTeXGgTYUz/nOLXLXBMZcO0l+B6a28HI1g==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=f2IWVZ+r4heu6N2b1j5k7HjoUmSHE8myAezAUanMOgY=;\n b=nMZX/prWoRURHY4ErdvPM2jWQMIrGhSzrqE2ITgZsn01qkTLfR5iijo+M9+s5gkJspZQ1fm3TN/io6Mvh3lVNyyBCQ7uI36n6WCD5DQtSyvJ/vk5PahohgzfsCu7/CHL890sxFa5yRx87cqoOzQrqiz9BKSF5nNW7SuUSspeZQ3LwgCn5MfFfEwvzSs8Nz4FikTDnRD/QyKYjmdn2xy12gkYZsiJbZEu5As7BGv8x6vQAT5MBVE43KXFLlm+2JwveS8mXX9Hg9IuzZaFc/DiII8TYOgNfjQ1O6nRB9O4JwpI9acesxXFEtt7LfswmHCYBu2TkhAd2JhVuGOpQYinPQ==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.160) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none (0)",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=f2IWVZ+r4heu6N2b1j5k7HjoUmSHE8myAezAUanMOgY=;\n b=eD8DMGdU0RcVs+B4pnZu4zrfKfuYBcpAgB1EwObTJ254jcBUKD7RSdq/m3G06WWO2vPAOn/vx71H+IEsSv/N1s9v5lRMMifwDqDCJfS/LSknVhtGc5Pv6D9tzyjh2n3gAoFz1SrrZZIMSMLqED6hl7x+IRpjE4NgpJl2+qUGMZAZz9vzW6dypCTON7kMUzNC7cwDONRLu0B1sK7riqVpQNS89AluZ0MzY72CF66EkqnDoT+Iz80GZQYv6L+gRfBlpt5iD+cV2RT8Mzj2/XoZMXQUOJ9dpudnIooksS3y+paYIOtSkZF4b5rYiRhxliMnBskdjv+5oYoRxq1y8ZO8KA==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.160)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.160 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C",
        "From": "Dariusz Sosnowski <dsosnowski@nvidia.com>",
        "To": "Matan Azrad <matan@nvidia.com>, Viacheslav Ovsiienko\n <viacheslavo@nvidia.com>, Ori Kam <orika@nvidia.com>, Suanming Mou\n <suanmingm@nvidia.com>",
        "CC": "<dev@dpdk.org>, Raslan Darawsheh <rasland@nvidia.com>",
        "Subject": "[PATCH 3/8] common/mlx5: add Netlink check for Multiport E-Switch",
        "Date": "Tue, 31 Oct 2023 16:27:28 +0200",
        "Message-ID": "<20231031142733.2009166-4-dsosnowski@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20231031142733.2009166-1-dsosnowski@nvidia.com>",
        "References": "<20231031142733.2009166-1-dsosnowski@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.126.231.35]",
        "X-ClientProxiedBy": "rnnvmail202.nvidia.com (10.129.68.7) To\n rnnvmail201.nvidia.com (10.129.68.8)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "MWH0EPF000971E7:EE_|PH8PR12MB7183:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "198f5600-e0f1-423c-f42d-08dbda1da2a4",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n sZ5ApEgBpvNnEX86ZgDLwNbABgrU7ttbEU3B+vUMUWKDV47XGFsP96QIygbkrkJmySjcg+Q71ovAbXa+gpVtPvQy6hDGq8Ltfu88YtdFWugzRBr8UfM0HtARGrV8ecEyP6JEHC7P5rqWvnEQMvTkBCqgjeaXvS3oJpo0nfAhdecGMtf4GvBIgT4rc9ffafYmcQDfpfC8f7FVsIMmAO9PaZrJMFLjcGh8laalYxz+XmI2EmckGVxrEj7xddTHzo7Hijm1N8hYiE9GTNRPIEfuqkAmEMWWMhQnmy1uL9qRBbuMhI33bMXhQJR3LAZ8A2QtfSnkloJgN22HvsWSeQxDRKdKfyq4fvI+hVSWNcOXZCbtMuppPGV1bCOmccLyMWxVfTmRISDB3rFxvskSHxPILuS1y3VjECl7hGt1Qknts3AZPDtBs0yhiZ1uZVV1LKxklFeX5tMC3w94wTdDSoUE0ZDNRcW7ZXV7UvgUnJ6YTL4HwoRz/Vv8IwP9wbL9JpdOkGupO2IbZWCk+IgF0N++2IQcWhZaRMILCY849rcLXmjZacbqWGDQ4sZyGnATMkAy76rUK8WDkJnshq7phQ9VFTOuzOAO4ZQjkv5v/zp3H4/SpVncyrOD1fUvQsdH06NWZIUvvwQx+OcR/zPsXZLZBxBks3eAWep9nh7UtOEWNm8Vqo/t0PBG82Fr4DpPxLv7tyxiCVsPS5S32Vb6uDkSj8+InoTg3bu8LEpL0c/RYVnRgQgMh3ux5wZrlJrA/OAc",
        "X-Forefront-Antispam-Report": "CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE;\n SFS:(13230031)(4636009)(136003)(39860400002)(376002)(396003)(346002)(230922051799003)(82310400011)(1800799009)(451199024)(186009)(64100799003)(40470700004)(46966006)(36840700001)(2906002)(6286002)(26005)(1076003)(16526019)(2616005)(336012)(83380400001)(478600001)(7696005)(36860700001)(6666004)(426003)(47076005)(5660300002)(41300700001)(70206006)(70586007)(110136005)(107886003)(8676002)(4326008)(8936002)(316002)(54906003)(6636002)(40460700003)(356005)(7636003)(82740400003)(86362001)(36756003)(55016003)(40480700001);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "31 Oct 2023 14:28:21.9120 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 198f5600-e0f1-423c-f42d-08dbda1da2a4",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n MWH0EPF000971E7.namprd02.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "PH8PR12MB7183",
        "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>,\n <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>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "This patch implements checking if Multiport E-Switch is enabled\non a given PCI device using Devlink Linux kernel interface.\nThis facility will be used in follow up commits, which add support\nfor such configuration to mlx5 PMD.\n\nIf mlx5_core Linux kernel module supports Multiport E-Switch,\nthen it can be configured through a Devlink boolean parameter\n\"esw_multiport\". Checking the value of this parameter\nis implemented in mlx5_nl_devlink_esw_multiport_get() function.\nIf such parameter does not exist, this function returns -EINVAL.\n\nTo manually check if mlx5_core kernel module supports \"esw_multiport\"\nparameter, and check if Multiport E-Switch is enabled,\none can use the following command:\n\n  # <pci-dbdf> should be substituted with PCI device address\n  # in format <domain>:<bus>:<device>:<function>.\n  $ devlink dev param show pci/0000:08:00.0 name esw_multiport\n  pci/0000:08:00.0:\n    name esw_multiport type driver-specific\n      values:\n        cmode runtime value true\n\nIf parameter is not supported, Devlink command fails with\n\"Invalid argument\" error.\n\nSigned-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>\nAcked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>\n---\n drivers/common/mlx5/linux/mlx5_nl.c | 70 +++++++++++++++++++++++++++++\n drivers/common/mlx5/linux/mlx5_nl.h |  5 +++\n drivers/common/mlx5/version.map     |  2 +\n 3 files changed, 77 insertions(+)",
    "diff": "diff --git a/drivers/common/mlx5/linux/mlx5_nl.c b/drivers/common/mlx5/linux/mlx5_nl.c\nindex 33670bb5c8..28a1f56dba 100644\n--- a/drivers/common/mlx5/linux/mlx5_nl.c\n+++ b/drivers/common/mlx5/linux/mlx5_nl.c\n@@ -1962,3 +1962,73 @@ mlx5_nl_read_events(int nlsk_fd, mlx5_nl_event_cb *cb, void *cb_arg)\n \t}\n \treturn 0;\n }\n+\n+static int\n+mlx5_nl_esw_multiport_cb(struct nlmsghdr *nh, void *arg)\n+{\n+\n+\tint ret = -EINVAL;\n+\tint *enable = arg;\n+\tstruct nlattr *tail = RTE_PTR_ADD(nh, nh->nlmsg_len);\n+\tstruct nlattr *nla = RTE_PTR_ADD(nh, NLMSG_ALIGN(sizeof(*nh)) +\n+\t\t\t\t\tNLMSG_ALIGN(sizeof(struct genlmsghdr)));\n+\n+\twhile (nla->nla_len && nla < tail) {\n+\t\tswitch (nla->nla_type) {\n+\t\t/* Expected nested attributes case. */\n+\t\tcase DEVLINK_ATTR_PARAM:\n+\t\tcase DEVLINK_ATTR_PARAM_VALUES_LIST:\n+\t\tcase DEVLINK_ATTR_PARAM_VALUE:\n+\t\t\tret = 0;\n+\t\t\tnla += 1;\n+\t\t\tbreak;\n+\t\tcase DEVLINK_ATTR_PARAM_VALUE_DATA:\n+\t\t\t*enable = 1;\n+\t\t\treturn 0;\n+\t\tdefault:\n+\t\t\tnla = RTE_PTR_ADD(nla, NLMSG_ALIGN(nla->nla_len));\n+\t\t}\n+\t}\n+\t*enable = 0;\n+\treturn ret;\n+}\n+\n+#define NL_ESW_MULTIPORT_PARAM \"esw_multiport\"\n+\n+int\n+mlx5_nl_devlink_esw_multiport_get(int nlsk_fd, int family_id, const char *pci_addr, int *enable)\n+{\n+\tstruct nlmsghdr *nlh;\n+\tstruct genlmsghdr *genl;\n+\tuint32_t sn = MLX5_NL_SN_GENERATE;\n+\tint ret;\n+\tuint8_t buf[NLMSG_ALIGN(sizeof(struct nlmsghdr)) +\n+\t\t    NLMSG_ALIGN(sizeof(struct genlmsghdr)) +\n+\t\t    NLMSG_ALIGN(sizeof(struct nlattr)) * 4 +\n+\t\t    NLMSG_ALIGN(MLX5_NL_MAX_ATTR_SIZE) * 4];\n+\n+\tmemset(buf, 0, sizeof(buf));\n+\tnlh = (struct nlmsghdr *)buf;\n+\tnlh->nlmsg_len = sizeof(struct nlmsghdr);\n+\tnlh->nlmsg_type = family_id;\n+\tnlh->nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK;\n+\tgenl = (struct genlmsghdr *)nl_msg_tail(nlh);\n+\tnlh->nlmsg_len += sizeof(struct genlmsghdr);\n+\tgenl->cmd = DEVLINK_CMD_PARAM_GET;\n+\tgenl->version = DEVLINK_GENL_VERSION;\n+\tnl_attr_put(nlh, DEVLINK_ATTR_BUS_NAME, \"pci\", 4);\n+\tnl_attr_put(nlh, DEVLINK_ATTR_DEV_NAME, pci_addr, strlen(pci_addr) + 1);\n+\tnl_attr_put(nlh, DEVLINK_ATTR_PARAM_NAME,\n+\t\t    NL_ESW_MULTIPORT_PARAM, sizeof(NL_ESW_MULTIPORT_PARAM));\n+\tret = mlx5_nl_send(nlsk_fd, nlh, sn);\n+\tif (ret >= 0)\n+\t\tret = mlx5_nl_recv(nlsk_fd, sn, mlx5_nl_esw_multiport_cb, enable);\n+\tif (ret < 0) {\n+\t\tDRV_LOG(DEBUG, \"Failed to get Multiport E-Switch enable on device %s: %d.\",\n+\t\t\tpci_addr, ret);\n+\t\treturn ret;\n+\t}\n+\tDRV_LOG(DEBUG, \"Multiport E-Switch is %sabled for device \\\"%s\\\".\",\n+\t\t*enable ? \"en\" : \"dis\", pci_addr);\n+\treturn ret;\n+}\ndiff --git a/drivers/common/mlx5/linux/mlx5_nl.h b/drivers/common/mlx5/linux/mlx5_nl.h\nindex db01d7323e..580de3b769 100644\n--- a/drivers/common/mlx5/linux/mlx5_nl.h\n+++ b/drivers/common/mlx5/linux/mlx5_nl.h\n@@ -71,6 +71,7 @@ __rte_internal\n uint32_t mlx5_nl_vlan_vmwa_create(struct mlx5_nl_vlan_vmwa_context *vmwa,\n \t\t\t\t  uint32_t ifindex, uint16_t tag);\n \n+__rte_internal\n int mlx5_nl_devlink_family_id_get(int nlsk_fd);\n int mlx5_nl_enable_roce_get(int nlsk_fd, int family_id, const char *pci_addr,\n \t\t\t    int *enable);\n@@ -82,4 +83,8 @@ int mlx5_nl_read_events(int nlsk_fd, mlx5_nl_event_cb *cb, void *cb_arg);\n __rte_internal\n int mlx5_nl_parse_link_status_update(struct nlmsghdr *hdr, uint32_t *ifindex);\n \n+__rte_internal\n+int mlx5_nl_devlink_esw_multiport_get(int nlsk_fd, int family_id,\n+\t\t\t\t      const char *pci_addr, int *enable);\n+\n #endif /* RTE_PMD_MLX5_NL_H_ */\ndiff --git a/drivers/common/mlx5/version.map b/drivers/common/mlx5/version.map\nindex 0758ba76de..074eed46fd 100644\n--- a/drivers/common/mlx5/version.map\n+++ b/drivers/common/mlx5/version.map\n@@ -125,6 +125,8 @@ INTERNAL {\n \tmlx5_mr_addr2mr_bh;\n \n \tmlx5_nl_allmulti; # WINDOWS_NO_EXPORT\n+\tmlx5_nl_devlink_esw_multiport_get; # WINDOWS_NO_EXPORT\n+\tmlx5_nl_devlink_family_id_get; # WINDOWS_NO_EXPORT\n \tmlx5_nl_ifindex; # WINDOWS_NO_EXPORT\n \tmlx5_nl_init; # WINDOWS_NO_EXPORT\n \tmlx5_nl_mac_addr_add; # WINDOWS_NO_EXPORT\n",
    "prefixes": [
        "3/8"
    ]
}