DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tyler Retzlaff <roretzla@linux.microsoft.com>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: dev@dpdk.org, bruce.richardson@intel.com, olivier.matz@6wind.com
Subject: Re: [dpdk-dev] officially support building driver plugins externally
Date: Wed, 10 Mar 2021 13:24:59 -0800	[thread overview]
Message-ID: <20210310212459.GA29939@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> (raw)
In-Reply-To: <4724511.8By67KtOdl@thomas>

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	other threads:[~2021-03-10 21:25 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-12 19:09 Tyler Retzlaff
2021-03-10 20:52 ` Thomas Monjalon
2021-03-10 21:24   ` Tyler Retzlaff [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210310212459.GA29939@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net \
    --to=roretzla@linux.microsoft.com \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=olivier.matz@6wind.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).