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 14143A052A; Wed, 23 Dec 2020 10:41:04 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 34CD3CA39; Wed, 23 Dec 2020 10:40:52 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id B23F42A62 for ; Wed, 23 Dec 2020 10:40:49 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 0BN9UXJG023546 for ; Wed, 23 Dec 2020 01:40:48 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0220; bh=UsgkpRtg8gPOJskP3MJexlSZ2cck4TrHwiJRL5wUGXU=; b=idPHvGtmg8CGCCGeMjcy8Ddi6zZJS5aw1GCm6mX/r4LSciAygzZtiF68UB8mfnalKtpE dX9m+SGtNM/B9toI92hZf/JHXa0TBbwT4GuHlbmeM5n05xwtFMEt/1EHzihlqXAThFUB +9WOn/kAOy0tAm6ZXzwrA7GmxzZzwDe49HAuwt5DD+O5W4v58wi03iqZJCNC5OOCfvRk NzKBg/S2Ks34EX9xk0FZUfyxt3yZNVFrTsXARCP4IpQXQZDhCNMWBlhboL2vpscziryZ APvuFxOmza23qXlLh45nw6tnfzXP3qBjEU1olF2RRIc85t2R/oX/u6T45teAjIMictaX tQ== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0a-0016f401.pphosted.com with ESMTP id 35k0ebds95-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 23 Dec 2020 01:40:48 -0800 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 23 Dec 2020 01:40:47 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.172) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Wed, 23 Dec 2020 01:40:47 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dj489/rtaheyCHZbQX/75lGxDmyK9crgY32Oaj7jtz0Y6UICN/uwzUDIYwSHU7LMMcoqKaIu/ft3TxoHHb+PStM3IAir9T6CPk6/cZkJ17H/CteYSfDqBj80IyTgjdRLtRUiO9QB4ov7mDHoxIL7/2h8HOQyfXT1wiw2akkfN/bC+hp7AhBgSoeNKNy4l59xFJRqHbroOSbnysPUF9y+ifk68e1AfvYR1txVAO2nTU/bBBSvPI13re1YIEvivfLfPEJe9ogURGswejH5Ptx9upFVt4TVicZ0+pgE8FGEnJxt/zjosVqMLf74L1IfQ4Un49hMmIIjn8L9LFsY0gsNYg== 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=UsgkpRtg8gPOJskP3MJexlSZ2cck4TrHwiJRL5wUGXU=; b=ls/z4zYdxU2ua++AynA4CQXrmmjk6nwE3wkMGLcielxTEU3Jf4aJkobAcDev+UoJ1u9zlH2do8dtdxs4yzNSCKIXw/vp/rpGOrQ1gY4a1Ce/kgJfz8aptsJDALNtdz0SZNWa/LUuaNhEbcp6gBPpTljOsTSgS4V59+J5ijlNDkCb6QSdXPR+nIuaLuyO+aJtMh4QYAtQyDvZ4NgFoE3b+t7APV5GowAyJdyyHESboLBUzh3Sfbl7GSYvwrqKM3MTK++d9Cyr+JWadYQcIxhuMsydh3hupbO0OkHBW1dnRh2nAxN7gLNy7kyF+joCRY/U0SkKsAwiBIJQnVV9qKXbLg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UsgkpRtg8gPOJskP3MJexlSZ2cck4TrHwiJRL5wUGXU=; b=P8+uIcoLLrO1Mrxmt4T+1Ns3TFFOkmWwxA59sjLqOiC/2pzY8odocKHt9s/ZCe7lvv8vH3hxerMbaO6pJZF5bdrkmmQ7UE1jbCtRT3IS9M6iX/6Pc5PJVtYs75jcmiReiOjtDXg6oSrWXY7do+tfOcir/2Ms/IKKNZYePQvOqeI= Received: from DM5PR1801MB2058.namprd18.prod.outlook.com (2603:10b6:4:67::31) by DM6PR18MB3603.namprd18.prod.outlook.com (2603:10b6:5:2a5::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3700.27; Wed, 23 Dec 2020 09:40:47 +0000 Received: from DM5PR1801MB2058.namprd18.prod.outlook.com ([fe80::303b:5c79:93c7:b432]) by DM5PR1801MB2058.namprd18.prod.outlook.com ([fe80::303b:5c79:93c7:b432%7]) with mapi id 15.20.3676.033; Wed, 23 Dec 2020 09:40:47 +0000 From: Michael Shamis To: Liron Himi , Jerin Jacob Kollanukkaran CC: "dev@dpdk.org" , Liron Himi Thread-Topic: [dpdk-dev] [PATCH v1 16/38] net/mvpp2: add dsa mode support Thread-Index: AQHWyJR3H3gbgCuOwUyKA9T+H0Wz8aoEjiZA Date: Wed, 23 Dec 2020 09:40:46 +0000 Message-ID: References: <20201202101212.4717-1-lironh@marvell.com> <20201202101212.4717-17-lironh@marvell.com> In-Reply-To: <20201202101212.4717-17-lironh@marvell.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [83.130.154.133] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 623885e1-54ae-4f76-f9a6-08d8a726d369 x-ms-traffictypediagnostic: DM6PR18MB3603: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:883; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Aqac9jCtcaUq5OgXbVfnZ/z9KPd/VYnVj3P78acnixGAoi990EnP4lFkle3B8G6/+n86hzG8ZVUTr9Coa87FuNaycGPfxNgRtcwtG5Vj7TTS9dZQJ496nwocu19D8YxxqIDd5oaXzzMDQRBuFhLWd/YL98N7ro0GkNw2Zfp2GuNjqFjt6tTPS9t+zxULmR/YnQUjD9Q1dkh8isDJg3A/96XPqXoP9d3gVY4I+kNfo0qK+qS/XmG260WhSMeFAsvpFHHOpeV6aFarer2ZLCvvlEGSVGu6u2hEjKSPNzGXc71+CMvLHFG2w50cxupJowi1hT39MdwXlqF9fvaWsQlbBnkXC7MFQIC8T0jKJME3wnsC302lXzjcbUpq1buNuUcgsc8HmWfrqlTkC1WtyfugNg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR1801MB2058.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(136003)(39860400002)(346002)(366004)(376002)(396003)(66446008)(53546011)(54906003)(66556008)(52536014)(66476007)(66946007)(4326008)(5660300002)(64756008)(107886003)(33656002)(8676002)(9686003)(6506007)(76116006)(55016002)(6636002)(86362001)(71200400001)(478600001)(7696005)(186003)(2906002)(110136005)(316002)(83380400001)(26005)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?7N6tb9T6GXPWzwD2mzaH3VMyguh2zSMBcBDFerTTwZFhsYVr5XVEeLNHRzNK?= =?us-ascii?Q?Rdx7vTb7LyLGPevpd7M97gQTCF4INTId7IIoM/O3e7IU4yoIzAM/yAqpMsQV?= =?us-ascii?Q?ixEkmr0wam45HCj+/4na5h3SHTCYpkLPoch3c/x2Gv4nvHpTIrsJiyMOIvpt?= =?us-ascii?Q?n57MSjis5B6oOyA9v6saM/niJmQFhfhQtd0qbS4ctjme+nogyJxqfgEQoEDI?= =?us-ascii?Q?c/HFEfBwPG0q9aDOY5kBLftDCjE2eFAfip3GPWfqOAoASG5Bal26f4CNt4xJ?= =?us-ascii?Q?++V9s8X1H5cgRiuHXhDdKP26GadQeBhV6CtMbNgYrYNqkXdtWF2zwwg/Jwpj?= =?us-ascii?Q?g5ct1Z0glrRFrOjMXQgc3TvtSmeCnstD05HX3C7ijVGaRgu27xrfXyZKiny9?= =?us-ascii?Q?dEkvcFMzzbsHUQqut64hSbxmRA0ac2u3e2RbUcFoQIldt72O2MRXdS8niERI?= =?us-ascii?Q?fKaZluiXbo8eoLKKybUQRaR+Kar6SgRXBawDXD+25X/myJ1Od5tyzj5rWDap?= =?us-ascii?Q?AT9pdjTkE3qVj4ZAR2U7P7MT7OBSqTO5pc6nF3ZlLgZvowYui9n8UnW5VRn3?= =?us-ascii?Q?k3Xhu+k3y7Lg8vFS4lQRA6DLBoGY2TvzNdrGBlAbxkdriG08dsLYSTeve8c/?= =?us-ascii?Q?P5r4ns1yf9ZwXsvMR7g8N0oA0qdgGuCaod+hk9QfbIhQ9Jd/FJf3CG52PJIg?= =?us-ascii?Q?uzfACG8k/jNIiPIYqt8tTrz2prOxP5JRtJRvLIErUcWrT+NicAp6doFs448j?= =?us-ascii?Q?TeQOslSobSW+gNerUj0ulBR0ebYkdwcA6gBfPIzFlhkkuhFtai0ps2LO4Ffy?= =?us-ascii?Q?rN+e1AVg5Ce3n53SOtZx80sQowadLI+K6+TBOaQg99jg3J7JxwPObpJck8sD?= =?us-ascii?Q?TBQCXxdZsrXa+g5NfD7vu+VUU6qgPiEofv4Le4TnTW2bofuq7qITGejKO+sE?= =?us-ascii?Q?QxcEuJ/MCrBlYJYrh7MIq7CARN9yFngWj+KKh234Pz8=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR1801MB2058.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 623885e1-54ae-4f76-f9a6-08d8a726d369 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2020 09:40:46.9129 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OUNjy1attRz5+1iRXu8j7wAYyUkRHlZRRJuYC4JdjJKIOnj5JAnA8tnsBEXf5DmzYgt+DjauDtjTJhn5MdhNeA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR18MB3603 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.343, 18.0.737 definitions=2020-12-23_04:2020-12-21, 2020-12-23 signatures=0 Subject: Re: [dpdk-dev] [PATCH v1 16/38] net/mvpp2: add dsa mode support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Reviewed-by: Michael Shamis -----Original Message----- From: dev On Behalf Of lironh@marvell.com Sent: Wednesday, December 2, 2020 12:12 PM To: Jerin Jacob Kollanukkaran Cc: dev@dpdk.org; Liron Himi Subject: [dpdk-dev] [PATCH v1 16/38] net/mvpp2: add dsa mode support From: Liron Himi extend the config file with 'start-hdr' field. currently 'eth' (default) and 'dsa' headers are supported. Signed-off-by: Liron Himi Reviewed-by: Liron Himi --- drivers/net/mvpp2/mrvl_ethdev.c | 4 ++ drivers/net/mvpp2/mrvl_qos.c | 65 ++++++++++++++++++++++++++------- drivers/net/mvpp2/mrvl_qos.h | 1 + 3 files changed, 57 insertions(+), 13 deletions(-) diff --git a/drivers/net/mvpp2/mrvl_ethdev.c b/drivers/net/mvpp2/mrvl_ethde= v.c index a03d39aee..d1bb4c35a 100644 --- a/drivers/net/mvpp2/mrvl_ethdev.c +++ b/drivers/net/mvpp2/mrvl_ethdev.c @@ -693,6 +693,10 @@ mrvl_dev_start(struct rte_eth_dev *dev) snprintf(match, sizeof(match), "ppio-%d:%d", priv->pp_id, priv->ppio_id); priv->ppio_params.match =3D match; + priv->ppio_params.eth_start_hdr =3D PP2_PPIO_HDR_ETH; + if (mrvl_qos_cfg) + priv->ppio_params.eth_start_hdr =3D + mrvl_qos_cfg->port[dev->data->port_id].eth_start_hdr; =20 /* * Calculate the minimum bpool size for refill feature as follows: diff --git a/drivers/net/mvpp2/mrvl_qos.c b/drivers/net/mvpp2/mrvl_qos.c in= dex 7fd970309..976cb06a8 100644 --- a/drivers/net/mvpp2/mrvl_qos.c +++ b/drivers/net/mvpp2/mrvl_qos.c @@ -19,6 +19,10 @@ =20 /* Parsing tokens. Defined conveniently, so that any correction is easy. *= / #define MRVL_TOK_DEFAULT "default" +#define MRVL_TOK_DSA_MODE "dsa_mode" +#define MRVL_TOK_DSA_MODE_NONE "none" +#define MRVL_TOK_DSA_MODE_DSA "dsa" +#define MRVL_TOK_DSA_MODE_EXT_DSA "ext_dsa" #define MRVL_TOK_DEFAULT_TC "default_tc" #define MRVL_TOK_DSCP "dscp" #define MRVL_TOK_MAPPING_PRIORITY "mapping_priority" @@ -494,16 +498,19 @@ mrvl_get_qoscfg(const char *key __rte_unused, const c= har *path, const char *entry; char sec_name[32]; =20 - if (file =3D=3D NULL) - rte_exit(EXIT_FAILURE, "Cannot load configuration %s\n", path); + if (file =3D=3D NULL) { + MRVL_LOG(ERR, "Cannot load configuration %s\n", path); + return -1; + } =20 /* Create configuration. This is never accessed on the fast path, * so we can ignore socket. */ *cfg =3D rte_zmalloc("mrvl_qos_cfg", sizeof(struct mrvl_qos_cfg), 0); - if (*cfg =3D=3D NULL) - rte_exit(EXIT_FAILURE, "Cannot allocate configuration %s\n", - path); + if (*cfg =3D=3D NULL) { + MRVL_LOG(ERR, "Cannot allocate configuration %s\n", path); + return -1; + } =20 n =3D rte_cfgfile_num_sections(file, MRVL_TOK_PORT, sizeof(MRVL_TOK_PORT) - 1); @@ -528,6 +535,31 @@ mrvl_get_qoscfg(const char *key __rte_unused, const ch= ar *path, continue; } =20 + entry =3D rte_cfgfile_get_entry(file, sec_name, + MRVL_TOK_DSA_MODE); + if (entry) { + if (!strncmp(entry, MRVL_TOK_DSA_MODE_NONE, + sizeof(MRVL_TOK_DSA_MODE_NONE))) + (*cfg)->port[n].eth_start_hdr =3D + PP2_PPIO_HDR_ETH; + else if (!strncmp(entry, MRVL_TOK_DSA_MODE_DSA, + sizeof(MRVL_TOK_DSA_MODE_DSA))) + (*cfg)->port[n].eth_start_hdr =3D + PP2_PPIO_HDR_ETH_DSA; + else if (!strncmp(entry, MRVL_TOK_DSA_MODE_EXT_DSA, + sizeof(MRVL_TOK_DSA_MODE_EXT_DSA))) { + (*cfg)->port[n].eth_start_hdr =3D + PP2_PPIO_HDR_ETH_EXT_DSA; + } else { + MRVL_LOG(ERR, + "Error in parsing %s value (%s)!\n", + MRVL_TOK_DSA_MODE, entry); + return -1; + } + } else { + (*cfg)->port[n].eth_start_hdr =3D PP2_PPIO_HDR_ETH; + } + /* * Read per-port rate limiting. Setting that will * disable per-queue rate limiting. @@ -575,13 +607,15 @@ mrvl_get_qoscfg(const char *key __rte_unused, const c= har *path, (*cfg)->port[n].mapping_priority =3D PP2_CLS_QOS_TBL_IP_PRI; else if (!strncmp(entry, MRVL_TOK_VLAN, - sizeof(MRVL_TOK_VLAN))) + sizeof(MRVL_TOK_VLAN))) { (*cfg)->port[n].mapping_priority =3D PP2_CLS_QOS_TBL_VLAN_PRI; - else - rte_exit(EXIT_FAILURE, + } else { + MRVL_LOG(ERR, "Error in parsing %s value (%s)!\n", MRVL_TOK_MAPPING_PRIORITY, entry); + return -1; + } } else { (*cfg)->port[n].mapping_priority =3D PP2_CLS_QOS_TBL_VLAN_IP_PRI; @@ -604,18 +638,22 @@ mrvl_get_qoscfg(const char *key __rte_unused, const c= har *path, =20 for (i =3D 0; i < MRVL_PP2_RXQ_MAX; ++i) { ret =3D get_outq_cfg(file, n, i, *cfg); - if (ret < 0) - rte_exit(EXIT_FAILURE, + if (ret < 0) { + MRVL_LOG(ERR, "Error %d parsing port %d outq %d!\n", ret, n, i); + return -1; + } } =20 for (i =3D 0; i < MRVL_PP2_TC_MAX; ++i) { ret =3D parse_tc_cfg(file, n, i, *cfg); - if (ret < 0) - rte_exit(EXIT_FAILURE, + if (ret < 0) { + MRVL_LOG(ERR, "Error %d parsing port %d tc %d!\n", ret, n, i); + return -1; + } } =20 entry =3D rte_cfgfile_get_entry(file, sec_name, @@ -628,7 +666,8 @@ mrvl= _get_qoscfg(const char *key __rte_unused, const char *path, } else { if ((*cfg)->port[n].use_global_defaults =3D=3D 0) { MRVL_LOG(ERR, - "Default Traffic Class required in custom configuration!"); + "Default Traffic Class required in " + "custom configuration!"); return -1; } } diff --git a/drivers/net/mvpp2/mrvl_qos.h b/drivers/net/mvpp2/mrvl_qos.h in= dex f03e7731c..0934752cf 100644 --- a/drivers/net/mvpp2/mrvl_qos.h +++ b/drivers/net/mvpp2/mrvl_qos.h @@ -20,6 +20,7 @@ /* QoS config. */ struct mrvl_qos_cfg { struct port_cfg { + enum pp2_ppio_eth_start_hdr eth_start_hdr; int rate_limit_enable; struct pp2_ppio_rate_limit_params rate_limit_params; struct { -- 2.28.0