DPDK patches and discussions
 help / color / mirror / Atom feed
From: David Marchand <david.marchand@redhat.com>
To: "Björn Svensson A" <bjorn.a.svensson@est.tech>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	 Stephen Hemminger <stephen@networkplumber.org>
Subject: Re: librte_bpf: roadmap or any specific plans for this library
Date: Thu, 28 Apr 2022 12:34:38 +0200	[thread overview]
Message-ID: <CAJFAV8z0_6ghbuVPtgCBbOV+Wn+i8WDRDEBz_H1yBg9qiHO-Qg@mail.gmail.com> (raw)
In-Reply-To: <DB9P189MB1833A7A2AF6CBF68D14F4070B9F89@DB9P189MB1833.EURP189.PROD.OUTLOOK.COM>

Hello,

On Tue, Apr 26, 2022 at 10:34 AM Björn Svensson A
<bjorn.a.svensson@est.tech> wrote:
>
> Hi all,
> I hope this is the correct maillist for this topic.

Yes it is.
I copied the maintainer and people that might be interested in this topic.


>
> DPDK provides the nice library `librte_bpf` to load and execute eBPF bytecode
> and we would like to broaden our usage of this library.
>
> Today there are hints that this library might have been purpose built to enable inspection or modification of packets;
> for example the eBPF program is expected to only use a single input argument, pointing to data of some sort.
> We believe it would be beneficial to be able to use this library to run generic eBPF programs as well,
> as an alternative to run them as RX- TX-port/queue callbacks (i.e. generic programs which only uses supported features)
>
> I have seen some discussions regarding moving towards using a common library with the kernel implementation of bpf,
> but I couldn't figure out the outcome.

I don't think there was progress on this.


> My question is if there any plans to evolve this library or would improvements possibly be accepted?
>
> Here are some improvements we are interested to look into:
>
> * Add additional API for loading eBPF code.
>   Today it's possible to load eBPF code from an ELF file, but having an API to load code from an ELF image from memory
>   would open up for other ways to manage eBPF code.
>
>   Example of the new API:
>     struct rte_bpf *
>     rte_bpf_elf_image_load(const struct rte_bpf_prm *prm, char *image,
>                            size_t size, const char *sname);
>
> * Add support of more than a single input argument.
>   There are cases when additional information is needed. Being able to use more than a single input argument
>   would help when running generic eBPF programs.
>
>   Example of change:
>        struct rte_bpf_prm {
>        ...
>     -    struct rte_bpf_arg prog_arg; /**< eBPF program input arg description */
>     +    uint32_t nb_args;
>     +    struct rte_bpf_arg prog_args[EBPF_FUNC_MAX_ARGS]; /**< eBPF program input args */
>        };

All I can tell, is that this proposal breaks ABI.
This is a blocker to get it accepted until next ABI breakage window opens.


-- 
David Marchand


  reply	other threads:[~2022-04-28 10:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-25 23:38 Björn Svensson A
2022-04-28 10:34 ` David Marchand [this message]
2022-04-28 17:03 ` Konstantin Ananyev
2022-05-02 14:28   ` Björn Svensson A
2022-05-03 23:17     ` Konstantin Ananyev

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=CAJFAV8z0_6ghbuVPtgCBbOV+Wn+i8WDRDEBz_H1yBg9qiHO-Qg@mail.gmail.com \
    --to=david.marchand@redhat.com \
    --cc=bjorn.a.svensson@est.tech \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    --cc=stephen@networkplumber.org \
    /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).