![]() |
FD.io VPP
v20.05.1-5-g09f167997
Vector Packet Processing
|
Include dependency graph for ip_neighbor.c:Go to the source code of this file.
Data Structures | |
| struct | ip_neighbor_elt_t_ |
| struct | ip_neighbor_db_t_ |
| struct | ip_neighbor_del_all_ctx_t_ |
| struct | ip_neighbor_sweep_ctx_t_ |
| struct | ip_neighbor_walk_covered_ctx_t_ |
| struct | ip_neighbor_table_bind_ctx_t_ |
Macros | |
| #define | IP_NEIGHBOR_DBG(...) vlib_log_debug (ipn_logger, __VA_ARGS__); |
| #define | IP_NEIGHBOR_INFO(...) vlib_log_notice (ipn_logger, __VA_ARGS__); |
| #define | IP_NEIGHBOR_PROCESS_SLEEP_LONG (0) |
Typedefs | |
| typedef struct ip_neighbor_elt_t_ | ip_neighbor_elt_t |
| typedef struct ip_neighbor_db_t_ | ip_neighbor_db_t |
| typedef struct ip_neighbor_del_all_ctx_t_ | ip_neighbor_del_all_ctx_t |
| typedef struct ip_neighbor_sweep_ctx_t_ | ip_neighbor_sweep_ctx_t |
| typedef struct ip_neighbor_walk_covered_ctx_t_ | ip_neighbor_walk_covered_ctx_t |
| typedef struct ip_neighbor_table_bind_ctx_t_ | ip_neighbor_table_bind_ctx_t |
| typedef enum ip_neighbor_age_state_t_ | ip_neighbor_age_state_t |
| typedef enum ip_neighbor_process_event_t_ | ip_neighbor_process_event_t |
Enumerations | |
| enum | ip_neighbor_age_state_t_ { IP_NEIGHBOR_AGE_ALIVE, IP_NEIGHBOR_AGE_PROBE, IP_NEIGHBOR_AGE_DEAD } |
| enum | ip_neighbor_process_event_t_ { IP_NEIGHBOR_AGE_PROCESS_WAKEUP } |
Variables | |
| static ip_neighbor_t * | ip_neighbor_pool |
| Pool for All IP neighbors. More... | |
| index_t | ip_neighbor_list_head [IP46_N_TYPES] |
| protocol specific lists of time sorted neighbors More... | |
| ip_neighbor_elt_t * | ip_neighbor_elt_pool |
| Pool of linked list elemeents. More... | |
| static vlib_log_class_t | ipn_logger |
| static ip_neighbor_db_t | ip_neighbor_db [IP46_N_TYPES] |
| static vlib_cli_command_t | ip_neighbor_command |
| (constructor) VLIB_CLI_COMMAND (ip_neighbor_command) More... | |
| static vlib_cli_command_t | ip_neighbor_command2 |
| (constructor) VLIB_CLI_COMMAND (ip_neighbor_command2) More... | |
| static vlib_cli_command_t | show_ip_neighbors_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip_neighbors_cmd_node) More... | |
| static vlib_cli_command_t | show_ip4_neighbors_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip4_neighbors_cmd_node) More... | |
| static vlib_cli_command_t | show_ip6_neighbors_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip6_neighbors_cmd_node) More... | |
| static vlib_cli_command_t | show_ip_neighbor_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip_neighbor_cmd_node) More... | |
| static vlib_cli_command_t | show_ip4_neighbor_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip4_neighbor_cmd_node) More... | |
| static vlib_cli_command_t | show_ip6_neighbor_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip6_neighbor_cmd_node) More... | |
| static vlib_cli_command_t | show_ip4_neighbor_sorted_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip4_neighbor_sorted_cmd_node) More... | |
| static vlib_cli_command_t | show_ip6_neighbor_sorted_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip6_neighbor_sorted_cmd_node) More... | |
| static ip_neighbor_vft_t | ip_nbr_vfts [IP46_N_TYPES] |
| static vlib_node_registration_t | ip4_neighbor_age_process_node |
| (constructor) VLIB_REGISTER_NODE (ip4_neighbor_age_process_node) More... | |
| static vlib_node_registration_t | ip6_neighbor_age_process_node |
| (constructor) VLIB_REGISTER_NODE (ip6_neighbor_age_process_node) More... | |
| static vlib_cli_command_t | show_ip_neighbor_cfg_cmd_node |
| (constructor) VLIB_CLI_COMMAND (show_ip_neighbor_cfg_cmd_node) More... | |
| #define IP_NEIGHBOR_DBG | ( | ... | ) | vlib_log_debug (ipn_logger, __VA_ARGS__); |
Definition at line 81 of file ip_neighbor.c.
| #define IP_NEIGHBOR_INFO | ( | ... | ) | vlib_log_notice (ipn_logger, __VA_ARGS__); |
Definition at line 84 of file ip_neighbor.c.
| #define IP_NEIGHBOR_PROCESS_SLEEP_LONG (0) |
Definition at line 1497 of file ip_neighbor.c.
| typedef enum ip_neighbor_age_state_t_ ip_neighbor_age_state_t |
| typedef struct ip_neighbor_db_t_ ip_neighbor_db_t |
| typedef struct ip_neighbor_del_all_ctx_t_ ip_neighbor_del_all_ctx_t |
| typedef struct ip_neighbor_elt_t_ ip_neighbor_elt_t |
| typedef enum ip_neighbor_process_event_t_ ip_neighbor_process_event_t |
| typedef struct ip_neighbor_sweep_ctx_t_ ip_neighbor_sweep_ctx_t |
| typedef struct ip_neighbor_table_bind_ctx_t_ ip_neighbor_table_bind_ctx_t |
| typedef struct ip_neighbor_walk_covered_ctx_t_ ip_neighbor_walk_covered_ctx_t |
| Enumerator | |
|---|---|
| IP_NEIGHBOR_AGE_ALIVE | |
| IP_NEIGHBOR_AGE_PROBE | |
| IP_NEIGHBOR_AGE_DEAD | |
Definition at line 1490 of file ip_neighbor.c.
| Enumerator | |
|---|---|
| IP_NEIGHBOR_AGE_PROCESS_WAKEUP | |
Definition at line 1547 of file ip_neighbor.c.
|
static |
|
static |
| int ip4_neighbor_proxy_add | ( | u32 | fib_index, |
| const ip4_address_t * | start, | ||
| const ip4_address_t * | end | ||
| ) |
The set of function that vnet requires from the IP neighbour module.
Note that an implementation of these functions will not exist if the ip-neighbour plugin is not loaded. so check the error codes!
Definition at line 1074 of file ip_neighbor.c.
Here is the caller graph for this function:| int ip4_neighbor_proxy_delete | ( | u32 | fib_index, |
| const ip4_address_t * | start, | ||
| const ip4_address_t * | end | ||
| ) |
Definition at line 1088 of file ip_neighbor.c.
| int ip4_neighbor_proxy_disable | ( | u32 | sw_if_index | ) |
Definition at line 1111 of file ip_neighbor.c.
| int ip4_neighbor_proxy_enable | ( | u32 | sw_if_index | ) |
|
static |
|
static |
|
static |
| int ip6_neighbor_proxy_add | ( | u32 | sw_if_index, |
| const ip6_address_t * | addr | ||
| ) |
| int ip6_neighbor_proxy_del | ( | u32 | sw_if_index, |
| const ip6_address_t * | addr | ||
| ) |
Definition at line 1131 of file ip_neighbor.c.
|
static |
|
static |
| int ip_neighbor_add | ( | const ip46_address_t * | ip, |
| ip46_type_t | type, | ||
| const mac_address_t * | mac, | ||
| u32 | sw_if_index, | ||
| ip_neighbor_flags_t | flags, | ||
| u32 * | stats_index | ||
| ) |
Definition at line 453 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1367 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1406 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 237 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 284 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_advertise | ( | vlib_main_t * | vm, |
| ip46_type_t | type, | ||
| const ip46_address_t * | addr, | ||
| u32 | sw_if_index | ||
| ) |
Definition at line 1021 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1553 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 416 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| int ip_neighbor_config | ( | ip46_type_t | type, |
| u32 | limit, | ||
| u32 | age, | ||
| bool | recycle | ||
| ) |
Definition at line 1675 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Definition at line 181 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 212 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| int ip_neighbor_del | ( | const ip46_address_t * | ip, |
| ip46_type_t | type, | ||
| u32 | sw_if_index | ||
| ) |
Definition at line 552 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_del_all | ( | ip46_type_t | type, |
| u32 | sw_if_index | ||
| ) |
Definition at line 595 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
|
static |
Definition at line 816 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1141 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_flush | ( | ip46_type_t | type, |
| u32 | sw_if_index | ||
| ) |
Definition at line 1201 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 395 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 372 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| ip_neighbor_t* ip_neighbor_get | ( | index_t | ipni | ) |
|
static |
| const ip46_address_t* ip_neighbor_get_ip | ( | const ip_neighbor_t * | ipn | ) |
| const mac_address_t* ip_neighbor_get_mac | ( | const ip_neighbor_t * | ipn | ) |
| const u32 ip_neighbor_get_sw_if_index | ( | const ip_neighbor_t * | ipn | ) |
|
static |
|
static |
|
static |
| void ip_neighbor_learn | ( | const ip_neighbor_learn_t * | l | ) |
Definition at line 688 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| void ip_neighbor_mark | ( | ip46_type_t | type | ) |
Definition at line 1237 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1225 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 329 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 354 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 340 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 364 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_populate | ( | ip46_type_t | type, |
| u32 | sw_if_index | ||
| ) |
Definition at line 1170 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_probe | ( | const ip_adjacency_t * | adj | ) |
Definition at line 1015 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_probe_dst | ( | const ip_adjacency_t * | adj, |
| const ip46_address_t * | dst | ||
| ) |
Definition at line 994 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 148 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_register | ( | ip46_type_t | type, |
| const ip_neighbor_vft_t * | vft | ||
| ) |
|
static |
|
static |
Definition at line 866 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 839 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 798 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_sweep | ( | ip46_type_t | type | ) |
Definition at line 1264 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1248 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1461 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1476 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
| void ip_neighbor_update | ( | vnet_main_t * | vnm, |
| adj_index_t | ai | ||
| ) |
Definition at line 614 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| void ip_neighbor_walk | ( | ip46_type_t | type, |
| u32 | sw_if_index, | ||
| ip_neighbor_walk_cb_t | cb, | ||
| void * | ctx | ||
| ) |
Definition at line 1339 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1448 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 1500 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:| VNET_SW_INTERFACE_ADD_DEL_FUNCTION | ( | ip_neighbor_delete_sw_interface | ) |
Here is the caller graph for this function:| VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION | ( | ip_neighbor_interface_admin_change | ) |
Here is the caller graph for this function:
|
static |
(constructor) VLIB_REGISTER_NODE (ip4_neighbor_age_process_node)
Definition at line 1662 of file ip_neighbor.c.
|
static |
(constructor) VLIB_REGISTER_NODE (ip6_neighbor_age_process_node)
Definition at line 1667 of file ip_neighbor.c.
|
static |
Definition at line 985 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (ip_neighbor_command)
Definition at line 783 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (ip_neighbor_command2)
Definition at line 789 of file ip_neighbor.c.
|
static |
Definition at line 65 of file ip_neighbor.c.
| ip_neighbor_elt_t* ip_neighbor_elt_pool |
Pool of linked list elemeents.
Definition at line 42 of file ip_neighbor.c.
| index_t ip_neighbor_list_head[IP46_N_TYPES] |
protocol specific lists of time sorted neighbors
Definition at line 33 of file ip_neighbor.c.
|
static |
Pool for All IP neighbors.
Definition at line 30 of file ip_neighbor.c.
|
static |
Definition at line 61 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip4_neighbor_cmd_node)
Definition at line 963 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip4_neighbor_sorted_cmd_node)
Definition at line 973 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip4_neighbors_cmd_node)
Definition at line 948 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip6_neighbor_cmd_node)
Definition at line 968 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip6_neighbor_sorted_cmd_node)
Definition at line 978 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip6_neighbors_cmd_node)
Definition at line 953 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip_neighbor_cfg_cmd_node)
Definition at line 1710 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip_neighbor_cmd_node)
Definition at line 958 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip_neighbors_cmd_node)
Definition at line 943 of file ip_neighbor.c.