FD.io VPP  v17.01.1-3-gc6833f8
Vector Packet Processing
lookup.c File Reference

IPv4 and IPv6 adjacency and lookup table managment. More...

+ Include dependency graph for lookup.c:

Go to the source code of this file.

Functions

clib_error_tip_interface_address_add_del (ip_lookup_main_t *lm, u32 sw_if_index, void *addr_fib, u32 address_length, u32 is_del, u32 *result_if_address_index)
 
static clib_error_tip_sw_interface_add_del (vnet_main_t *vnm, u32 sw_if_index, u32 is_add)
 
 VNET_SW_INTERFACE_ADD_DEL_FUNCTION (ip_sw_interface_add_del)
 
void ip_lookup_init (ip_lookup_main_t *lm, u32 is_ip6)
 
u8format_ip_flow_hash_config (u8 *s, va_list *args)
 
u8format_ip_lookup_next (u8 *s, va_list *args)
 
u8format_ip_adjacency_packet_data (u8 *s, va_list *args)
 
static uword unformat_dpo (unformat_input_t *input, va_list *args)
 
u32 fib_table_id_find_fib_index (fib_protocol_t proto, u32 table_id)
 
clib_error_tvnet_ip_route_cmd (vlib_main_t *vm, unformat_input_t *main_input, vlib_cli_command_t *cmd)
 
static clib_error_tip6_probe_neighbor_wait (vlib_main_t *vm, ip6_address_t *a, u32 sw_if_index, int retry_count)
 
static clib_error_tip4_probe_neighbor_wait (vlib_main_t *vm, ip4_address_t *a, u32 sw_if_index, int retry_count)
 
static clib_error_tprobe_neighbor_address (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 

Variables

const ip46_address_t zero_addr
 
static vlib_cli_command_t vlib_cli_ip_command
 (constructor) VLIB_CLI_COMMAND (vlib_cli_ip_command) More...
 
static vlib_cli_command_t vlib_cli_ip6_command
 (constructor) VLIB_CLI_COMMAND (vlib_cli_ip6_command) More...
 
static vlib_cli_command_t vlib_cli_show_ip_command
 (constructor) VLIB_CLI_COMMAND (vlib_cli_show_ip_command) More...
 
static vlib_cli_command_t vlib_cli_show_ip6_command
 (constructor) VLIB_CLI_COMMAND (vlib_cli_show_ip6_command) More...
 
static vlib_cli_command_t ip_route_command
 (constructor) VLIB_CLI_COMMAND (ip_route_command) More...
 
static vlib_cli_command_t ip_probe_neighbor_command
 (constructor) VLIB_CLI_COMMAND (ip_probe_neighbor_command) More...
 

Detailed Description

IPv4 and IPv6 adjacency and lookup table managment.

Definition in file lookup.c.

Function Documentation

u32 fib_table_id_find_fib_index ( fib_protocol_t  proto,
u32  table_id 
)

Definition at line 357 of file lookup.c.

+ Here is the caller graph for this function:

u8* format_ip_adjacency_packet_data ( u8 s,
va_list *  args 
)

Definition at line 287 of file lookup.c.

+ Here is the call graph for this function:

u8* format_ip_flow_hash_config ( u8 s,
va_list *  args 
)

Definition at line 238 of file lookup.c.

u8* format_ip_lookup_next ( u8 s,
va_list *  args 
)

Definition at line 250 of file lookup.c.

+ Here is the call graph for this function:

static clib_error_t* ip4_probe_neighbor_wait ( vlib_main_t vm,
ip4_address_t a,
u32  sw_if_index,
int  retry_count 
)
static

Definition at line 843 of file lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* ip6_probe_neighbor_wait ( vlib_main_t vm,
ip6_address_t a,
u32  sw_if_index,
int  retry_count 
)
static

Definition at line 791 of file lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* ip_interface_address_add_del ( ip_lookup_main_t lm,
u32  sw_if_index,
void *  addr_fib,
u32  address_length,
u32  is_del,
u32 result_if_address_index 
)

Definition at line 59 of file lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ip_lookup_init ( ip_lookup_main_t lm,
u32  is_ip6 
)

Definition at line 187 of file lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* ip_sw_interface_add_del ( vnet_main_t vnm,
u32  sw_if_index,
u32  is_add 
)
static

Definition at line 172 of file lookup.c.

+ Here is the call graph for this function:

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

Definition at line 897 of file lookup.c.

+ Here is the call graph for this function:

static uword unformat_dpo ( unformat_input_t input,
va_list *  args 
)
static

Definition at line 312 of file lookup.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

clib_error_t* vnet_ip_route_cmd ( vlib_main_t vm,
unformat_input_t main_input,
vlib_cli_command_t cmd 
)

Definition at line 383 of file lookup.c.

+ Here is the call graph for this function:

VNET_SW_INTERFACE_ADD_DEL_FUNCTION ( ip_sw_interface_add_del  )

+ Here is the caller graph for this function:

Variable Documentation

vlib_cli_command_t ip_probe_neighbor_command
static
Initial value:
= {
.path = "ip probe-neighbor",
.short_help = "ip probe-neighbor <interface> <ip4-addr> | <ip6-addr> [retry nn]",
.is_mp_safe = 1,
}
static clib_error_t * probe_neighbor_address(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: lookup.c:897

(constructor) VLIB_CLI_COMMAND (ip_probe_neighbor_command)

Definition at line 968 of file lookup.c.

vlib_cli_command_t ip_route_command
static
Initial value:
= {
.path = "ip route",
.short_help = "ip route [add|del] [count <n>] <dst-ip-addr>/<width> [table <table-id>] [via <next-hop-ip-addr> [<interface>] [weight <weight>]] | [via arp <interface> <adj-hop-ip-addr>] | [via drop|punt|local<id>|arp|classify <classify-idx>] [lookup in table <out-table-id>]",
.function = vnet_ip_route_cmd,
.is_mp_safe = 1,
}
clib_error_t * vnet_ip_route_cmd(vlib_main_t *vm, unformat_input_t *main_input, vlib_cli_command_t *cmd)
Definition: lookup.c:383

(constructor) VLIB_CLI_COMMAND (ip_route_command)

Definition at line 777 of file lookup.c.

vlib_cli_command_t vlib_cli_ip6_command
static
Initial value:
= {
.path = "ip6",
.short_help = "Internet protocol version 6 (IPv6) commands",
}

(constructor) VLIB_CLI_COMMAND (vlib_cli_ip6_command)

Definition at line 729 of file lookup.c.

vlib_cli_command_t vlib_cli_ip_command
static
Initial value:
= {
.path = "ip",
.short_help = "Internet protocol (IP) commands",
}

(constructor) VLIB_CLI_COMMAND (vlib_cli_ip_command)

Definition at line 722 of file lookup.c.

vlib_cli_command_t vlib_cli_show_ip6_command
static
Initial value:
= {
.path = "show ip6",
.short_help = "Internet protocol version 6 (IPv6) show commands",
}

(constructor) VLIB_CLI_COMMAND (vlib_cli_show_ip6_command)

Definition at line 743 of file lookup.c.

vlib_cli_command_t vlib_cli_show_ip_command
static
Initial value:
= {
.path = "show ip",
.short_help = "Internet protocol (IP) show commands",
}

(constructor) VLIB_CLI_COMMAND (vlib_cli_show_ip_command)

Definition at line 736 of file lookup.c.

const ip46_address_t zero_addr
Initial value:
= {
.as_u64 = {
0, 0},
}

Definition at line 351 of file lookup.c.