FD.io VPP  v19.08.1-401-g8e4ed521a
Vector Packet Processing
map.c File Reference
+ Include dependency graph for map.c:

Go to the source code of this file.

Macros

#define map_ip4_reass_pool_index(r)   (r - map_main.ip4_reass_pool)
 
#define map_ip6_reass_pool_index(r)   (r - map_main.ip6_reass_pool)
 

Functions

static void map_save_extras (u32 map_domain_index, u8 *tag)
 
static void map_free_extras (u32 map_domain_index)
 
int map_create_domain (ip4_address_t *ip4_prefix, u8 ip4_prefix_len, ip6_address_t *ip6_prefix, u8 ip6_prefix_len, ip6_address_t *ip6_src, u8 ip6_src_len, u8 ea_bits_len, u8 psid_offset, u8 psid_length, u32 *map_domain_index, u16 mtu, u8 flags, u8 *tag)
 
int map_delete_domain (u32 map_domain_index)
 
int map_add_del_psid (u32 map_domain_index, u16 psid, ip6_address_t *tep, bool is_add)
 
static void map_pre_resolve_init (map_main_pre_resolved_t *pr)
 
static u8format_map_pre_resolve (u8 *s, va_list *ap)
 
static void map_last_lock_gone (fib_node_t *node)
 Function definition to inform the FIB node that its last lock has gone. More...
 
static map_main_pre_resolved_tmap_from_fib_node (fib_node_t *node)
 
static void map_stack (map_main_pre_resolved_t *pr)
 
static fib_node_back_walk_rc_t map_back_walk (fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
 Function definition to backwalk a FIB node. More...
 
static fib_node_tmap_fib_node_get (fib_node_index_t index)
 Function definition to get a FIB node from its index. More...
 
static void map_fib_resolve (map_main_pre_resolved_t *pr, fib_protocol_t proto, u8 len, const ip46_address_t *addr)
 
static void map_fib_unresolve (map_main_pre_resolved_t *pr, fib_protocol_t proto, u8 len, const ip46_address_t *addr)
 
void map_pre_resolve (ip4_address_t *ip4, ip6_address_t *ip6, bool is_del)
 
static clib_error_tmap_security_check_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_add_domain_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_del_domain_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_add_rule_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_pre_resolve_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_icmp_relay_source_address_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_icmp_unreachables_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_fragment_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_traffic_class_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static char * map_flags_to_string (u32 flags)
 
static u8format_map_domain (u8 *s, va_list *args)
 
static u8format_map_ip4_reass (u8 *s, va_list *args)
 
static u8format_map_ip6_reass (u8 *s, va_list *args)
 
static clib_error_tshow_map_domain_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tshow_map_fragments_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
u64 map_error_counter_get (u32 node_index, map_error_t map_error)
 
static clib_error_tshow_map_stats_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_params_reass_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tmap_if_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
u8format_map_trace (u8 *s, va_list *args)
 
static_always_inline map_ip4_reass_tmap_ip4_reass_lookup (map_ip4_reass_key_t *k, u32 bucket, f64 now)
 
void map_ip4_reass_free (map_ip4_reass_t *r, u32 **pi_to_drop)
 
map_ip4_reass_tmap_ip4_reass_get (u32 src, u32 dst, u16 fragment_id, u8 protocol, u32 **pi_to_drop)
 
int map_ip4_reass_add_fragment (map_ip4_reass_t *r, u32 pi)
 
static_always_inline map_ip6_reass_tmap_ip6_reass_lookup (map_ip6_reass_key_t *k, u32 bucket, f64 now)
 
void map_ip6_reass_free (map_ip6_reass_t *r, u32 **pi_to_drop)
 
map_ip6_reass_tmap_ip6_reass_get (ip6_address_t *src, ip6_address_t *dst, u32 fragment_id, u8 protocol, u32 **pi_to_drop)
 
int map_ip6_reass_add_fragment (map_ip6_reass_t *r, u32 pi, u16 data_offset, u16 next_data_offset, u8 *data_start, u16 data_len)
 
void map_ip4_reass_reinit (u32 *trashed_reass, u32 *dropped_packets)
 
u8 map_get_ht_log2len (f32 ht_ratio, u16 pool_size)
 
int map_ip4_reass_conf_ht_ratio (f32 ht_ratio, u32 *trashed_reass, u32 *dropped_packets)
 
int map_ip4_reass_conf_pool_size (u16 pool_size, u32 *trashed_reass, u32 *dropped_packets)
 
int map_ip4_reass_conf_lifetime (u16 lifetime_ms)
 
int map_ip4_reass_conf_buffers (u32 buffers)
 
void map_ip6_reass_reinit (u32 *trashed_reass, u32 *dropped_packets)
 
int map_ip6_reass_conf_ht_ratio (f32 ht_ratio, u32 *trashed_reass, u32 *dropped_packets)
 
int map_ip6_reass_conf_pool_size (u16 pool_size, u32 *trashed_reass, u32 *dropped_packets)
 
int map_ip6_reass_conf_lifetime (u16 lifetime_ms)
 
int map_ip6_reass_conf_buffers (u32 buffers)
 
static clib_error_tmap_tcp_mss_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
 VLIB_PLUGIN_REGISTER ()
 
clib_error_tmap_init (vlib_main_t *vm)
 

Variables

map_main_t map_main
 
map_main_pre_resolved_t pre_resolved [FIB_PROTOCOL_MAX]
 Pre-resolved per-protocol global next-hops. More...
 
static const fib_node_vft_t map_vft
 
static vlib_cli_command_t map_ip4_reass_lifetime_command
 (constructor) VLIB_CLI_COMMAND (map_ip4_reass_lifetime_command) More...
 
static vlib_cli_command_t map_traffic_class_command
 (constructor) VLIB_CLI_COMMAND (map_traffic_class_command) More...
 
static vlib_cli_command_t map_tcp_mss_command
 (constructor) VLIB_CLI_COMMAND (map_tcp_mss_command) More...
 
static vlib_cli_command_t map_pre_resolve_command
 (constructor) VLIB_CLI_COMMAND (map_pre_resolve_command) More...
 
static vlib_cli_command_t map_security_check_command
 (constructor) VLIB_CLI_COMMAND (map_security_check_command) More...
 
static vlib_cli_command_t map_icmp_relay_source_address_command
 (constructor) VLIB_CLI_COMMAND (map_icmp_relay_source_address_command) More...
 
static vlib_cli_command_t map_icmp_unreachables_command
 (constructor) VLIB_CLI_COMMAND (map_icmp_unreachables_command) More...
 
static vlib_cli_command_t map_fragment_command
 (constructor) VLIB_CLI_COMMAND (map_fragment_command) More...
 
static vlib_cli_command_t map_add_domain_command
 (constructor) VLIB_CLI_COMMAND (map_add_domain_command) More...
 
static vlib_cli_command_t map_add_rule_command
 (constructor) VLIB_CLI_COMMAND (map_add_rule_command) More...
 
static vlib_cli_command_t map_del_command
 (constructor) VLIB_CLI_COMMAND (map_del_command) More...
 
static vlib_cli_command_t show_map_domain_command
 (constructor) VLIB_CLI_COMMAND (show_map_domain_command) More...
 
static vlib_cli_command_t show_map_stats_command
 (constructor) VLIB_CLI_COMMAND (show_map_stats_command) More...
 
static vlib_cli_command_t show_map_fragments_command
 (constructor) VLIB_CLI_COMMAND (show_map_fragments_command) More...
 
static vlib_cli_command_t map_if_command
 (constructor) VLIB_CLI_COMMAND (map_if_command) More...
 

Macro Definition Documentation

◆ map_ip4_reass_pool_index

#define map_ip4_reass_pool_index (   r)    (r - map_main.ip4_reass_pool)

Definition at line 1389 of file map.c.

◆ map_ip6_reass_pool_index

#define map_ip6_reass_pool_index (   r)    (r - map_main.ip6_reass_pool)

Definition at line 1552 of file map.c.

Function Documentation

◆ format_map_domain()

static u8* format_map_domain ( u8 s,
va_list *  args 
)
static

Definition at line 912 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_map_ip4_reass()

static u8* format_map_ip4_reass ( u8 s,
va_list *  args 
)
static

Definition at line 970 of file map.c.

+ Here is the call graph for this function:

◆ format_map_ip6_reass()

static u8* format_map_ip6_reass ( u8 s,
va_list *  args 
)
static

Definition at line 988 of file map.c.

+ Here is the call graph for this function:

◆ format_map_pre_resolve()

static u8* format_map_pre_resolve ( u8 s,
va_list *  ap 
)
static

Definition at line 296 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ format_map_trace()

u8* format_map_trace ( u8 s,
va_list *  args 
)

Definition at line 1355 of file map.c.

+ Here is the call graph for this function:

◆ map_add_del_psid()

int map_add_del_psid ( u32  map_domain_index,
u16  psid,
ip6_address_t tep,
bool  is_add 
)

Definition at line 238 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_add_domain_command_fn()

static clib_error_t* map_add_domain_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 508 of file map.c.

+ Here is the call graph for this function:

◆ map_add_rule_command_fn()

static clib_error_t* map_add_rule_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 624 of file map.c.

+ Here is the call graph for this function:

◆ map_back_walk()

static fib_node_back_walk_rc_t map_back_walk ( fib_node_t node,
fib_node_back_walk_ctx_t ctx 
)
static

Function definition to backwalk a FIB node.

Definition at line 353 of file map.c.

+ Here is the call graph for this function:

◆ map_create_domain()

int map_create_domain ( ip4_address_t ip4_prefix,
u8  ip4_prefix_len,
ip6_address_t ip6_prefix,
u8  ip6_prefix_len,
ip6_address_t ip6_src,
u8  ip6_src_len,
u8  ea_bits_len,
u8  psid_offset,
u8  psid_length,
u32 map_domain_index,
u16  mtu,
u8  flags,
u8 tag 
)

Definition at line 108 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_del_domain_command_fn()

static clib_error_t* map_del_domain_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 585 of file map.c.

+ Here is the call graph for this function:

◆ map_delete_domain()

int map_delete_domain ( u32  map_domain_index)

Definition at line 207 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_error_counter_get()

u64 map_error_counter_get ( u32  node_index,
map_error_t  map_error 
)

Definition at line 1080 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_fib_node_get()

static fib_node_t* map_fib_node_get ( fib_node_index_t  index)
static

Function definition to get a FIB node from its index.

Definition at line 364 of file map.c.

◆ map_fib_resolve()

static void map_fib_resolve ( map_main_pre_resolved_t pr,
fib_protocol_t  proto,
u8  len,
const ip46_address_t *  addr 
)
static

Definition at line 380 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_fib_unresolve()

static void map_fib_unresolve ( map_main_pre_resolved_t pr,
fib_protocol_t  proto,
u8  len,
const ip46_address_t *  addr 
)
static

Definition at line 395 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_flags_to_string()

static char* map_flags_to_string ( u32  flags)
static

Definition at line 904 of file map.c.

+ Here is the caller graph for this function:

◆ map_fragment_command_fn()

static clib_error_t* map_fragment_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 802 of file map.c.

+ Here is the call graph for this function:

◆ map_free_extras()

static void map_free_extras ( u32  map_domain_index)
static

Definition at line 88 of file map.c.

+ Here is the caller graph for this function:

◆ map_from_fib_node()

static map_main_pre_resolved_t* map_from_fib_node ( fib_node_t node)
static

Definition at line 331 of file map.c.

+ Here is the caller graph for this function:

◆ map_get_ht_log2len()

u8 map_get_ht_log2len ( f32  ht_ratio,
u16  pool_size 
)

Definition at line 1796 of file map.c.

+ Here is the caller graph for this function:

◆ map_icmp_relay_source_address_command_fn()

static clib_error_t* map_icmp_relay_source_address_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 718 of file map.c.

+ Here is the call graph for this function:

◆ map_icmp_unreachables_command_fn()

static clib_error_t* map_icmp_unreachables_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 759 of file map.c.

+ Here is the call graph for this function:

◆ map_if_command_fn()

static clib_error_t* map_if_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1302 of file map.c.

+ Here is the call graph for this function:

◆ map_init()

clib_error_t* map_init ( vlib_main_t vm)

Definition at line 2223 of file map.c.

+ Here is the call graph for this function:

◆ map_ip4_reass_add_fragment()

int map_ip4_reass_add_fragment ( map_ip4_reass_t r,
u32  pi 
)

Definition at line 1516 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip4_reass_conf_buffers()

int map_ip4_reass_conf_buffers ( u32  buffers)

Definition at line 1846 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip4_reass_conf_ht_ratio()

int map_ip4_reass_conf_ht_ratio ( f32  ht_ratio,
u32 trashed_reass,
u32 dropped_packets 
)

Definition at line 1807 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_ip4_reass_conf_lifetime()

int map_ip4_reass_conf_lifetime ( u16  lifetime_ms)

Definition at line 1839 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip4_reass_conf_pool_size()

int map_ip4_reass_conf_pool_size ( u16  pool_size,
u32 trashed_reass,
u32 dropped_packets 
)

Definition at line 1824 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_ip4_reass_free()

void map_ip4_reass_free ( map_ip4_reass_t r,
u32 **  pi_to_drop 
)

Definition at line 1392 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_ip4_reass_get()

map_ip4_reass_t* map_ip4_reass_get ( u32  src,
u32  dst,
u16  fragment_id,
u8  protocol,
u32 **  pi_to_drop 
)

Definition at line 1435 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_ip4_reass_lookup()

static_always_inline map_ip4_reass_t* map_ip4_reass_lookup ( map_ip4_reass_key_t k,
u32  bucket,
f64  now 
)

Definition at line 1371 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip4_reass_reinit()

void map_ip4_reass_reinit ( u32 trashed_reass,
u32 dropped_packets 
)

Definition at line 1758 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_ip6_reass_add_fragment()

int map_ip6_reass_add_fragment ( map_ip6_reass_t r,
u32  pi,
u16  data_offset,
u16  next_data_offset,
u8 data_start,
u16  data_len 
)

Definition at line 1695 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip6_reass_conf_buffers()

int map_ip6_reass_conf_buffers ( u32  buffers)

Definition at line 1929 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip6_reass_conf_ht_ratio()

int map_ip6_reass_conf_ht_ratio ( f32  ht_ratio,
u32 trashed_reass,
u32 dropped_packets 
)

Definition at line 1890 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_ip6_reass_conf_lifetime()

int map_ip6_reass_conf_lifetime ( u16  lifetime_ms)

Definition at line 1922 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip6_reass_conf_pool_size()

int map_ip6_reass_conf_pool_size ( u16  pool_size,
u32 trashed_reass,
u32 dropped_packets 
)

Definition at line 1907 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_ip6_reass_free()

void map_ip6_reass_free ( map_ip6_reass_t r,
u32 **  pi_to_drop 
)

Definition at line 1555 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip6_reass_get()

map_ip6_reass_t* map_ip6_reass_get ( ip6_address_t src,
ip6_address_t dst,
u32  fragment_id,
u8  protocol,
u32 **  pi_to_drop 
)

Definition at line 1607 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_ip6_reass_lookup()

static_always_inline map_ip6_reass_t* map_ip6_reass_lookup ( map_ip6_reass_key_t k,
u32  bucket,
f64  now 
)

Definition at line 1533 of file map.c.

+ Here is the caller graph for this function:

◆ map_ip6_reass_reinit()

void map_ip6_reass_reinit ( u32 trashed_reass,
u32 dropped_packets 
)

Definition at line 1853 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_last_lock_gone()

static void map_last_lock_gone ( fib_node_t node)
static

Function definition to inform the FIB node that its last lock has gone.

Definition at line 321 of file map.c.

◆ map_params_reass_command_fn()

static clib_error_t* map_params_reass_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1195 of file map.c.

+ Here is the call graph for this function:

◆ map_pre_resolve()

void map_pre_resolve ( ip4_address_t ip4,
ip6_address_t ip6,
bool  is_del 
)

Definition at line 410 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_pre_resolve_command_fn()

static clib_error_t* map_pre_resolve_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 674 of file map.c.

+ Here is the call graph for this function:

◆ map_pre_resolve_init()

static void map_pre_resolve_init ( map_main_pre_resolved_t pr)
static

Definition at line 289 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_save_extras()

static void map_save_extras ( u32  map_domain_index,
u8 tag 
)
static

Definition at line 68 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_security_check_command_fn()

static clib_error_t* map_security_check_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 440 of file map.c.

+ Here is the call graph for this function:

◆ map_stack()

static void map_stack ( map_main_pre_resolved_t pr)
static

Definition at line 340 of file map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ map_tcp_mss_command_fn()

static clib_error_t* map_tcp_mss_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1936 of file map.c.

+ Here is the call graph for this function:

◆ map_traffic_class_command_fn()

static clib_error_t* map_traffic_class_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 867 of file map.c.

+ Here is the call graph for this function:

◆ show_map_domain_command_fn()

static clib_error_t* show_map_domain_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1005 of file map.c.

+ Here is the call graph for this function:

◆ show_map_fragments_command_fn()

static clib_error_t* show_map_fragments_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1063 of file map.c.

◆ show_map_stats_command_fn()

static clib_error_t* show_map_stats_command_fn ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1097 of file map.c.

+ Here is the call graph for this function:

◆ VLIB_PLUGIN_REGISTER()

VLIB_PLUGIN_REGISTER ( )

Variable Documentation

◆ map_add_domain_command

vlib_cli_command_t map_add_domain_command
static
Initial value:
= {
.path = "map add domain",
.short_help = "map add domain [tag <tag>] ip4-pfx <ip4-pfx> "
"ip6-pfx <ip6-pfx> "
"ip6-src <ip6-pfx> ea-bits-len <n> psid-offset <n> psid-len <n> "
"[map-t] [mtu <mtu>]",
}
static clib_error_t * map_add_domain_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:508

(constructor) VLIB_CLI_COMMAND (map_add_domain_command)

Definition at line 2128 of file map.c.

◆ map_add_rule_command

vlib_cli_command_t map_add_rule_command
static
Initial value:
= {
.path = "map add rule",
.short_help = "map add rule index <domain> psid <psid> ip6-dst <ip6-addr>",
}
static clib_error_t * map_add_rule_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:624

(constructor) VLIB_CLI_COMMAND (map_add_rule_command)

Definition at line 2144 of file map.c.

◆ map_del_command

vlib_cli_command_t map_del_command
static
Initial value:
= {
.path = "map del domain",
.short_help = "map del domain index <domain>",
}
static clib_error_t * map_del_domain_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:585

(constructor) VLIB_CLI_COMMAND (map_del_command)

Definition at line 2157 of file map.c.

◆ map_fragment_command

vlib_cli_command_t map_fragment_command
static
Initial value:
= {
.path = "map params fragment",
.short_help = "map params fragment inner|outer ignore-df|honor-df",
}
static clib_error_t * map_fragment_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:802

(constructor) VLIB_CLI_COMMAND (map_fragment_command)

Definition at line 2114 of file map.c.

◆ map_icmp_relay_source_address_command

vlib_cli_command_t map_icmp_relay_source_address_command
static
Initial value:
= {
.path = "map params icmp source-address",
.short_help = "map params icmp source-address <ip4-address>",
}
static clib_error_t * map_icmp_relay_source_address_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:718

(constructor) VLIB_CLI_COMMAND (map_icmp_relay_source_address_command)

Definition at line 2079 of file map.c.

◆ map_icmp_unreachables_command

vlib_cli_command_t map_icmp_unreachables_command
static
Initial value:
= {
.path = "map params icmp6 unreachables",
.short_help = "map params icmp6 unreachables {on|off}",
}
static clib_error_t * map_icmp_unreachables_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:759

(constructor) VLIB_CLI_COMMAND (map_icmp_unreachables_command)

Definition at line 2095 of file map.c.

◆ map_if_command

vlib_cli_command_t map_if_command
static
Initial value:
= {
.path = "map interface",
.short_help = "map interface <interface-name> [map-t] [del]",
.function = map_if_command_fn,
}
static clib_error_t * map_if_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:1302

(constructor) VLIB_CLI_COMMAND (map_if_command)

Definition at line 2206 of file map.c.

◆ map_ip4_reass_lifetime_command

vlib_cli_command_t map_ip4_reass_lifetime_command
static
Initial value:
= {
.path = "map params reassembly",
.short_help = "map params reassembly [ip4 | ip6] [lifetime <lifetime-ms>] "
"[pool-size <pool-size>] [buffers <buffers>] "
"[ht-ratio <ht-ratio>]",
}
static clib_error_t * map_params_reass_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:1195

(constructor) VLIB_CLI_COMMAND (map_ip4_reass_lifetime_command)

Definition at line 1983 of file map.c.

◆ map_main

map_main_t map_main

Definition at line 27 of file map.c.

◆ map_pre_resolve_command

vlib_cli_command_t map_pre_resolve_command
static
Initial value:
= {
.path = "map params pre-resolve",
.short_help = " map params pre-resolve {ip4-nh <address>} "
"| {ip6-nh <address>}",
}
static clib_error_t * map_pre_resolve_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:674

(constructor) VLIB_CLI_COMMAND (map_pre_resolve_command)

Definition at line 2037 of file map.c.

◆ map_security_check_command

vlib_cli_command_t map_security_check_command
static
Initial value:
= {
.path = "map params security-check",
.short_help = "map params security-check enable|disable fragments on|off",
}
static clib_error_t * map_security_check_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:440

(constructor) VLIB_CLI_COMMAND (map_security_check_command)

Definition at line 2061 of file map.c.

◆ map_tcp_mss_command

vlib_cli_command_t map_tcp_mss_command
static
Initial value:
= {
.path = "map params tcp-mss",
.short_help = "map params tcp-mss <value>",
}
static clib_error_t * map_tcp_mss_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:1936

(constructor) VLIB_CLI_COMMAND (map_tcp_mss_command)

Definition at line 2019 of file map.c.

◆ map_traffic_class_command

vlib_cli_command_t map_traffic_class_command
static
Initial value:
= {
.path = "map params traffic-class",
.short_help = "map params traffic-class {0x0-0xff | copy}",
}
static clib_error_t * map_traffic_class_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:867

(constructor) VLIB_CLI_COMMAND (map_traffic_class_command)

Definition at line 2003 of file map.c.

◆ map_vft

const fib_node_vft_t map_vft
static
Initial value:
= {
.fnv_get = map_fib_node_get,
.fnv_last_lock = map_last_lock_gone,
.fnv_back_walk = map_back_walk,
}
static fib_node_t * map_fib_node_get(fib_node_index_t index)
Function definition to get a FIB node from its index.
Definition: map.c:364
static fib_node_back_walk_rc_t map_back_walk(fib_node_t *node, fib_node_back_walk_ctx_t *ctx)
Function definition to backwalk a FIB node.
Definition: map.c:353
static void map_last_lock_gone(fib_node_t *node)
Function definition to inform the FIB node that its last lock has gone.
Definition: map.c:321

Definition at line 373 of file map.c.

◆ pre_resolved

Pre-resolved per-protocol global next-hops.

Pre-resolved next hops for v4 and v6.

Definition at line 286 of file map.c.

◆ show_map_domain_command

vlib_cli_command_t show_map_domain_command
static
Initial value:
= {
.path = "show map domain",
.short_help = "show map domain index <n> [counters]",
}
static clib_error_t * show_map_domain_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:1005

(constructor) VLIB_CLI_COMMAND (show_map_domain_command)

Definition at line 2170 of file map.c.

◆ show_map_fragments_command

vlib_cli_command_t show_map_fragments_command
static
Initial value:
= {
.path = "show map fragments",
.short_help = "show map fragments",
}
static clib_error_t * show_map_fragments_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:1063

(constructor) VLIB_CLI_COMMAND (show_map_fragments_command)

Definition at line 2196 of file map.c.

◆ show_map_stats_command

vlib_cli_command_t show_map_stats_command
static
Initial value:
= {
.path = "show map stats",
.short_help = "show map stats",
}
static clib_error_t * show_map_stats_command_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: map.c:1097

(constructor) VLIB_CLI_COMMAND (show_map_stats_command)

Definition at line 2183 of file map.c.