> -----Original Message----- > From: Yigit, Ferruh > Sent: Monday, February 13, 2017 4:46 PM > To: Thomas Monjalon <thomas.monja...@6wind.com>; Dumitrescu, Cristian > <cristian.dumitre...@intel.com> > Cc: dev@dpdk.org; Richardson, Bruce <bruce.richard...@intel.com>; Wiles, > Keith <keith.wi...@intel.com> > Subject: Re: [dpdk-dev] doc: deprecation notice for ethdev ops? > > On 2/13/2017 4:09 PM, Thomas Monjalon wrote: > > 2017-02-13 16:02, Dumitrescu, Cristian: > >> Hi Thomas, > >> > >> When a new member (function pointer) is added to struct eth_dev_ops > (as the last member), does it need to go through ABI chance process (e.g. > chance notice one release before)? > >> > >> IMO the answer is no: struct eth_dev_ops is marked as internal and its > instances are only accessed through pointers, so the rte_eth_devices array > should not be impacted by the ops structure expanding at its end. Unless > there is something that I am missing? > > > > You are right, it is an internal struct. > > So no need of a deprecation notice. > > When dpdk compiled as dynamic library, application will load PMDs > dynamically as plugin. > Is this use case cause ABI compatibility issue? > > I think drivers <--> libraries interface can cause ABI breakages for > dynamic library case, although not sure how common use case this is. >
Do you have a specific example that might cause an issue when adding a new function at the end of the ethdev ops structure? I cannot think of any, given that the ops structure is marked as internal and it is only accessed through pointers. > > > > > We must clearly separate API and internal code in ethdev. > > > >> My question is in the context of this patch under review for 17.5 release: > http://www.dpdk.org/ml/archives/dev/2017-February/057367.html. > > > > I did not look at it yet. Will do after the release. > > > >