From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D28DCC433E0 for ; Tue, 30 Jun 2020 10:25:26 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 4A03D20771 for ; Tue, 30 Jun 2020 10:25:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=intel.onmicrosoft.com header.i=@intel.onmicrosoft.com header.b="PaagfkRP" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4A03D20771 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 88BBC1BEC0; Tue, 30 Jun 2020 12:25:25 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 9E77E1B9BF for ; Tue, 30 Jun 2020 12:25:23 +0200 (CEST) IronPort-SDR: yl7UGahO+Jkr+F79kI00DRYGjo9rPchnEmaTOZkstFuDwsTsqcYIMmnYBbuCvxvg8RUAmUP5yr H4G7qqR/VXMg== X-IronPort-AV: E=McAfee;i="6000,8403,9666"; a="211261142" X-IronPort-AV: E=Sophos;i="5.75,297,1589266800"; d="scan'208";a="211261142" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2020 03:25:22 -0700 IronPort-SDR: S8nmGye1fT1i3XHZG0oY3cBM9zlX3qovevggJd6YciadP6wci7a7pL8izyI+vYq9zEUEB07kF+ kjYE9ZH0o8kQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,297,1589266800"; d="scan'208";a="313356856" Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by fmsmga002.fm.intel.com with ESMTP; 30 Jun 2020 03:25:22 -0700 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX108.amr.corp.intel.com (10.22.240.6) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 03:25:22 -0700 Received: from orsmsx609.amr.corp.intel.com (10.22.229.22) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 30 Jun 2020 03:25:21 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx609.amr.corp.intel.com (10.22.229.22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 30 Jun 2020 03:25:21 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.106) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 03:25:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZIBNMhykb9+TKgwkKV7GNYJf7gsMpgn/FnEzLo0G1QOV0AweaHCFTFJP6QZWJlTrdrx2Svw1fiaHDa6fPqz0zfDs+cTc0gSFVQ6gQtmV1dT7PJbvu4LIE/rDM/m0xi3/oN1NNFmQeM8hJiXUrYmqNo1EiLD1z4XD0RQSBWwg8E0smyk74h7xsufSjpXz6JLGfaV1tg437KSqzEBRnJ75tCGJ3u1JeYTTMVA5Xr1hgbnecmwQOavqPhdwAehOCFQ0DTZgXjwQ741jlsfuAnI6D8xoBfVLVEY9dFzx5zul8WAckO5wy3GyufNdu+ZA6JuZN8536jRbwYBvWw9hDiJWsw== 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=nVhHXWnqQcyu12ul4W+KQAJfddh3NbReciUjsgM4vyo=; b=El2zm0TLVNr66esdvWArbLY3pJQiyGv/QDxtLYNSL1b7CFf1LkOJxRDfz0ftH070mUUOByR9BpxP8luHFq1hxhbhmWontmRqKab17fol/TyfHS8aCzhoxI7gTKSXZTi5tDMS+Om7DlXmRAFXV3YX8pNcEUZIGC1mJ+99LN+F+87LqJFP7WlATGArtkRFJ4MjyFZFSI913Wpb+UKdIGLa8VZVLhdBoGEPTD2iy4XbRe6p/DTPstVgS9qvwfXZFZnrNomGTjuhyoBiHhCr6EM6/3udj/f/NNU4PTJmjJfzvOnK+ruofQA6cYUfBmngRl3aAUZ/EX6uP3G6kvr1j9LO0Q== 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=nVhHXWnqQcyu12ul4W+KQAJfddh3NbReciUjsgM4vyo=; b=PaagfkRPZSIhv3qAW1O5qGEgPWOJwXu/jJbWmqd3RatUQP8qFWvM/J5xR7sETUvUJXZPRqRWdFUq61gYIXvZtGyNgA0lowVXeaMjGHkiRgMLh5TmTISj+RULh2FXTs+U3QTMWCGQgksalzWvhRI4lerpFW6V6ZWAYCDvdt4WRsk= Received: from BN6PR11MB0017.namprd11.prod.outlook.com (2603:10b6:405:6c::34) by BN6PR11MB3857.namprd11.prod.outlook.com (2603:10b6:405:79::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3131.26; Tue, 30 Jun 2020 10:25:19 +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:25:19 +0000 From: "Yang, Qiming" To: "Di, ChenxuX" , "dev@dpdk.org" CC: "Xing, Beilei" Thread-Topic: [PATCH v2 2/5] net/ixgbe: add private APIs Thread-Index: AQHWQr4BA60HLin/Ok6JF9h/Og0gLajxC/RQ Date: Tue, 30 Jun 2020 10:25:18 +0000 Message-ID: References: <20200611060142.75465-1-chenxux.di@intel.com> <20200615021858.13985-1-chenxux.di@intel.com> <20200615021858.13985-3-chenxux.di@intel.com> In-Reply-To: <20200615021858.13985-3-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: 21eb9195-7f8e-4d2e-b550-08d81cdfe359 x-ms-traffictypediagnostic: BN6PR11MB3857: 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:3276; x-forefront-prvs: 0450A714CB x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: RXZJqz8qLcWwZlmERoJcZry2CC/gAnQof9QYjeE/vQB10L6iVO7/2F7dz+i727LGAxOf5DPMhP2OjoBXOgf+pLWo4oapTvB3z9AAM3sGbYNVBuMeGCAxgMajD2dv+QtxEgT8cki7KzVsSzHpcSKuHeyoPCE/Hf4m5fiKgOHDSBswMAATz2d1A0/8FqiLxxyay6ZaaaAetDQocy9rzEyNhAjbY+HbqnjbC5eDI4ek/C4bFuLILWtqd6WziwojhnTm2yUV0ycBvxXAKAdVedwMzdG2WdYkaNFOG0cp0ImluGHBHGutENT3iNK8w3LddLO4/Y/LSEX4bBDiQwUzhq0gcg== 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)(39860400002)(396003)(376002)(136003)(346002)(366004)(66476007)(107886003)(86362001)(2906002)(83380400001)(71200400001)(33656002)(7696005)(9686003)(52536014)(53546011)(55016002)(6506007)(4326008)(8936002)(478600001)(110136005)(66946007)(66446008)(186003)(5660300002)(64756008)(66556008)(26005)(8676002)(76116006)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: eNkP0ps82Z4B98OD32LM4DRPQ+DSnp9xN2rTlETjdIiO/WwU3x0B9AGL6JqMgrnZhT+sgy+mVK41pwDbFDW8z3ikieMWnaE3373cBRTax0iviq5YKOQPlsjcmoRU5KK5yBJpEAr8MT6lqV71KGIQb/kXXJpFIzEfSd0MoE3rY1CSqyq6slzcU51LSECtuT49jzMSQYv/EB5+JtImXSB4/TTmAg5ig7AgEF6NUCCCvU5H51AGMPUN/AzdAIY0QFn/udzFU2eDOm8usgrh47RyvO/MrTmsNQPxa0XHEZdH8Geaw54euJ6u0fBo9ggW5QxNxi4sNKpiQJff1rIVqMSzKHfPMW/EJ0ftDvw5RHmh1iF0KshsipMy1OJ9uCxhjY1g2Gg8Th+nT9Ikhv/MYcPLbzecvW/xeKqIrMymZjHoiUR5BBmri3DBpC720FKAKz3ZmFIGRUAoalMc8vI6iJmP6H1h/Ntby5Z/4JOjT21ucV1uAekK+cGQu1aMLTM/Sqm8 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: 21eb9195-7f8e-4d2e-b550-08d81cdfe359 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jun 2020 10:25:19.0047 (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: 2E0DD8ShVtY/uxAizS2s1FbNmrkuosAqNZHdM0FAD4CeWuM+d6rqCq0DbRE+cfQ51JGkWFC2Bj8l8bfFz2biYA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB3857 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v2 2/5] net/ixgbe: add private APIs 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" Same comments as the first one > -----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 2/5] net/ixgbe: add private APIs >=20 > The legacy filter API will be superseded by rte_flow. > There are also several small features which can not be implemented in > rte_flow. This patch re-implemented these features as private API. > Two APIs are added: > rte_pmd_ixgbe_get_fdir_info. > rte_pmd_ixgbe_get_fdir_stats. >=20 > Signed-off-by: Chenxu Di > --- > drivers/net/ixgbe/ixgbe_ethdev.h | 4 +++ > drivers/net/ixgbe/ixgbe_fdir.c | 8 ++--- > drivers/net/ixgbe/rte_pmd_ixgbe.c | 33 +++++++++++++++++++++ > drivers/net/ixgbe/rte_pmd_ixgbe.h | 33 +++++++++++++++++++++ > drivers/net/ixgbe/rte_pmd_ixgbe_version.map | 2 ++ > 5 files changed, 74 insertions(+), 6 deletions(-) >=20 > diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h > b/drivers/net/ixgbe/ixgbe_ethdev.h > index 3d78b2ee2..9bdef87fb 100644 > --- a/drivers/net/ixgbe/ixgbe_ethdev.h > +++ b/drivers/net/ixgbe/ixgbe_ethdev.h > @@ -697,6 +697,10 @@ int ixgbe_fdir_set_flexbytes_offset(struct > rte_eth_dev *dev, int ixgbe_fdir_filter_program(struct rte_eth_dev *dev, > struct ixgbe_fdir_rule *rule, > bool del, bool update); > +void ixgbe_fdir_info_get(struct rte_eth_dev *dev, > + struct rte_eth_fdir_info *fdir_info); void > +ixgbe_fdir_stats_get(struct rte_eth_dev *dev, > + struct rte_eth_fdir_stats *fdir_stats); >=20 > void ixgbe_configure_dcb(struct rte_eth_dev *dev); >=20 > diff --git a/drivers/net/ixgbe/ixgbe_fdir.c b/drivers/net/ixgbe/ixgbe_fdi= r.c > index 166dae1e0..6faaa8f06 100644 > --- a/drivers/net/ixgbe/ixgbe_fdir.c > +++ b/drivers/net/ixgbe/ixgbe_fdir.c > @@ -109,10 +109,6 @@ static int ixgbe_add_del_fdir_filter(struct > rte_eth_dev *dev, > bool del, > bool update); > static int ixgbe_fdir_flush(struct rte_eth_dev *dev); -static void > ixgbe_fdir_info_get(struct rte_eth_dev *dev, > - struct rte_eth_fdir_info *fdir_info); > -static void ixgbe_fdir_stats_get(struct rte_eth_dev *dev, > - struct rte_eth_fdir_stats *fdir_stats); >=20 > /** > * This function is based on ixgbe_fdir_enable_82599() in > base/ixgbe_82599.c. > @@ -1414,7 +1410,7 @@ ixgbe_fdir_flush(struct rte_eth_dev *dev) } >=20 > #define FDIRENTRIES_NUM_SHIFT 10 > -static void > +void > ixgbe_fdir_info_get(struct rte_eth_dev *dev, struct rte_eth_fdir_info > *fdir_info) { > struct ixgbe_hw *hw =3D IXGBE_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); > @@ -1473,7 +1469,7 @@ ixgbe_fdir_info_get(struct rte_eth_dev *dev, > struct rte_eth_fdir_info *fdir_info > (uint8_t)((info->mask.flex_bytes_mask & 0xFF00) >> > 8); } >=20 > -static void > +void > ixgbe_fdir_stats_get(struct rte_eth_dev *dev, struct rte_eth_fdir_stats > *fdir_stats) { > struct ixgbe_hw *hw =3D IXGBE_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); > diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.c > b/drivers/net/ixgbe/rte_pmd_ixgbe.c > index 9bff557f9..d2f708242 100644 > --- a/drivers/net/ixgbe/rte_pmd_ixgbe.c > +++ b/drivers/net/ixgbe/rte_pmd_ixgbe.c > @@ -1139,3 +1139,36 @@ rte_pmd_ixgbe_mdio_unlocked_write(uint16_t > port, uint32_t reg_addr, > } > return 0; > } > + > +int > +rte_pmd_ixgbe_get_fdir_info(uint16_t port, struct rte_eth_fdir_info > +*fdir_info) { > + struct rte_eth_dev *dev; > + > + RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV); > + > + dev =3D &rte_eth_devices[port]; > + if (!is_ixgbe_supported(dev)) > + return -ENOTSUP; > + > + ixgbe_fdir_info_get(dev, fdir_info); > + > + return 0; > +} > + > +int > +rte_pmd_ixgbe_get_fdir_stats(uint16_t port, > + struct rte_eth_fdir_stats *fdir_stats) { > + struct rte_eth_dev *dev; > + > + RTE_ETH_VALID_PORTID_OR_ERR_RET(port, -ENODEV); > + > + dev =3D &rte_eth_devices[port]; > + if (!is_ixgbe_supported(dev)) > + return -ENOTSUP; > + > + ixgbe_fdir_stats_get(dev, fdir_stats); > + > + return 0; > +} > diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.h > b/drivers/net/ixgbe/rte_pmd_ixgbe.h > index f62fd761d..8b6bb99a5 100644 > --- a/drivers/net/ixgbe/rte_pmd_ixgbe.h > +++ b/drivers/net/ixgbe/rte_pmd_ixgbe.h > @@ -726,4 +726,37 @@ enum { > __rte_experimental > int > rte_pmd_ixgbe_upd_fctrl_sbp(uint16_t port, int enable); > + > +/** > + * Get port fdir info > + * > + * @param port > + * The port identifier of the Ethernet device. > + * @param fdir_info > + * The fdir info of the port > + * @return > + * - (0) if successful. > + * - (-ENODEV) if *port* invalid. > + * - (-ENOTSUP) if operation not supported. > + */ > +__rte_experimental > +int > +rte_pmd_ixgbe_get_fdir_info(uint16_t port, struct rte_eth_fdir_info > +*fdir_info); > + > +/** > + * Get port fdir status > + * > + * @param port > + * The port identifier of the Ethernet device. > + * @param fdir_stats > + * The fdir status of the port > + * @return > + * - (0) if successful. > + * - (-ENODEV) if *port* invalid. > + * - (-ENOTSUP) if operation not supported. > + */ > +__rte_experimental > +int > +rte_pmd_ixgbe_get_fdir_stats(uint16_t port, > + struct rte_eth_fdir_stats *fdir_stats); > #endif /* _PMD_IXGBE_H_ */ > diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map > b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map > index 21534dbc3..911f8083f 100644 > --- a/drivers/net/ixgbe/rte_pmd_ixgbe_version.map > +++ b/drivers/net/ixgbe/rte_pmd_ixgbe_version.map > @@ -38,6 +38,8 @@ DPDK_20.0 { > EXPERIMENTAL { > global: >=20 > + rte_pmd_ixgbe_get_fdir_info; > + rte_pmd_ixgbe_get_fdir_stats; > rte_pmd_ixgbe_mdio_lock; > rte_pmd_ixgbe_mdio_unlock; > rte_pmd_ixgbe_mdio_unlocked_read; > -- > 2.17.1