On Wed, Mar 10, 2021 at 09:52:58PM +0100, Thomas Monjalon wrote:
> 12/02/2021 20:09, Tyler Retzlaff:
> > Recently installation of driver headers and export of functions was         
> >                               pulled back from being public to private      
> >                                                             (commit 
> > df96fd0d73955bdc7ca3909e772ff2ad903249c6). From a discussion                
> >                       with Thomas Monjalon we understand that it was not 
> > the design intent                                      to ever have these 
> > headers exposed publicly, but it was allowing us to                         
> >            maintain the drivers we do implement outside of the normal dpdk 
> > tree.
> > 
> > We would like to propose that building driver plugins external to the       
> >                               dpdk source tree be officially supported / 
> > restored and it is is our                                      
> > understanding there there are asks from other DPDK consumers for the        
> >                               same.  We understand the main concern is that 
> > it might incorrectly convey                                 that the 
> > API/ABI of the driver interface is stable or promised to be                 
> >                      compatible when no such promise exists.

sorry for previous mail format i didn't intend for things to be hard to
read.

> 
> Yes we must have a clean API export for application.
> The driver interface should not be exported by default.

agreed for both points. i think introducing another name to the set of
__rte_internal, __rte_experimental, __rte_<to_be_named> is probably the
mechanism to use?

> 
> > Can the broader community help us with an acceptable solution to building   
> >                               the drivers out of the tree? Aside from 
> > installing the needed headers                                     what 
> > other mechanical things can we do to achieve this?  We are happy to         
> >                          do the work/submit the required patches as 
> > necessary.
> 
> What about a meson option to export the driver interface files?

i would propose driver interface files installation defaults to off and
a meson option -D<to_be_named>=true has to be passed to enable
installation.

> Should it be exported in the same include directory as API files?

that is a good question, i'm not sure there is substantial value if we
are defaulting to not installing the driver interface files. but i have
no objection if someone sees value in a deeper include path.

> Should it be accessible with a pkg-config file?

i haven't worked with pkg-config in some time, is the suggestion that we
include a .pc file or something so a dependent/external driver can
detect that the driver interface files are available?

my first thought is no because it is an unstable api i would not want to
encourage automatically finding and depending on the driver interface
and instead opt for external drivers to have to jump through a few hoops.
but perhaps you have other ideas in mind?

Reply via email to