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 16AA6A052A; Wed, 23 Dec 2020 03:27:33 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 7DBFBCA2E; Wed, 23 Dec 2020 03:27:31 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id C0349CA2A for ; Wed, 23 Dec 2020 03:27:29 +0100 (CET) IronPort-SDR: 9cQctEh8BoEB6pWyVPgcBUdjC3RF+rcYRzpi3s9EIk8PMR9WNd0bVkRtUk7FhZ1i99Z8bT5qdZ sa/bvEvLm2GQ== X-IronPort-AV: E=McAfee;i="6000,8403,9843"; a="260683929" X-IronPort-AV: E=Sophos;i="5.78,440,1599548400"; d="scan'208";a="260683929" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Dec 2020 18:27:27 -0800 IronPort-SDR: TcaBgIKAPQmhqMxCadVmbgKympkJzouyF9YfybpIo8Ae4NEMTvuvMAi/KORM5y/6KlIT1mSlud AwtQgnxujohQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,440,1599548400"; d="scan'208";a="397671684" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by FMSMGA003.fm.intel.com with ESMTP; 22 Dec 2020 18:27:27 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 22 Dec 2020 18:27:27 -0800 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 22 Dec 2020 18:27:26 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 22 Dec 2020 18:27:26 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Tue, 22 Dec 2020 18:27:26 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=f+UysjXG99DpvfBqZhU8Yel1PJwNdDXsLCsBetG4NVhkfhaxKSyMGa3E06FL14+jV+SJ+C0nOgB5/fJ4HlGT2mMrt1UraNqCUc8pEFXXb/HbIRcX87H9pcdOXZrFiKsC0lNKtuQL1+hQPhRh1J1DYv2ADO7cYDrQnByOAMfMiITVY2Nu2MsrzCbJEW9/mhIdaMhg0j/pLVv2WJ1xT9FXyZ+cQw0QYzDlmrO4Y5rSK7+QA60X5gDruXscBpQjeR4dHXtAAIdBHP3vBJ4QnA/zyKZQt8bAev7ZWC9MLrJhrklORg3JLtVRT+XNO2n28Hga/Lk0qTNVYV0HGZKSaSyrTg== 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=GgUVcW0BqXh51IjpmBh35vTkVM9mJs0Ym1qFMflL5PA=; b=ltM317B4IiYouwqDry1PaWucylapv6C6Fm1PETNkryr7DsVl0xPRo5QqQwAXPKMxNJtCqkk/jQ9GGYBj0aSNqbnuGzgXKV0prKDADyZMrG9YnQEL+abyazfLYTpX1XppfNTUL2mtwFRXDz6nRf8LFnRkDwmkhbCyk9zw5NeVdhklqPPwCm7KB4UckJiDb5sWrU+P/a1jYfxgvjIwftby8ZDOELiBJ+qfUmsdQ2HnytRvnLSzDPs1CFAokOlW18ASrLmOIU4rFFZ6IVkpgpJF3e2USzinnCyiewC1T0tQ5R3aauFJOq5dEn2M7Elik7Ew6XuE4sZ+Afavd+xpvbI88w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GgUVcW0BqXh51IjpmBh35vTkVM9mJs0Ym1qFMflL5PA=; b=IkoSf4mH4CESRHcwYNQTmk8u7giGaxa91C2CDcu/guf4vuq/y4MIte39FCp7z8sTsg3ID4CozkyoYd972BQ24atVHSLIfS6qesIlw0054x+SCMu4FNtbQsZwWFXvCXlJlpYIMygmv+hs8/lnLct4lV24RDfNO5csmaR6Awn3tv4= Received: from CY4PR11MB1750.namprd11.prod.outlook.com (2603:10b6:903:126::8) by CY4PR11MB1719.namprd11.prod.outlook.com (2603:10b6:903:2d::23) 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 02:27:26 +0000 Received: from CY4PR11MB1750.namprd11.prod.outlook.com ([fe80::4dd8:2689:73d4:43d3]) by CY4PR11MB1750.namprd11.prod.outlook.com ([fe80::4dd8:2689:73d4:43d3%7]) with mapi id 15.20.3676.033; Wed, 23 Dec 2020 02:27:26 +0000 From: "Li, Xiaoyun" To: "Yang, SteveX" , "dev@dpdk.org" CC: "Lu, Wenzhuo" , "Xing, Beilei" , "Iremonger, Bernard" , "Yang, SteveX" Thread-Topic: [dpdk-dev] [PATCH v1] app/testpmd: fix dynamic config error for max-pkt-len Thread-Index: AQHW2Drf039H9Pi57Uy8FGwQudb2C6oD7xcQ Date: Wed, 23 Dec 2020 02:27:25 +0000 Message-ID: References: <20201222081335.17419-1-stevex.yang@intel.com> In-Reply-To: <20201222081335.17419-1-stevex.yang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 80e0264f-d275-4880-949d-08d8a6ea49b2 x-ms-traffictypediagnostic: CY4PR11MB1719: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5797; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: J2+2JJM1CgJtWDnTSUY2PSjUg49PWA9krYY1X/QuiMl9go3OnkbWjXMn9JywYK/tcIqvWb9dWLDEG3DBSJ1Q+ufrRTEjD6ztLbJEwJKLdPCI7UYEwFvYof2uILhqtT4hUFUsSvXct+TM19UA3N2zQFsHAawCQW+7tzBaifl2mFwEgb6d1txlFDLnnaHQa5Elc7WZllMSl1cTAiOPeT1//FAjJLjX+FUBhhoA8lWnScGQGEjvAHg3EGNY8wdpub1jv8KkBcTvizV9vLdzn9e3EeZiF+ZD+Xn3kUsCWn5bKWIY8UP94OOF5OJHszPzpm8GRDXn5YMhzEYc5CNrQAsrP6sXM70Ct4Zra1sHoqlNhwH2k6sEZQlyr77zRMx/Leq6ZFAVeIekVXHzTCR6wtXBfQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY4PR11MB1750.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(346002)(366004)(136003)(396003)(376002)(186003)(55016002)(2906002)(110136005)(6506007)(9686003)(8936002)(52536014)(478600001)(86362001)(53546011)(66946007)(76116006)(66476007)(71200400001)(66556008)(33656002)(64756008)(66446008)(7696005)(54906003)(316002)(5660300002)(4326008)(26005)(107886003)(83380400001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?9/8DefGj9PHjuZSeNPruW/2YiNX0yStkjqFvNaDGvRpB5iSWJZkeWox6AzCi?= =?us-ascii?Q?CphDXNCDjUgG76bY3775Br0cWxT6buscI9IGzW10tBygxqXqwu5pfTNUnTU6?= =?us-ascii?Q?IDJK8YHlWhRpfd8vnypjy9y1913Yj6+naY+AXbM++Zcx4GHQShkzp3p+W1dB?= =?us-ascii?Q?Mp2f3cSalewN46xO0n16gz8WflbMAXfyfp0F+M4Gf01GPaqDrabyRwSLho+H?= =?us-ascii?Q?1r+CBH9SOVPH8S5pI8nfo3e5vYxmMwH+N/0K/tAYAgM3Z+CDaB5YRhdzKUZh?= =?us-ascii?Q?K4u0QAQ17V+polXk30NUBnKh3t9IEZzdt5CPwnyPY+1AadCW9RRKil4SBE5o?= =?us-ascii?Q?ZwowQBvI+Y4stMKseRo5kZkXorKH1xUb7g6e9pyajwVZI2fc3UVro6Fd6EbJ?= =?us-ascii?Q?E3CvM6+Gwj+5EEm702SZ2gUIDELm4Z3r1RE5OQHUXvFM8CuIeky7FLVLmGRg?= =?us-ascii?Q?+cM6/uTRns6cHZDC9sxhueprefbKTolYhafXYPULK7+9pimR98N3kIYWecBU?= =?us-ascii?Q?NGXaEPHs93JMBTdLHW9vKxL1fEB7CMqmBG/q5JlIZIf4FDGTAJni6J4Tn+91?= =?us-ascii?Q?mXzo67Ciy7Xft7TwFLgewAglNstWtGNjfLNRPkGrIObr2FHG5fOXAujmDHS8?= =?us-ascii?Q?5oLvTjo0h5hdNP0H/rjtHDb9cELnCe7Vtf3kAfr3zF9wiQQBWBZABqdWi/uj?= =?us-ascii?Q?NPVqQQpIuFtoBpeDePDyX3MM3s2TD2ROfEjEa5ZXXVVtAkIN13VEi0/BcZ7N?= =?us-ascii?Q?239X6z1JsaPxPMPEzIScxlkhfSbVLKFjnbll4/ZksIC97rTpgRLk0ooKhHFf?= =?us-ascii?Q?FaVsvTjTvG7df+RNTZoBaUi188oeuNDinoJ6oyfWJMEC4mRDnzCzvwMaacny?= =?us-ascii?Q?TA+leR7cRAcg1WEf+3G4sQ6YzwxrHea9xXIqDeT+IpdLkMK0CdSLRgcpcs6S?= =?us-ascii?Q?LmJZLPyxCqrg5ZQPtrRGLrp+R8HXH2of1abPdcFFiNQ=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: CY4PR11MB1750.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80e0264f-d275-4880-949d-08d8a6ea49b2 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Dec 2020 02:27:25.8154 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: oeTPoAP1DE14bqWZktqSWJYHseDtQ0uwpf1t+/1/ibSc4K5hfzNfzYZkT3Zuo3yYZZ1qura6O2alaaRxlyhSlg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB1719 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1] app/testpmd: fix dynamic config error for max-pkt-len 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" Hi Comments inline > -----Original Message----- > From: dev On Behalf Of Steve Yang > Sent: Tuesday, December 22, 2020 16:14 > To: dev@dpdk.org > Cc: Lu, Wenzhuo ; Xing, Beilei ; > Iremonger, Bernard ; Yang, SteveX > > Subject: [dpdk-dev] [PATCH v1] app/testpmd: fix dynamic config error for = max- > pkt-len >=20 > When 'max-pkt-len' value caused the 'rx_offloads' flag change, the all of= floads > of rx queues ('rx_conf[qid].offloads') weren't synchronized, that will ca= use the > offloads check failed with 'rx_queue_offload_capa' > within 'rte_eth_rx_queue_setup'. >=20 > Apply rx offloads configuration once it changed when 'max-pkt-len' > command parsed. Grammar and tense inconsistence... You can phrase like the following: Configuring 'max-pkt-len' would change 'rx_offloads' in dev_conf while rx_c= onf.offloads of each queue still kept the old value. It would cause the failure of offloads check in ''rte_eth_rx_queue_setup'. This patch applied rx offloads configuration for each queue once it changed= . >=20 > Fixes: 384161e00627 ("app/testpmd: adjust on the fly VLAN configuration") >=20 > Signed-off-by: Steve Yang > --- > app/test-pmd/cmdline.c | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) >=20 > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index > 2ccbaa039e..d72a40d7de 100644 > --- a/app/test-pmd/cmdline.c > +++ b/app/test-pmd/cmdline.c > @@ -1902,7 +1902,23 @@ cmd_config_max_pkt_len_parsed(void > *parsed_result, > rx_offloads |=3D > DEV_RX_OFFLOAD_JUMBO_FRAME; > else > rx_offloads &=3D > ~DEV_RX_OFFLOAD_JUMBO_FRAME; > - port->dev_conf.rxmode.offloads =3D rx_offloads; I understand what you're doing here. But I think there's a better place to = do this. This config cmd will call init_port_config() later. And rxtx_port_config() = will be called in it. I think you should do this in rxtx_port_config(). Check if rx_conf is equal to dev_conf, and if it's not consistent, apply d= ev_conf. Although if you insist on your way doing this, there're some issues too. Se= e below. > + > + if (rx_offloads !=3D port->dev_conf.rxmode.offloads) { > + uint16_t k; > + int ret; > + > + port->dev_conf.rxmode.offloads =3D rx_offloads; > + /* Apply Rx offloads configuration */ > + ret =3D eth_dev_info_get_print_err(pid, > + &port->dev_info); > + if (ret !=3D 0) > + rte_exit(EXIT_FAILURE, > + "rte_eth_dev_info_get() failed\n"); rte_exit if for the main process of the application not for cmdline. Because rte_exit will just terminate the application and return to the shel= l. You wouldn't want that. You only needs to 'return;' or maybe printf a error message and return. > + > + for (k =3D 0; Why are you using 'k'? There's no problem of this just looks a bit weird. T= here's no 'i' used in this function so why not just use 'i'. > + k < port->dev_info.nb_rx_queues; k++) > + port->rx_conf[k].offloads =3D > rx_offloads; > + } > } else { > printf("Unknown parameter\n"); > return; > -- > 2.17.1