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 708FFA0350; Tue, 30 Jun 2020 12:34:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 4923E1BED8; Tue, 30 Jun 2020 12:34:25 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 9B8BC1BED8 for ; Tue, 30 Jun 2020 12:34:23 +0200 (CEST) IronPort-SDR: yVDEnw773mGkRyk5hXKg12Xd1fNUZTkEFR3p5e9A3B59oaf5ugbbPR3aaM6j9YGxrOmhYNC81c 8cS4KCLAyxKw== X-IronPort-AV: E=McAfee;i="6000,8403,9666"; a="164209815" X-IronPort-AV: E=Sophos;i="5.75,297,1589266800"; d="scan'208";a="164209815" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2020 03:34:22 -0700 IronPort-SDR: LBCbv4irr5XxoRzCFggV+LWMtBZ7fGVFf62TmmURNbvgcJYjjBiqNYCZKxNnQMlAmXByocvkiS BcdUduzFqIXA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,297,1589266800"; d="scan'208";a="481138205" Received: from orsmsx110.amr.corp.intel.com ([10.22.240.8]) by fmsmga005.fm.intel.com with ESMTP; 30 Jun 2020 03:34:22 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX110.amr.corp.intel.com (10.22.240.8) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 03:34:21 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.175) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 03:34:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dQCTlu2pvY9uD0z9wFtCXHcUreP9LdxIEFOot2Ej4YymIdUf4esBHuR009nE/3R0tmyaas2luBDDZNkLyEQZ8dorCeBJRDsrHS5KpTxfs9lNDhtKNLLowswop3ugafhiNMd3+bYMmGJ2gTee3AmiBEcIJCbW35ms2BILzeGJJIN16gk4R/T2r/jTTU2tk07+sor1ltbsW+I55AYC1P/lgx1hwxG9MBRuL68Hqsl5YkcvEUVwH+1nrbNMRbKCmrUNo/G9Xu/r20X/LZEljGJjHgQfidq0JVtfl1Z95cZ8FDcC5StmrM+GMEM0zQlki4IyD9KgPwE+wIVrE4lC6tFBcg== 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=95+GkHg6N3Z+WfUSq9sJsWsgqF9gzvgcxdJdMCsUt6w=; b=BIDPEySuSV3n6SAruH1D8auR4Fd7jLMnqW6AjEkiOeYRDnq0g0+Cu/9U5nUiM7KPASPmN51/HgAdHz1xFCbV6Gez7Y/i9JRUqIKvDuTAU42j7g7t3HRqHX2rqqDszw6cj+IzJXhnxEP4Bqs8LCSAjE643TzEij3A6xYKDczwmUX5ZGPbJIoNBKwds9L+jEKSOnt0SWeriSZsji3F/ljsiZDfvgZoS16xa1KHeEkWlspxIKDpsRWKGXNQ4QIOYihpQNXwVhYhyrkhR+EgfwRM+aPfPmK4Vmz+CtpML948ltoaDZQOEFstyLR/kEMjx1HF6PZNdL2IqY7olrEOt3b05Q== 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=95+GkHg6N3Z+WfUSq9sJsWsgqF9gzvgcxdJdMCsUt6w=; b=krB0qdNhxEpOmsEeDOtnAHASqooq6JcCI0NrrV/N8ZuijruAY9QyqaZpRf4u4qyabdplo76fcqKrMRMTV9RS08q0u6tlnolMkAdpEloiItKavRY5lQOrsPZzaMM6WsfHfbrzFAgPXO5FdlaES4iFkR0RYteXs4SaCNnNjX7wu0M= Received: from BN6PR11MB0017.namprd11.prod.outlook.com (2603:10b6:405:6c::34) by BN8PR11MB3649.namprd11.prod.outlook.com (2603:10b6:408:84::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.23; Tue, 30 Jun 2020 10:34:20 +0000 Received: from BN6PR11MB0017.namprd11.prod.outlook.com ([fe80::c8eb:f4c9:5b58:3120]) by BN6PR11MB0017.namprd11.prod.outlook.com ([fe80::c8eb:f4c9:5b58:3120%6]) with mapi id 15.20.3131.028; Tue, 30 Jun 2020 10:34:20 +0000 From: "Yang, Qiming" To: "Di, ChenxuX" , "dev@dpdk.org" CC: "Xing, Beilei" Thread-Topic: [PATCH v2 3/5] app/testpmd: re-implement commands by using private API Thread-Index: AQHWQr3/LWzQImPKwk+BeVMRKR4bgqjxDO8A Date: Tue, 30 Jun 2020 10:34:20 +0000 Message-ID: References: <20200611060142.75465-1-chenxux.di@intel.com> <20200615021858.13985-1-chenxux.di@intel.com> <20200615021858.13985-4-chenxux.di@intel.com> In-Reply-To: <20200615021858.13985-4-chenxux.di@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.102.204.38] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 33237a6a-e577-4762-aede-08d81ce125ff x-ms-traffictypediagnostic: BN8PR11MB3649: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1079; x-forefront-prvs: 0450A714CB x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bgxdYvc1h70+SS9UT+jrdwb3yYD2LrkjHV3QDaozUKkujDW2h9Jdnj66b3mkWi212JbLqzyDIcpWUq4aLjAle+UevAhFDRHHd/cQtOMH9o5FwguQgopW2H+pN2QRqtcY1LRPbzTav99k1mrBhwjs5I3+93+9N40lDfzg8WItpq/YERELrgyNvVmT8KzJz0RvBG8/Pr3j71iCUWI0jSCdQ/6mDs1ZYBql/Sat+B2CGbhyg6Wyc5KhPxxxia7c9iqjmYHlF7pdUSV+K24iY1E7uWCFY/9TLw+UaNxFPMy/GNWxBAD3E4jQFqSFajM0PyqTud4GpbbETs77ypFCq7BuGA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN6PR11MB0017.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(366004)(346002)(39860400002)(136003)(376002)(9686003)(55016002)(26005)(316002)(8676002)(53546011)(83380400001)(7696005)(478600001)(6506007)(76116006)(66946007)(4326008)(66446008)(186003)(33656002)(2906002)(64756008)(52536014)(107886003)(71200400001)(110136005)(66556008)(5660300002)(86362001)(8936002)(66476007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: TEm5LbS500cnfotcYlZsaXEAV9wU//7uECLnkhQpmEw9JMAKKXjRFaqs39pP+sJoKdVw1VT2Qzf/zQZqaFRT+V1dTmILCdXh4fTBOSYbJ0GUZeRHjMJxAjoD9RiuNdlcgjt7qKksilCiV+t8RK3WI4x2B3AmiOG2qZdazh5F3Nn5v+epul2oHEqIb7NNztO9mum6NSWLZp4+lAJ7DqiKd7A74wwL89zPnwOvBObPDR2dz0iz3s74fSBcRdGUckfHG21IkPgFJ84/az9phSnU3vk+ZALKo3CuO24TD83D42fLyt30WOOJhHSypc58Ted0d6HqI96fRgrrjzj8J1FRjsaOWPrOi07clnuRvhYNDy9avW9uJ8wZ8GZw8prZ1jmJKmzlH4Tea0q6PKLYfHT/t5Ap/PoBWMfsdxNL3vKcTnL+DO5jrD7Ub5HpxlGSnaN/kHPhTcaiJsY9NTDflU/jSE1mlPKTL72Q/3WIzETNHXlxHR4ORS+oRWBf5pchm5Zy 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: BN6PR11MB0017.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33237a6a-e577-4762-aede-08d81ce125ff X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2020 10:34:20.2788 (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: CSY36JXdzPdHtM/FoGl1znz6r9wMD3gw8k3b4QvqCTZXh/Yzsg55andExRbh9hZ3UkCxKbORiW6AaYM9a5f3wA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR11MB3649 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 3/5] app/testpmd: re-implement commands by using private API 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" > -----Original Message----- > From: Di, ChenxuX > Sent: Monday, June 15, 2020 10:19 > To: dev@dpdk.org > Cc: Xing, Beilei ; Yang, Qiming > ; Di, ChenxuX > Subject: [PATCH v2 3/5] app/testpmd: re-implement commands by using > private API >=20 > The legacy filter API will be superseded. This patch use private api to c= hange > the implementation of commands global_config gre-key-len > and show port fdir >=20 > Signed-off-by: Chenxu Di > --- > app/test-pmd/cmdline.c | 23 ++++++++----- app/test-pmd/config.c | 74 > +++++++++++++++++++++++++++++++++++------- > 2 files changed, 78 insertions(+), 19 deletions(-) >=20 > diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index > 996a49876..01d793e89 100644 > --- a/app/test-pmd/cmdline.c > +++ b/app/test-pmd/cmdline.c > @@ -9280,15 +9280,22 @@ cmd_global_config_parsed(void *parsed_result, > { > struct cmd_global_config_result *res =3D parsed_result; > struct rte_eth_global_cfg conf; > - int ret; > + int ret =3D -ENOTSUP; >=20 > - memset(&conf, 0, sizeof(conf)); > - conf.cfg_type =3D RTE_ETH_GLOBAL_CFG_TYPE_GRE_KEY_LEN; > - conf.cfg.gre_key_len =3D res->len; > - ret =3D rte_eth_dev_filter_ctrl(res->port_id, RTE_ETH_FILTER_NONE, > - RTE_ETH_FILTER_SET, &conf); > - if (ret !=3D 0) > - printf("Global config error\n"); > +#ifdef RTE_LIBRTE_I40E_PMD > + if (ret =3D=3D -ENOTSUP) > + ret =3D rte_pmd_i40e_set_gre_key_len(res->port_id, res- > >len); #endif > + if (ret =3D=3D -ENOTSUP) { Why you double check the ret? recommend If() #ifdefine ... #endif ... And if it is needed to check ret as you set the return value as - ENOTSUP? And it's weird to set as NOT SUPPORT, don't change the exist logical. Below all have the same issue. > + memset(&conf, 0, sizeof(conf)); > + conf.cfg_type =3D RTE_ETH_GLOBAL_CFG_TYPE_GRE_KEY_LEN; > + conf.cfg.gre_key_len =3D res->len; > + ret =3D rte_eth_dev_filter_ctrl(res->port_id, > RTE_ETH_FILTER_NONE, > + RTE_ETH_FILTER_SET, &conf); > + } > + > + if (ret < 0) > + printf("Global config error: (%s)\n", strerror(-ret)); > } >=20 > cmdline_parse_token_string_t cmd_global_config_cmd =3D diff --git > a/app/test-pmd/config.c b/app/test-pmd/config.c index > 016bcb09c..f519246c7 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -3729,30 +3729,82 @@ print_fdir_flow_type(uint32_t flow_types_mask) > printf("\n"); > } >=20 > +static int > +get_fdir_info(portid_t port_id, struct rte_eth_fdir_info *fdir_info) { > + int ret; > +#ifdef RTE_LIBRTE_I40E_PMD > + ret =3D rte_pmd_i40e_get_fdir_info(port_id, fdir_info); #endif #ifdef > +RTE_LIBRTE_IXGBE_PMD > + if (ret =3D=3D -ENOTSUP) > + ret =3D rte_pmd_ixgbe_get_fdir_info(port_id, fdir_info); > #endif > + if (ret =3D=3D -ENOTSUP) { > + ret =3D rte_eth_dev_filter_supported(port_id, > + RTE_ETH_FILTER_FDIR); > + if (ret < 0) { > + printf("\n FDIR is not supported on port %-2d\n", > + port_id); > + return ret; > + } > + rte_eth_dev_filter_ctrl(port_id, RTE_ETH_FILTER_FDIR, > + RTE_ETH_FILTER_INFO, fdir_info); > + } > + > + if (ret < 0) > + printf("Get fdir infos error: (%s)\n", strerror(-ret)); > + > + return ret; > +} > + > +static int > +get_fdir_stat(portid_t port_id, struct rte_eth_fdir_stats *fdir_stat) { > + int ret; > +#ifdef RTE_LIBRTE_I40E_PMD > + ret =3D rte_pmd_i40e_get_fdir_stats(port_id, fdir_stat); #endif #ifdef > +RTE_LIBRTE_IXGBE_PMD > + if (ret =3D=3D -ENOTSUP) > + ret =3D rte_pmd_ixgbe_get_fdir_stats(port_id, fdir_stat); > #endif > + if (ret =3D=3D -ENOTSUP) { > + ret =3D rte_eth_dev_filter_supported(port_id, > + RTE_ETH_FILTER_FDIR); > + if (ret < 0) { > + printf("\n FDIR is not supported on port %-2d\n", > + port_id); > + return ret; > + } > + rte_eth_dev_filter_ctrl(port_id, RTE_ETH_FILTER_FDIR, > + RTE_ETH_FILTER_STATS, fdir_stat); > + } > + > + if (ret < 0) > + printf("Get fdir infos error: (%s)\n", strerror(-ret)); > + > + return ret; > +} > + > void > fdir_get_infos(portid_t port_id) > { > struct rte_eth_fdir_stats fdir_stat; > struct rte_eth_fdir_info fdir_info; > - int ret; >=20 > static const char *fdir_stats_border =3D > "########################"; >=20 > if (port_id_is_invalid(port_id, ENABLED_WARN)) > return; > - ret =3D rte_eth_dev_filter_supported(port_id, RTE_ETH_FILTER_FDIR); > - if (ret < 0) { > - printf("\n FDIR is not supported on port %-2d\n", > - port_id); > - return; > - } >=20 > memset(&fdir_info, 0, sizeof(fdir_info)); > - rte_eth_dev_filter_ctrl(port_id, RTE_ETH_FILTER_FDIR, > - RTE_ETH_FILTER_INFO, &fdir_info); > + if (get_fdir_info(port_id, &fdir_info)) > + return; > memset(&fdir_stat, 0, sizeof(fdir_stat)); > - rte_eth_dev_filter_ctrl(port_id, RTE_ETH_FILTER_FDIR, > - RTE_ETH_FILTER_STATS, &fdir_stat); > + if (get_fdir_stat(port_id, &fdir_stat)) > + return; > + > printf("\n %s FDIR infos for port %-2d %s\n", > fdir_stats_border, port_id, fdir_stats_border); > printf(" MODE: "); > -- > 2.17.1