From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 23BF423B for ; Tue, 19 Sep 2017 19:15:02 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Sep 2017 10:14:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,418,1500966000"; d="scan'208";a="901908370" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.237.220.57]) ([10.237.220.57]) by FMSMGA003.fm.intel.com with ESMTP; 19 Sep 2017 10:14:34 -0700 To: David Harton , thomas@monjalon.net Cc: dev@dpdk.org References: <20170810132952.26974-1-dharton@cisco.com> <20170901022631.19529-1-dharton@cisco.com> From: Ferruh Yigit Message-ID: Date: Tue, 19 Sep 2017 18:14:33 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 MIME-Version: 1.0 In-Reply-To: <20170901022631.19529-1-dharton@cisco.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v5] ethdev: add return code to rte_eth_stats_reset() 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: , X-List-Received-Date: Tue, 19 Sep 2017 17:15:03 -0000 On 9/1/2017 3:26 AM, David Harton wrote: > Some devices do not support reset of eth stats. An application may > need to know not to clear shadow stats if the device cannot. > > rte_eth_stats_reset is updated to provide a return code to share > whether the device supports reset or not. > > Signed-off-by: David Harton > --- > > v5: > * squashed doc patch > * moved rel_note change from ABI to API section > > v4: > * commented return values > > v3: > * overcame noob errors and figured out patch challenged > > v2: > * fixed soft tab issue inserted while moving changes > > doc/guides/rel_notes/release_17_11.rst | 13 +++++++++++++ > lib/librte_ether/rte_ethdev.c | 8 +++++--- > lib/librte_ether/rte_ethdev.h | 6 +++++- > 3 files changed, 23 insertions(+), 4 deletions(-) > > diff --git a/doc/guides/rel_notes/release_17_11.rst b/doc/guides/rel_notes/release_17_11.rst > index 22df4fd..6282667 100644 > --- a/doc/guides/rel_notes/release_17_11.rst > +++ b/doc/guides/rel_notes/release_17_11.rst > @@ -110,6 +110,19 @@ API Changes > Also, make sure to start the actual text at the margin. > ========================================================= > > +* **Modified the return type of rte_eth_stats_reset.** > + > + Changed return type of ``rte_eth_stats_reset`` from ``void`` to ``int`` > + so the caller may know whether a device supports the operation or not > + and if the operation was carried out. > + > +* **Modified the vlan_offload_set_t function prototype in the ethdev library.** > + > + Changed the function prototype of ``vlan_offload_set_t``. The return value > + has been changed from ``void`` to ``int`` so the caller to knows whether > + the backing device supports the operation or if the operation was > + successfully performed. > + Is this addition to the document related to this patch? > * **Modified the vlan_offload_set_t function prototype in the ethdev library.** > > Changed the function prototype of ``vlan_offload_set_t``. The return value > diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c > index 05e52b8..f0f1775 100644 > --- a/lib/librte_ether/rte_ethdev.c > +++ b/lib/librte_ether/rte_ethdev.c > @@ -1341,17 +1341,19 @@ struct rte_eth_dev * > return 0; > } > > -void > +int > rte_eth_stats_reset(uint8_t port_id) > { > struct rte_eth_dev *dev; > > - RTE_ETH_VALID_PORTID_OR_RET(port_id); > + RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); > dev = &rte_eth_devices[port_id]; > > - RTE_FUNC_PTR_OR_RET(*dev->dev_ops->stats_reset); > + RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->stats_reset, -ENOTSUP); > (*dev->dev_ops->stats_reset)(dev); > dev->data->rx_mbuf_alloc_failed = 0; > + > + return 0; > } > > static int > diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h > index 7254fd0..9110725 100644 > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -2246,8 +2246,12 @@ int rte_eth_tx_queue_setup(uint8_t port_id, uint16_t tx_queue_id, > * > * @param port_id > * The port identifier of the Ethernet device. > + * @return > + * - (0) if device notified to reset stats. > + * - (-ENOTSUP) if hardware doesn't support. > + * - (-ENODEV) if *port_id* invalid. > */ > -void rte_eth_stats_reset(uint8_t port_id); > +int rte_eth_stats_reset(uint8_t port_id); > > /** > * Retrieve names of extended statistics of an Ethernet device. >