![]() |
FD.io VPP
v19.01-18-gcbd68cb
Vector Packet Processing
|
Include dependency graph for adj.c:Go to the source code of this file.
Data Structures | |
| struct | adj_feature_update_t_ |
Macros | |
| #define | ADJ_FROM_NODE(_node) ((ip_adjacency_t*)((char*)_node - STRUCT_OFFSET_OF(ip_adjacency_t, ia_node))) |
Typedefs | |
| typedef struct adj_feature_update_t_ | adj_feature_update_ctx_t |
Functions | |
| static void | adj_poison (ip_adjacency_t *adj) |
| ip_adjacency_t * | adj_alloc (fib_protocol_t proto) |
| static int | adj_index_is_special (adj_index_t adj_index) |
| u8 * | format_adj_flags (u8 *s, va_list *args) |
| Format adjacency flags. More... | |
| u8 * | format_ip_adjacency (u8 *s, va_list *args) |
| Pretty print helper function for formatting specific adjacencies. More... | |
| int | adj_recursive_loop_detect (adj_index_t ai, fib_node_index_t **entry_indicies) |
| descend the FIB graph looking for loops More... | |
| static void | adj_last_lock_gone (ip_adjacency_t *adj) |
| u32 | adj_dpo_get_urpf (const dpo_id_t *dpo) |
| void | adj_lock (adj_index_t adj_index) |
| Take a reference counting lock on the adjacency. More... | |
| void | adj_unlock (adj_index_t adj_index) |
| Release a reference counting lock on the adjacency. More... | |
| u32 | adj_child_add (adj_index_t adj_index, fib_node_type_t child_type, fib_node_index_t child_index) |
| Add a child dependent to an adjacency. More... | |
| void | adj_child_remove (adj_index_t adj_index, u32 sibling_index) |
| Remove a child dependent. More... | |
| static adj_walk_rc_t | adj_feature_update_walk_cb (adj_index_t ai, void *arg) |
| void | adj_feature_update (u32 sw_if_index, u8 arc_index, u8 is_enable) |
| Notify the adjacency subsystem that the features settings for an interface have changed. More... | |
| static adj_walk_rc_t | adj_mtu_update_walk_cb (adj_index_t ai, void *arg) |
| static void | adj_mtu_update (vnet_main_t *vnm, u32 sw_if_index, u32 flags) |
| VNET_SW_INTERFACE_MTU_CHANGE_FUNCTION (adj_mtu_update) | |
| void | adj_walk (u32 sw_if_index, adj_walk_cb_t cb, void *ctx) |
| Walk the Adjacencies on a given interface. More... | |
| vnet_link_t | adj_get_link_type (adj_index_t ai) |
| Return the link type of the adjacency. More... | |
| u32 | adj_get_sw_if_index (adj_index_t ai) |
| Return the sw interface index of the adjacency. More... | |
| int | adj_is_up (adj_index_t ai) |
| Return true if the adjacency is 'UP', i.e. More... | |
| const u8 * | adj_get_rewrite (adj_index_t ai) |
| Return the rewrite string of the adjacency. More... | |
| static fib_node_t * | adj_get_node (fib_node_index_t index) |
| static void | adj_node_last_lock_gone (fib_node_t *node) |
| static fib_node_back_walk_rc_t | adj_back_walk_notify (fib_node_t *node, fib_node_back_walk_ctx_t *ctx) |
| static clib_error_t * | adj_module_init (vlib_main_t *vm) |
| static clib_error_t * | adj_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
| static clib_error_t * | adj_cli_counters_set (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
| CLI invoked function to enable/disable per-adj counters. More... | |
Variables | |
| vlib_combined_counter_main_t | adjacency_counters |
| Adjacency packet counters. More... | |
| ip_adjacency_t * | adj_pool |
| The global adjacnecy pool. More... | |
| int | adj_per_adj_counters |
| Global Config for enabling per-adjacency counters. More... | |
| const ip46_address_t | ADJ_BCAST_ADDR |
| The special broadcast address (to construct a broadcast adjacency. More... | |
| static const char * | adj_attr_names [] = ADJ_ATTR_NAMES |
| Adj flag names. More... | |
| static const fib_node_vft_t | adj_vft |
| static vlib_cli_command_t | adj_show_command |
| (constructor) VLIB_CLI_COMMAND (adj_show_command) More... | |
| static vlib_cli_command_t | adj_cli_counters_set_command |
| (constructor) VLIB_CLI_COMMAND (adj_cli_counters_set_command) More... | |
| #define ADJ_FROM_NODE | ( | _node | ) | ((ip_adjacency_t*)((char*)_node - STRUCT_OFFSET_OF(ip_adjacency_t, ia_node))) |
| typedef struct adj_feature_update_t_ adj_feature_update_ctx_t |
| ip_adjacency_t* adj_alloc | ( | fib_protocol_t | proto | ) |
|
static |
| u32 adj_child_add | ( | adj_index_t | adj_index, |
| fib_node_type_t | type, | ||
| fib_node_index_t | child_index | ||
| ) |
| void adj_child_remove | ( | adj_index_t | adj_index, |
| u32 | sibling_index | ||
| ) |
|
static |
|
static |
| vnet_link_t adj_get_link_type | ( | adj_index_t | ai | ) |
|
static |
| const u8* adj_get_rewrite | ( | adj_index_t | ai | ) |
| u32 adj_get_sw_if_index | ( | adj_index_t | ai | ) |
|
static |
| int adj_is_up | ( | adj_index_t | ai | ) |
|
static |
| void adj_lock | ( | adj_index_t | adj_index | ) |
|
static |
|
static |
|
static |
|
static |
|
inlinestatic |
| int adj_recursive_loop_detect | ( | adj_index_t | ai, |
| fib_node_index_t ** | entry_indicies | ||
| ) |
|
static |
| void adj_unlock | ( | adj_index_t | adj_index | ) |
| void adj_walk | ( | u32 | sw_if_index, |
| adj_walk_cb_t | cb, | ||
| void * | ctx | ||
| ) |
Pretty print helper function for formatting specific adjacencies.
| s | - input string to format |
| args | - other args passed to format function such as:
|
Definition at line 134 of file adj.c.
Here is the call graph for this function:
Here is the caller graph for this function:| VNET_SW_INTERFACE_MTU_CHANGE_FUNCTION | ( | adj_mtu_update | ) |
Here is the caller graph for this function:
|
static |
| const ip46_address_t ADJ_BCAST_ADDR |
|
static |
(constructor) VLIB_CLI_COMMAND (adj_cli_counters_set_command)
| int adj_per_adj_counters |
| ip_adjacency_t* adj_pool |
|
static |
(constructor) VLIB_CLI_COMMAND (adj_show_command)
|
static |
| vlib_combined_counter_main_t adjacency_counters |