FD.io VPP
v20.01-48-g3e0dafb74
Vector Packet Processing
|
Definitions for all things IP (v4|v6) unicast and multicast lookup related. More...
Go to the source code of this file.
Data Structures | |
struct | ip_interface_prefix_key_t |
struct | ip_interface_prefix_t |
struct | ip_interface_address_t |
struct | ip_lookup_main_t |
Macros | |
#define | IP_FLOW_HASH_SRC_ADDR (1<<0) |
Flow hash configuration. More... | |
#define | IP_FLOW_HASH_DST_ADDR (1<<1) |
#define | IP_FLOW_HASH_PROTO (1<<2) |
#define | IP_FLOW_HASH_SRC_PORT (1<<3) |
#define | IP_FLOW_HASH_DST_PORT (1<<4) |
#define | IP_FLOW_HASH_REVERSE_SRC_DST (1<<5) |
#define | IP_FLOW_HASH_SYMMETRIC (1<<6) |
#define | IP_FLOW_HASH_DEFAULT (0x1F) |
Default: 5-tuple without the "reverse" bit. More... | |
#define | foreach_flow_hash_bit |
#define | foreach_ip_interface_address(lm, a, sw_if_index, loop, body) |
Typedefs | |
typedef u32 | flow_hash_config_t |
A flow hash configuration is a mask of the flow hash options. More... | |
typedef struct ip_lookup_main_t | ip_lookup_main_t |
typedef struct _vnet_ip_container_proxy_args | vnet_ip_container_proxy_args_t |
typedef int(* | ip_container_proxy_cb_t) (const fib_prefix_t *pfx, u32 sw_if_index, void *ctx) |
Enumerations | |
enum | ip_local_next_t { IP_LOCAL_NEXT_DROP, IP_LOCAL_NEXT_PUNT, IP_LOCAL_NEXT_UDP_LOOKUP, IP_LOCAL_NEXT_ICMP, IP_LOCAL_NEXT_REASSEMBLY, IP_LOCAL_N_NEXT } |
Functions | |
clib_error_t * | ip_interface_address_add_del (ip_lookup_main_t *lm, u32 sw_if_index, void *address, u32 address_length, u32 is_del, u32 *result_index) |
u8 * | format_ip_flow_hash_config (u8 *s, va_list *args) |
static ip_interface_address_t * | ip_get_interface_address (ip_lookup_main_t *lm, void *addr_fib) |
static void * | ip_interface_address_get_address (ip_lookup_main_t *lm, ip_interface_address_t *a) |
static ip_interface_prefix_t * | ip_get_interface_prefix (ip_lookup_main_t *lm, ip_interface_prefix_key_t *k) |
static void | ip_lookup_set_buffer_fib_index (u32 *fib_index_by_sw_if_index, vlib_buffer_t *b) |
clib_error_t * | vnet_ip_container_proxy_add_del (vnet_ip_container_proxy_args_t *args) |
void | ip_container_proxy_walk (ip_container_proxy_cb_t cb, void *ctx) |
void | ip_lookup_init (ip_lookup_main_t *lm, u32 ip_lookup_node_index) |
Variables | |
const ip46_address_t | zero_addr |
Definitions for all things IP (v4|v6) unicast and multicast lookup related.
Definition in file lookup.h.
#define foreach_flow_hash_bit |
#define foreach_ip_interface_address | ( | lm, | |
a, | |||
sw_if_index, | |||
loop, | |||
body | |||
) |
#define IP_FLOW_HASH_DEFAULT (0x1F) |
#define IP_FLOW_HASH_SRC_ADDR (1<<0) |
typedef u32 flow_hash_config_t |
typedef int(* ip_container_proxy_cb_t) (const fib_prefix_t *pfx, u32 sw_if_index, void *ctx) |
typedef struct ip_lookup_main_t ip_lookup_main_t |
typedef struct _vnet_ip_container_proxy_args vnet_ip_container_proxy_args_t |
enum ip_local_next_t |
void ip_container_proxy_walk | ( | ip_container_proxy_cb_t | cb, |
void * | ctx | ||
) |
|
inlinestatic |
|
inlinestatic |
clib_error_t* ip_interface_address_add_del | ( | ip_lookup_main_t * | lm, |
u32 | sw_if_index, | ||
void * | address, | ||
u32 | address_length, | ||
u32 | is_del, | ||
u32 * | result_index | ||
) |
|
inlinestatic |
void ip_lookup_init | ( | ip_lookup_main_t * | lm, |
u32 | ip_lookup_node_index | ||
) |
|
inlinestatic |
clib_error_t* vnet_ip_container_proxy_add_del | ( | vnet_ip_container_proxy_args_t * | args | ) |