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

FreeBSD Manual Pages

  
 
  

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

NAME
       rte_lpm6.h

SYNOPSIS
       #include	<stdint.h>
       #include	<rte_common.h>
       #include	<rte_ip6.h>

   Data	Structures
       struct rte_lpm6_config

   Macros
       #define RTE_LPM6_NAMESIZE   32

   Functions
       void rte_lpm6_free (struct rte_lpm6 *lpm)
       struct rte_lpm6 * rte_lpm6_create (const	char *name, int	socket_id,
	   const struct	rte_lpm6_config	*config) __rte_malloc
	   __rte_dealloc(rte_lpm6_free
       struct rte_lpm6 struct rte_lpm6 * rte_lpm6_find_existing	(const char
	   *name)
       int rte_lpm6_add	(struct	rte_lpm6 *lpm, const struct rte_ipv6_addr *ip,
	   uint8_t depth, uint32_t next_hop)
       int rte_lpm6_is_rule_present (struct rte_lpm6 *lpm, const struct
	   rte_ipv6_addr *ip, uint8_t depth, uint32_t *next_hop)
       int rte_lpm6_delete (struct rte_lpm6 *lpm, const	struct rte_ipv6_addr
	   *ip,	uint8_t	depth)
       int rte_lpm6_delete_bulk_func (struct rte_lpm6 *lpm, struct
	   rte_ipv6_addr *ips, uint8_t *depths,	unsigned int n)
       void rte_lpm6_delete_all	(struct	rte_lpm6 *lpm)
       int rte_lpm6_lookup (const struct rte_lpm6 *lpm,	const struct
	   rte_ipv6_addr *ip, uint32_t *next_hop)
       int rte_lpm6_lookup_bulk_func (const struct rte_lpm6 *lpm, struct
	   rte_ipv6_addr *ips, int32_t *next_hops, unsigned int	n)

Detailed Description
       RTE Longest Prefix Match	for IPv6 (LPM6)

       Definition in file rte_lpm6.h.

Macro Definition Documentation
   #define RTE_LPM6_NAMESIZE   32
       Max number of characters	in LPM name.

       Definition at line 25 of	file rte_lpm6.h.

Function Documentation
   void	rte_lpm6_free (struct rte_lpm6 * lpm)
       Free an LPM object.

       Parameters
	   lpm LPM object handle If lpm	is NULL, no operation is performed.

   struct rte_lpm6 * rte_lpm6_create (const char * name, int socket_id,	const
       struct rte_lpm6_config *	config)
       Create an LPM object.

       Parameters
	   name	LPM object name
	   socket_id NUMA socket ID for	LPM table memory allocation
	   config Structure containing the configuration

       Returns
	   Handle to LPM object	on success, NULL otherwise with	rte_errno set
	   to an appropriate values. Possible rte_errno	values include:

	    E_RTE_NO_CONFIG  -	 function  could not get pointer to rte_config
	     structure

	    E_RTE_SECONDARY - function	was called from	 a  secondary  process
	     instance

	    EINVAL - invalid parameter	passed to function

	    ENOSPC  -	the  maximum  number  of  memzones  has	 already  been
	     allocated

	    EEXIST - a	memzone	with the same name already exists

	    ENOMEM - no appropriate memory area  found	 in  which  to	create
	     memzone

   struct  rte_lpm6  struct  rte_lpm6  *  rte_lpm6_find_existing (const	char *
       name)
       Find an existing	LPM object and return a	pointer	to it.

       Parameters
	   name	Name of	the lpm	object as passed to rte_lpm6_create()

       Returns
	   Pointer to lpm object or NULL if object not	found  with  rte_errno
	   set appropriately. Possible rte_errno values	include:

	    ENOENT - required entry not available to return.

   int	rte_lpm6_add  (struct rte_lpm6 * lpm, const struct rte_ipv6_addr * ip,
       uint8_t depth, uint32_t next_hop)
       Add a rule to the LPM table.

       Parameters
	   lpm LPM object handle
	   ip IP of the	rule to	be added to the	LPM table
	   depth Depth of the rule to be added to the LPM table
	   next_hop Next hop of	the rule to be added to	the LPM	table

       Returns
	   0 on	success, negative value	otherwise

   int	rte_lpm6_is_rule_present  (struct  rte_lpm6  *	 lpm,	const	struct
       rte_ipv6_addr * ip, uint8_t depth, uint32_t * next_hop)
       Check  if  a rule is present in the LPM table, and provide its next hop
       if it is.

       Parameters
	   lpm LPM object handle
	   ip IP of the	rule to	be searched
	   depth Depth of the rule to searched
	   next_hop Next hop of	the rule (valid	only if	it is found)

       Returns
	   1 if	the rule exists, 0 if it does not, a negative value on failure

   int rte_lpm6_delete (struct rte_lpm6	* lpm, const  struct  rte_ipv6_addr  *
       ip, uint8_t depth)
       Delete a	rule from the LPM table.

       Parameters
	   lpm LPM object handle
	   ip IP of the	rule to	be deleted from	the LPM	table
	   depth Depth of the rule to be deleted from the LPM table

       Returns
	   0 on	success, negative value	otherwise

   int	rte_lpm6_delete_bulk_func (struct rte_lpm6 * lpm, struct rte_ipv6_addr
       * ips, uint8_t *	depths,	unsigned int n)
       Delete a	rule from the LPM table.

       Parameters
	   lpm LPM object handle
	   ips Array of	IPs to be deleted from the LPM table
	   depths Array	of depths of the rules to  be  deleted	from  the  LPM
	   table
	   n Number of rules to	be deleted from	the LPM	table

       Returns
	   0 on	success, negative value	otherwise.

   void	rte_lpm6_delete_all (struct rte_lpm6 * lpm)
       Delete all rules	from the LPM table.

       Parameters
	   lpm LPM object handle

   int	 rte_lpm6_lookup   (const   struct   rte_lpm6	*  lpm,	 const	struct
       rte_ipv6_addr * ip, uint32_t * next_hop)
       Lookup an IP into the LPM table.

       Parameters
	   lpm LPM object handle
	   ip IP to be looked up in the	LPM table
	   next_hop Next hop of	the most specific rule found for IP (valid  on
	   lookup hit only)

       Returns
	   -EINVAL  for	 incorrect  arguments,	-ENOENT	 on  lookup miss, 0 on
	   lookup hit

   int	rte_lpm6_lookup_bulk_func  (const  struct  rte_lpm6  *	 lpm,	struct
       rte_ipv6_addr * ips, int32_t * next_hops, unsigned int n)
       Lookup multiple IP addresses in an LPM table.

       Parameters
	   lpm LPM object handle
	   ips Array of	IPs to be looked up in the LPM table
	   next_hops Next hop of the most specific rule	found for IP (valid on
	   lookup hit only). This is an	array of two byte values. The next hop
	   will	 be stored on each position on success;	otherwise the position
	   will	be set to -1.
	   n Number of elements	in ips (and next_hops) array to	lookup.

       Returns
	   -EINVAL for incorrect arguments, otherwise 0

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

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

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

home | help