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 795A5A0C43; Tue, 16 Nov 2021 18:54:55 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 60DC3407FF; Tue, 16 Nov 2021 18:54:55 +0100 (CET) Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mails.dpdk.org (Postfix) with ESMTP id 83AB240141 for ; Tue, 16 Nov 2021 18:54:54 +0100 (CET) Received: by linux.microsoft.com (Postfix, from userid 1086) id D193520C636F; Tue, 16 Nov 2021 09:54:53 -0800 (PST) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com D193520C636F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1637085293; bh=4x274R46MJSl9e50EP9mjETgIqJpYc2Nb8gcmDD9fp8=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=pwTgCQ1cJoiVtSArzRx+fWx4neAbW58lrrW3YOR+RIO4Wnw/atxwd7b3kdiJBBiLM ZqXCfS17xEF4Gk1+2Q5OWYWgAtarnjkx4S9Md2adR9HD2vBG6uuQEiVeIQuT5anlTF S43CuKqpV9/gyaGJhvrReHy1+JC0lmHLaXZzIQPc= Date: Tue, 16 Nov 2021 09:54:53 -0800 From: Tyler Retzlaff To: Ferruh Yigit Cc: Konstantin Ananyev , dev@dpdk.org Subject: Re: ethdev: hide internal structures Message-ID: <20211116175453.GA16051@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> References: <20211116002440.GA17166@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> <15f9b491-6c36-dc85-6348-d746196d4374@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <15f9b491-6c36-dc85-6348-d746196d4374@intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) 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 On Tue, Nov 16, 2021 at 09:32:15AM +0000, Ferruh Yigit wrote: > > Hi Tyler, > > It shouldn't be an API change, which API is changed? exported declarations that were consumed by the application were removed from an installed header. anything making reference to rte_eth_devices[] will no longer compile. any change that removes any identifier or macro visible to the application from an installed header is an api break. > Existing binaries won't run and needs recompile, but shouldn't need to change > the code. > Unless application is accessing *internal* DPDK structs (which were exposed > to application because of some technical issues that above commit fixes). the application was, but the access was to a symbol and identifier that had not been previously marked __rte_internal or __rte_experimental and thus assumed to be public. just to be clear i agree with the change making these internal but there was virtually no warning. https://doc.dpdk.org/guides-19.11/contributing/abi_policy.html the exports and declarations need to be marked deprecated to give ample time before being removed in accordance with the abi policy. i will ask that work be scheduled to identify the gap in the public api surface that access to these structures was providing rather than backing the change out. fortunately it is only schedule rather than service impacting since the application hadn't been deployed yet. i thought someone was responsible for reviewing abi/api related changes on the board to understand the implications of changes like this? thanks