21/06/2018 10:06, Burakov, Anatoly: > On 21-Jun-18 3:00 AM, Qi Zhang wrote: > > Add driver API rte_eth_release_port_private to support the > > requirement that an ethdev only be released on secondary process, > > so only local state be set to unused , share data will not be > > reset so primary process can still use it. > > > > Signed-off-by: Qi Zhang <qi.z.zh...@intel.com> > > --- > > <snip> > > > > > /** > > * @internal > > + * Release the specified ethdev port in local process, only set to ethdev > > + * state to unused, but not reset share data since it assume other process > > + * is still using it, typically it is called by secondary process. > > + * > > + * @param eth_dev > > + * The *eth_dev* pointer is the address of the *rte_eth_dev* structure. > > + * @return > > + * - 0 on success, negative on error > > + */ > > +int rte_eth_dev_release_port_private(struct rte_eth_dev *eth_dev); > > + > > As far as i can tell, even though the function is marked as internal, it > should still be exported in the .map file (see rte_eth_dev_allocate() > for example). > > Thomas and others, does this count as new API? Should this be marked as > __rte_experimental? Presumably, we guarantee ABI stability for internal > functions too, so my expectation would be yes.
You know the A in ABI stands for Application :) If it is not called by application, it has no impact on ABI. However, I am not sure about having this function at all. Who is calling it?