Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
rte_bpf_ethdev.h(3)		     DPDK		   rte_bpf_ethdev.h(3)

NAME
       rte_bpf_ethdev.h

SYNOPSIS
       #include	<rte_bpf.h>

   Enumerations
       enum {  }

   Functions
       void rte_bpf_eth_rx_unload (uint16_t port, uint16_t queue)
       void rte_bpf_eth_tx_unload (uint16_t port, uint16_t queue)
       int rte_bpf_eth_rx_elf_load (uint16_t port, uint16_t queue, const
	   struct rte_bpf_prm *prm, const char *fname, const char *sname,
	   uint32_t flags)
       int rte_bpf_eth_tx_elf_load (uint16_t port, uint16_t queue, const
	   struct rte_bpf_prm *prm, const char *fname, const char *sname,
	   uint32_t flags)

Detailed Description
       API to install BPF filter as RX/TX callbacks for	eth devices. Note that
       right now:

        it  is	 not MT	safe, i.e. it is not allowed to	do load/unload for the
	 same port/queue from different	threads	in parallel.

        though	it allows to do	load/unload at runtime (while RX/TX is ongoing
	 on given port/queue).

        allows	only one BPF  program  per  port/queue,	 i.e.  new  load  will
	 replace  previously  loaded  for  that	port/queue BPF program.	Filter
	 behaviour - if	BPF program returns zero value	for  a	given  packet,
	 then  it will be dropped inside callback and no further processing on
	 RX - it will be dropped inside	callback and no	further	processing for
	 that packet will happen. on TX	- packet will remain unsent, and it is
	 responsibility	of the user to handle such  situation  (drop,  try  to
	 send again, etc.).

       Definition in file rte_bpf_ethdev.h.

Enumeration Type Documentation
   anonymous enum
       Enumerator

       RTE_BPF_ETH_F_JIT
	      use compiled into	native ISA code

       Definition at line 33 of	file rte_bpf_ethdev.h.

Function Documentation
   void	rte_bpf_eth_rx_unload (uint16_t	port, uint16_t queue)
       Unload  previously loaded BPF program (if any) from given RX port/queue
       and remove appropriate RX port/queue callback.

       Parameters
	   port	The identifier of the ethernet port
	   queue The identifier	of the RX queue	on the given port

   void	rte_bpf_eth_tx_unload (uint16_t	port, uint16_t queue)
       Unload previously loaded	BPF program (if	any) from given	TX  port/queue
       and remove appropriate TX port/queue callback.

       Parameters
	   port	The identifier of the ethernet port
	   queue The identifier	of the TX queue	on the given port

   int	rte_bpf_eth_rx_elf_load	 (uint16_t  port, uint16_t queue, const	struct
       rte_bpf_prm * prm, const	char * fname, const  char  *  sname,  uint32_t
       flags)
       Load  BPF  program from the ELF file and	install	callback to execute it
       on given	RX port/queue.

       Parameters
	   port	The identifier of the ethernet port
	   queue The identifier	of the RX queue	on the given port
	   fname Pathname for a	ELF file.
	   sname Name of the executable	section	within the file	to load.
	   prm Parameters used to create  and  initialise  the	BPF  execution
	   context.
	   flags  Flags	 that  define  expected	 behavior of the loaded	filter
	   (i.e. jited/non-jited version to use).

       Returns
	   Zero	on successful completion or negative error code	otherwise.

   int rte_bpf_eth_tx_elf_load (uint16_t port, uint16_t	 queue,	 const	struct
       rte_bpf_prm  *  prm,  const  char * fname, const	char * sname, uint32_t
       flags)
       Load BPF	program	from the ELF file and install callback to  execute  it
       on given	TX port/queue.

       Parameters
	   port	The identifier of the ethernet port
	   queue The identifier	of the TX queue	on the given port
	   fname Pathname for a	ELF file.
	   sname Name of the executable	section	within the file	to load.
	   prm	Parameters  used  to  create  and initialise the BPF execution
	   context.
	   flags Flags that define expected  behavior  of  the	loaded	filter
	   (i.e. jited/non-jited version to use).

       Returns
	   Zero	on successful completion or negative error code	otherwise.

Author
       Generated automatically by Doxygen for DPDK from	the source code.

Version	25.11.0			Thu Jun	11 2026		   rte_bpf_ethdev.h(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rte_bpf_eth_tx_unload&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help