DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
rte_lpm6.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2010-2014 Intel Corporation
3
*/
4
#ifndef _RTE_LPM6_H_
5
#define _RTE_LPM6_H_
6
11
12
#include <stdint.h>
13
14
#include <
rte_common.h
>
15
#include <
rte_ip6.h
>
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
22
#define RTE_LPM6_MAX_DEPTH (RTE_DEPRECATED(RTE_LPM6_MAX_DEPTH) RTE_IPV6_MAX_DEPTH)
23
#define RTE_LPM6_IPV6_ADDR_SIZE (RTE_DEPRECATED(RTE_LPM6_IPV6_ADDR_SIZE) RTE_IPV6_ADDR_SIZE)
25
#define RTE_LPM6_NAMESIZE 32
26
28
struct
rte_lpm6;
29
31
struct
rte_lpm6_config
{
32
uint32_t
max_rules
;
33
uint32_t
number_tbl8s
;
34
int
flags
;
35
};
36
44
void
45
rte_lpm6_free
(
struct
rte_lpm6 *lpm);
46
66
struct
rte_lpm6 *
67
rte_lpm6_create
(
const
char
*name,
int
socket_id,
68
const
struct
rte_lpm6_config
*config)
69
__rte_malloc
__rte_dealloc
(
rte_lpm6_free
, 1);
70
81
struct
rte_lpm6 *
82
rte_lpm6_find_existing
(
const
char
*name);
83
98
int
99
rte_lpm6_add
(
struct
rte_lpm6 *lpm,
const
struct
rte_ipv6_addr
*ip, uint8_t depth,
100
uint32_t next_hop);
101
117
int
118
rte_lpm6_is_rule_present
(
struct
rte_lpm6 *lpm,
const
struct
rte_ipv6_addr
*ip, uint8_t depth,
119
uint32_t *next_hop);
120
133
int
134
rte_lpm6_delete
(
struct
rte_lpm6 *lpm,
const
struct
rte_ipv6_addr
*ip, uint8_t depth);
135
150
int
151
rte_lpm6_delete_bulk_func
(
struct
rte_lpm6 *lpm,
152
struct
rte_ipv6_addr
*ips, uint8_t *depths,
unsigned
int
n);
153
160
void
161
rte_lpm6_delete_all
(
struct
rte_lpm6 *lpm);
162
175
int
176
rte_lpm6_lookup
(
const
struct
rte_lpm6 *lpm,
const
struct
rte_ipv6_addr
*ip, uint32_t *next_hop);
177
194
int
195
rte_lpm6_lookup_bulk_func
(
const
struct
rte_lpm6 *lpm,
196
struct
rte_ipv6_addr
*ips,
197
int32_t *next_hops,
unsigned
int
n);
198
199
#ifdef __cplusplus
200
}
201
#endif
202
203
#endif
rte_common.h
__rte_dealloc
#define __rte_dealloc(dealloc, argno)
Definition
rte_common.h:339
__rte_malloc
#define __rte_malloc
Definition
rte_common.h:328
rte_ip6.h
rte_lpm6_create
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
rte_lpm6_delete_all
void rte_lpm6_delete_all(struct rte_lpm6 *lpm)
rte_lpm6_free
void rte_lpm6_free(struct rte_lpm6 *lpm)
rte_lpm6_delete
int rte_lpm6_delete(struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip, uint8_t depth)
rte_lpm6_lookup_bulk_func
int rte_lpm6_lookup_bulk_func(const struct rte_lpm6 *lpm, struct rte_ipv6_addr *ips, int32_t *next_hops, unsigned int n)
rte_lpm6_add
int rte_lpm6_add(struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip, uint8_t depth, uint32_t next_hop)
rte_lpm6_lookup
int rte_lpm6_lookup(const struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip, uint32_t *next_hop)
rte_lpm6_is_rule_present
int rte_lpm6_is_rule_present(struct rte_lpm6 *lpm, const struct rte_ipv6_addr *ip, uint8_t depth, uint32_t *next_hop)
rte_lpm6_find_existing
struct rte_lpm6 struct rte_lpm6 * rte_lpm6_find_existing(const char *name)
rte_lpm6_delete_bulk_func
int rte_lpm6_delete_bulk_func(struct rte_lpm6 *lpm, struct rte_ipv6_addr *ips, uint8_t *depths, unsigned int n)
rte_ipv6_addr
Definition
rte_ip6.h:53
rte_lpm6_config
Definition
rte_lpm6.h:31
rte_lpm6_config::number_tbl8s
uint32_t number_tbl8s
Definition
rte_lpm6.h:33
rte_lpm6_config::max_rules
uint32_t max_rules
Definition
rte_lpm6.h:32
rte_lpm6_config::flags
int flags
Definition
rte_lpm6.h:34
lib
lpm
rte_lpm6.h
Generated by
1.17.0