![]() |
FD.io VPP
v20.09-64-g4f7b92f0a
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 1503 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 1496 of file ip_neighbor.c.
| Enumerator | |
|---|---|
| IP_NEIGHBOR_AGE_PROCESS_WAKEUP | |
Definition at line 1553 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 1080 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 1094 of file ip_neighbor.c.
| int ip4_neighbor_proxy_disable | ( | u32 | sw_if_index | ) |
Definition at line 1117 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 1137 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 458 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 1373 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 1412 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 239 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 286 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 1027 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 1559 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 421 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 1681 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 183 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 214 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 557 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 600 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 374 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 822 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 1147 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 1207 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 400 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 694 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 1243 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1231 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 331 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 356 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 342 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 366 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 1176 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 1021 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 1000 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 150 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 872 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 845 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 804 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 1270 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1254 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 1467 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 1482 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 620 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 1345 of file ip_neighbor.c.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 1454 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 1506 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 1668 of file ip_neighbor.c.
|
static |
(constructor) VLIB_REGISTER_NODE (ip6_neighbor_age_process_node)
Definition at line 1673 of file ip_neighbor.c.
|
static |
Definition at line 991 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (ip_neighbor_command)
Definition at line 789 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (ip_neighbor_command2)
Definition at line 795 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 969 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip4_neighbor_sorted_cmd_node)
Definition at line 979 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip4_neighbors_cmd_node)
Definition at line 954 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip6_neighbor_cmd_node)
Definition at line 974 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip6_neighbor_sorted_cmd_node)
Definition at line 984 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip6_neighbors_cmd_node)
Definition at line 959 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip_neighbor_cfg_cmd_node)
Definition at line 1716 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip_neighbor_cmd_node)
Definition at line 964 of file ip_neighbor.c.
|
static |
(constructor) VLIB_CLI_COMMAND (show_ip_neighbors_cmd_node)
Definition at line 949 of file ip_neighbor.c.