From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 68086A0350 for ; Tue, 23 Jun 2020 16:00:22 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 524391D687; Tue, 23 Jun 2020 16:00:22 +0200 (CEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2049.outbound.protection.outlook.com [40.107.22.49]) by dpdk.org (Postfix) with ESMTP id E93621D66F; Tue, 23 Jun 2020 16:00:19 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iPBdH+xnak25fbWz2TCnc+eE3BdLgB4/dyQqNU9wxzI1b86HqJZ+iuNsKglyJQH6uP5GlvjS+IMHdIhRyMsY4DCYpPTwhubF4ePjQOCyN0AtJ+mFgk0kaAN8NzHYwuFN7XS3Xq1Td9uS5t111H3yzJkv9ka1jKeqIm8WQptVyCcXyHe2H0ubgY4qKoDYgVLhVCrhbuslE6hz1Sz4oYHaCprlgK6FVvimJRIyEba5Opynsb8qpDrGfj69El/EC4xbU6UnL8Dz1aJywTUOLHiqRFIdNJfIGxLYErOFOj5Fwql397X5yopEKEOysp6jEij5yNmJ4CgOBBppZVTk9F9ryw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wv19PYav7CZ1y10ArgGBKPMQrnHJCgbuXP2AKZneAg4=; b=VG/UuCH6PRRmMFngcpj6BhAsPJKp+/Bo+nO5z4VpTFqC0P1Zkax/azPWQKjK3HHVjVUAFHWjOoJRwj1OBpBi/YvB1nTk4IWz2YmLV0Y47JpKj7DDMHjkXu391LD1ZKARuXF3vchAmv0RPaDwB9JEZzzOzkFu5EsL0eOE/nskmjuKd+x87gPkoK+PS75JlLjznxCaRxpeTfUA4cqQzFIwfw1fNWF7O/ayB5t+bgVLZOs/7rv1NY7Kmmwt4WGSvY5GlJ1E2vo7uceYhn1uVrmTv/FwnOM9PLPvQhHv2cDSCG2AS6cLhbhdYDaSk2XkwMIUB5shI8yOIzvcqh2xzMOFPQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wv19PYav7CZ1y10ArgGBKPMQrnHJCgbuXP2AKZneAg4=; b=Tc750YQ+Mu6DHj/M9bNWRwb6HwCAOYCPqLeUrG/pntaaZOqS1k2WP9NvZ56UPkLVdOxAJqxe002nk2LXLlFAnyqPK4JYtRdZZy2KadY0901Z4nxM3tFu3WTOgAnTPBefpjHS0ni1jYrAJ0vu8ZuolESTWladnwZVrz60hu1uvBI= Received: from AM0PR05MB6707.eurprd05.prod.outlook.com (2603:10a6:20b:15b::17) by AM0PR05MB6130.eurprd05.prod.outlook.com (2603:10a6:208:12e::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3109.22; Tue, 23 Jun 2020 14:00:18 +0000 Received: from AM0PR05MB6707.eurprd05.prod.outlook.com ([fe80::ecd3:6008:3784:4012]) by AM0PR05MB6707.eurprd05.prod.outlook.com ([fe80::ecd3:6008:3784:4012%5]) with mapi id 15.20.3109.027; Tue, 23 Jun 2020 14:00:18 +0000 From: Raslan Darawsheh To: Slava Ovsiienko , "dev@dpdk.org" CC: Matan Azrad , "stable@dpdk.org" Thread-Topic: [PATCH] net/mlx5: fix host physical function representor naming Thread-Index: AQHWSTK1cxs0fmQ0SU62RQcjZhuTHajmObHw Date: Tue, 23 Jun 2020 14:00:18 +0000 Message-ID: References: <1592898514-15422-1-git-send-email-viacheslavo@mellanox.com> In-Reply-To: <1592898514-15422-1-git-send-email-viacheslavo@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mellanox.com; dkim=none (message not signed) header.d=none;mellanox.com; dmarc=none action=none header.from=mellanox.com; x-originating-ip: [84.242.49.134] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: e1f0a8d1-075a-4ec9-779b-08d8177dc347 x-ms-traffictypediagnostic: AM0PR05MB6130: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5797; x-forefront-prvs: 04433051BF x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xIjmXznpIWnUXjji6GnqZbyb818uTAoc72dxZlXWRCWbr277vbuxNgu4M2cpCXY7TupnqZc2xTxkvE/RCwoAlMHqZ8TK/ZRqat4e82S3fEOjq3O468x+X9obdV891r5oVL4oec8LxpPjyx6PvUb+Yy9mSxT42ZKiTjciAUte8wkxcdLhaOENOvEclAlodmoHKyw+fTkks23BZm3F4Yv7sq2+srutEqAeTYSvxTraqShpV0/TqLb/FfzMH9430pOEa7dYcG/GVsUnmMr2YQsi+yYbdrjrwTG+LN14caAP+McXxPeLnzY3Ip/tft4ALIn9 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR05MB6707.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(366004)(5660300002)(498600001)(2906002)(86362001)(33656002)(66446008)(7696005)(9686003)(66946007)(55016002)(66476007)(66556008)(64756008)(83380400001)(76116006)(52536014)(54906003)(450100002)(186003)(4326008)(6506007)(8676002)(110136005)(26005)(8936002)(71200400001)(53546011); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: A44FsADYhXsAfRA3Wa3HJ1L2Qp0yUCxcChbMmvdqScWih0NKui2ZkSE0otyV5QVp7QLf59IRfTpOoNfX91Ndmr43DPW+OSd0JdU/HxcZliXKRJgPBdEcJu9BoT4Kg+Lo9Sno+CTiKjdPK2WmKSqtqPjGnZ78BcmQW86y5O8cOZM1HZ4Ed8tfKBJGYx3ZC09Suw4fz5iOQG8E94U3x3zq1Bvedd/Qzhnbh+dzSf7GG+P5z1Nkxfb8al8NHB57YHeYolftlqXooYBacXrfBijMVM54Kjd617UVj8bW5VbMVuRacus0nvrISdS2Fk3DnypOlzLs+f7A5uFhUHpXEaO3dO++Y9iHAs/JWnCr/o5HAsWIoRh6rRp6tJgPwjIUO+vyNd5yXoE62SW7AiQWvgdT79xDKO60rYTWNb895TQ7O6ViEtjNLcXNiNy7yg7SI79HOuqZXTmEPFqS5WhRwDgaszxwL63fQeK+gEIOikGLysk= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: e1f0a8d1-075a-4ec9-779b-08d8177dc347 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2020 14:00:18.6441 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0iTm5ySQcdifHWz/7aUWvuv9QFjS2ucCcZTbzIysqtwMeQifH+Q7NCQJSp9LRZ6Ks3RcbsfY0NDsPYZKeK+FjA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB6130 Subject: Re: [dpdk-stable] [PATCH] net/mlx5: fix host physical function representor naming X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, > -----Original Message----- > From: Viacheslav Ovsiienko > Sent: Tuesday, June 23, 2020 10:49 AM > To: dev@dpdk.org > Cc: Matan Azrad ; Raslan Darawsheh > ; stable@dpdk.org > Subject: [PATCH] net/mlx5: fix host physical function representor naming >=20 > The new kernel adds the names like "pf0" for Host PCI physical > function representor on Bluefield SmartNIC hosts. This patch > provides correct HPF representor recognition over the kernel > versions 5.7 and laters. >=20 > The following port naming formats are supported: >=20 > - missing physical port name (no sysfs/netlink key) at all, > master is assumed >=20 > - decimal digits (for example "12"), representor is > assumed, the value is the index of attached VF >=20 > - "p" followed by decimal digits, for example "p2", master > is assumed >=20 > - "pf" followed by PF index, for example "pf0", Host PF > representor is assumed on SmartNIC systems. >=20 > - "pf" followed by PF index concatenated with "vf" followed by > VF index, for example "pf0vf1", representor is assumed. > If index of VF is "-1" it is a special case of Host PF > representor, this representor must be indexed in devargs > as 65535, for example representor=3D[0-3,65535] will > allow representors for VF0, VF1, VF2, VF3 and for host PF. >=20 > Fixes: 79aa430721b1 ("common/mlx5: split common file under Linux > directory") > Cc: stable@dpdk.org >=20 > Signed-off-by: Viacheslav Ovsiienko > --- > drivers/common/mlx5/linux/mlx5_common_os.c | 11 +++++++++++ > drivers/common/mlx5/linux/mlx5_nl.c | 2 ++ > drivers/common/mlx5/mlx5_common.h | 1 + > drivers/net/mlx5/linux/mlx5_ethdev_os.c | 2 ++ > drivers/net/mlx5/linux/mlx5_os.c | 2 ++ > 5 files changed, 18 insertions(+) >=20 > diff --git a/drivers/common/mlx5/linux/mlx5_common_os.c > b/drivers/common/mlx5/linux/mlx5_common_os.c > index 4e04d70..08e8ebb 100644 > --- a/drivers/common/mlx5/linux/mlx5_common_os.c > +++ b/drivers/common/mlx5/linux/mlx5_common_os.c > @@ -114,6 +114,17 @@ > port_info_out->name_type =3D > MLX5_PHYS_PORT_NAME_TYPE_UPLINK; > return; > } > + /* > + * Check for port-name as a string of the form pf0 > + * (support kernel ver >=3D 5.7 for HPF representor on BF). > + */ > + sc_items =3D sscanf(port_name_in, "%c%c%d", > + &pf_c1, &pf_c2, &port_info_out->pf_num); > + if (sc_items =3D=3D 3 && pf_c1 =3D=3D 'p' && pf_c2 =3D=3D 'f') { > + port_info_out->port_name =3D -1; > + port_info_out->name_type =3D > MLX5_PHYS_PORT_NAME_TYPE_PFHPF; > + return; > + } > /* Check for port-name as a number (support kernel ver < 5.0 */ > errno =3D 0; > port_info_out->port_name =3D strtol(port_name_in, &end, 0); > diff --git a/drivers/common/mlx5/linux/mlx5_nl.c > b/drivers/common/mlx5/linux/mlx5_nl.c > index 2943704..dc504d8 100644 > --- a/drivers/common/mlx5/linux/mlx5_nl.c > +++ b/drivers/common/mlx5/linux/mlx5_nl.c > @@ -1145,6 +1145,8 @@ struct mlx5_nl_ifindex_data { > /* Legacy representors naming schema. */ > switch_info->representor =3D !num_vf_set; > break; > + case MLX5_PHYS_PORT_NAME_TYPE_PFHPF: > + /* Fallthrough */ > case MLX5_PHYS_PORT_NAME_TYPE_PFVF: > /* New representors naming schema. */ > switch_info->representor =3D 1; > diff --git a/drivers/common/mlx5/mlx5_common.h > b/drivers/common/mlx5/mlx5_common.h > index 8e679c6..6b19399 100644 > --- a/drivers/common/mlx5/mlx5_common.h > +++ b/drivers/common/mlx5/mlx5_common.h > @@ -145,6 +145,7 @@ enum mlx5_nl_phys_port_name_type { > MLX5_PHYS_PORT_NAME_TYPE_LEGACY, /* before kernel ver < 5.0 > */ > MLX5_PHYS_PORT_NAME_TYPE_UPLINK, /* p0, kernel ver >=3D 5.0 */ > MLX5_PHYS_PORT_NAME_TYPE_PFVF, /* pf0vf0, kernel ver >=3D 5.0 > */ > + MLX5_PHYS_PORT_NAME_TYPE_PFHPF, /* pf0, kernel ver >=3D 5.7, > HPF rep */ > MLX5_PHYS_PORT_NAME_TYPE_UNKNOWN, /* Unrecognized. */ > }; >=20 > diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c > b/drivers/net/mlx5/linux/mlx5_ethdev_os.c > index ab47cb5..c582051 100644 > --- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c > +++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c > @@ -1176,6 +1176,8 @@ struct ethtool_link_settings { > /* Legacy representors naming schema. */ > switch_info->representor =3D !device_dir; > break; > + case MLX5_PHYS_PORT_NAME_TYPE_PFHPF: > + /* Fallthrough */ > case MLX5_PHYS_PORT_NAME_TYPE_PFVF: > /* New representors naming schema. */ > switch_info->representor =3D 1; > diff --git a/drivers/net/mlx5/linux/mlx5_os.c > b/drivers/net/mlx5/linux/mlx5_os.c > index 0e12b10..1271b42 100644 > --- a/drivers/net/mlx5/linux/mlx5_os.c > +++ b/drivers/net/mlx5/linux/mlx5_os.c > @@ -1563,6 +1563,8 @@ > if (list[ns].info.port_name =3D=3D bd) > ns++; > break; > + case > MLX5_PHYS_PORT_NAME_TYPE_PFHPF: > + /* Fallthrough */ > case MLX5_PHYS_PORT_NAME_TYPE_PFVF: > if (list[ns].info.pf_num =3D=3D bd) > ns++; > -- > 1.8.3.1 Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh