From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6E805A0C43; Tue, 28 Sep 2021 18:25:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 313F1410D7; Tue, 28 Sep 2021 18:25:24 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id D2C7A40E3C for ; Tue, 28 Sep 2021 18:25:22 +0200 (CEST) Received: from [192.168.38.17] (aros.oktetlabs.ru [192.168.38.17]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id 541A57F578; Tue, 28 Sep 2021 19:25:22 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 541A57F578 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1632846322; bh=hOOKJ3w2Wc6PpopGv7cw4JKBh1TRnIjlVzVk6F3Tk/A=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=EYetYkHO+yrbLddap6hfcVKSiw6Q2sDRjJmb1ZB7JMlYrJ9xJtC5XVyLrt/kapGid XJr9NQ/F3hD7ObHx/jA7HlMhv3LZWVrTT3uT/SCBDFa4iJZcLQ4IV5Yb7IfY+6kFyI /6uTly8nvL+eOURAJSQeQ6nlVhQbjPfmYCs97ZxQ= To: Stephen Hemminger Cc: Ori Kam , Xiaoyun Li , Ray Kinsella , Ajit Khaparde , Somnath Kotur , Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , "Min Hu (Connor)" , Yisen Zhuang , Lijun Ou , Qiming Yang , Qi Zhang , Matan Azrad , Viacheslav Ovsiienko , Jerin Jacob , Jasvinder Singh , Cristian Dumitrescu , Thomas Monjalon , Ferruh Yigit , dev@dpdk.org References: <20210928152300.989961-1-andrew.rybchenko@oktetlabs.ru> <20210928085807.7bbb50c9@hermes.local> From: Andrew Rybchenko Organization: OKTET Labs Message-ID: <733de6a8-f9b4-5d0f-b666-ca9a2ef92d9e@oktetlabs.ru> Date: Tue, 28 Sep 2021 19:25:21 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210928085807.7bbb50c9@hermes.local> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] ethdev: remove deprecated shared counter attribute X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" On 9/28/21 6:58 PM, Stephen Hemminger wrote: > On Tue, 28 Sep 2021 18:23:00 +0300 > Andrew Rybchenko wrote: > >> @@ -2498,24 +2498,11 @@ struct rte_flow_query_age { >> * Counters can be retrieved and reset through ``rte_flow_query()``, see >> * ``struct rte_flow_query_count``. >> * >> - * @deprecated Shared attribute is deprecated, use generic >> - * RTE_FLOW_ACTION_TYPE_INDIRECT action. >> - * >> - * The shared flag indicates whether the counter is unique to the flow rule the >> - * action is specified with, or whether it is a shared counter. >> - * >> - * For a count action with the shared flag set, then then a global device >> - * namespace is assumed for the counter id, so that any matched flow rules using >> - * a count action with the same counter id on the same port will contribute to >> - * that counter. >> - * >> * For ports within the same switch domain then the counter id namespace extends >> * to all ports within that switch domain. >> */ >> struct rte_flow_action_count { >> - /** @deprecated Share counter ID with other flow rules. */ >> - uint32_t shared:1; >> - uint32_t reserved:31; /**< Reserved, must be zero. */ >> + uint32_t reserved; /**< Reserved, must be zero. */ >> uint32_t id; /**< Counter ID. */ > > Reserved fields are often source of future problems. > You should change each driver to check that reserved field > return -ENOTSUP if non-zero. That way if reserved field is ever > used in future it won't break API/ABI. > > The other option is to just remove the reserved field and take the API/ABI > hit now. > I agree. If there is no objections, I'll remove it in v2.