DPDK
24.11.0-rc3
|
Go to the source code of this file.
Data Structures | |
struct | rte_lpm6_config |
Macros | |
#define | RTE_LPM6_NAMESIZE 32 |
Functions | |
struct rte_lpm6 * | rte_lpm6_create (const char *name, int socket_id, const struct rte_lpm6_config *config) |
struct rte_lpm6 * | rte_lpm6_find_existing (const char *name) |
void | rte_lpm6_free (struct rte_lpm6 *lpm) |
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) |
RTE Longest Prefix Match for IPv6 (LPM6)
Definition in file rte_lpm6.h.
#define RTE_LPM6_NAMESIZE 32 |
Max number of characters in LPM name.
Definition at line 25 of file rte_lpm6.h.
struct rte_lpm6* rte_lpm6_create | ( | const char * | name, |
int | socket_id, | ||
const struct rte_lpm6_config * | config | ||
) |
Create an LPM object.
name | LPM object name |
socket_id | NUMA socket ID for LPM table memory allocation |
config | Structure containing the configuration |
struct rte_lpm6* rte_lpm6_find_existing | ( | const char * | name | ) |
Find an existing LPM object and return a pointer to it.
name | Name of the lpm object as passed to rte_lpm6_create() |
void rte_lpm6_free | ( | struct rte_lpm6 * | lpm | ) |
Free an LPM object.
lpm | LPM object handle If lpm is NULL, no operation is performed. |
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.
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 |
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.
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) |
int rte_lpm6_delete | ( | struct rte_lpm6 * | lpm, |
const struct rte_ipv6_addr * | ip, | ||
uint8_t | depth | ||
) |
Delete a rule from the LPM table.
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 |
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.
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 |
void rte_lpm6_delete_all | ( | struct rte_lpm6 * | lpm | ) |
Delete all rules from the LPM table.
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.
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) |
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.
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. |