FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the source code of this file.
Variables | |
const static dpo_vft_t | adj_midchain_dpo_vft |
const static char *const | midchain_ip4_nodes [] |
The per-protocol VLIB graph nodes that are assigned to a midchain object. More... | |
const static char *const | midchain_ip6_nodes [] |
const static char *const | midchain_mpls_nodes [] |
const static char *const | midchain_ethernet_nodes [] |
const static char *const | midchain_nsh_nodes [] |
const static char *const *const | midchain_nodes [DPO_PROTO_NUM] |
|
static |
|
static |
|
inlinestatic |
u8 adj_is_midchain | ( | adj_index_t | ai | ) |
Definition at line 29 of file adj_midchain.c.
|
static |
void adj_midchain_module_init | ( | void | ) |
Module initialisation.
Definition at line 566 of file adj_midchain.c.
void adj_midchain_setup | ( | adj_index_t | adj_index, |
adj_midchain_fixup_t | fixup, | ||
const void * | data, | ||
adj_flags_t | flags | ||
) |
adj_midchain_setup
Setup the adj as a mid-chain
Definition at line 153 of file adj_midchain.c.
void adj_midchain_teardown | ( | ip_adjacency_t * | adj | ) |
adj_midchain_setup
Setup the adj as a mid-chain
Definition at line 132 of file adj_midchain.c.
|
static |
void adj_nbr_midchain_reset_next_node | ( | adj_index_t | adj_index | ) |
Return the adjacency's next node to its default value.
adj_index | The index of the neighbour adjacency. |
Definition at line 272 of file adj_midchain.c.
void adj_nbr_midchain_stack | ( | adj_index_t | adj_index, |
const dpo_id_t * | next | ||
) |
adj_nbr_midchain_stack
[re]stack a midchain.
Definition at line 429 of file adj_midchain.c.
void adj_nbr_midchain_stack_on_fib_entry | ( | adj_index_t | adj_index, |
fib_node_index_t | fei, | ||
fib_forward_chain_type_t | fct | ||
) |
[re]stack a midchain.
'Stacking' is the act of forming parent-child relationships in the data-plane graph. Since function performs recursive loop detection.
adj_index | The index of the midchain to stack |
fei | The FIB entry to stack on |
fct | The chain type to use from the fib entry fowarding |
Definition at line 335 of file adj_midchain.c.
void adj_nbr_midchain_unstack | ( | adj_index_t | adj_index | ) |
adj_nbr_midchain_unstack
unstack a midchain.
Unstack the adj. stack it on drop
Definition at line 303 of file adj_midchain.c.
void adj_nbr_midchain_update_next_node | ( | adj_index_t | adj_index, |
u32 | node_index | ||
) |
Update the VLIB node to which packets are sent post processing.
adj_index | The index of the neighbour adjacency. |
node | node-index to send to |
Definition at line 246 of file adj_midchain.c.
void adj_nbr_midchain_update_rewrite | ( | adj_index_t | adj_index, |
adj_midchain_fixup_t | fixup, | ||
const void * | fixup_data, | ||
adj_flags_t | flags, | ||
u8 * | rewrite | ||
) |
adj_nbr_midchain_update_rewrite
Midchain Adjacency sub-type.
Update the adjacency's rewrite string. A NULL string implies the rewrite is reset (i.e. when ARP/ND entry is gone). NB: the adj being updated may be handling traffic in the DP.
Definition at line 213 of file adj_midchain.c.
int adj_ndr_midchain_recursive_loop_detect | ( | adj_index_t | ai, |
fib_node_index_t ** | entry_indicies | ||
) |
descend the FIB graph looking for loops
ai | The adj index to traverse |
entry_indicies) | A pointer to a vector of FIB entries already visited. |
Definition at line 447 of file adj_midchain.c.
Format a midchain adjacency.
Definition at line 474 of file adj_midchain.c.
|
static |
Definition at line 515 of file adj_midchain.c.
|
static |
Definition at line 545 of file adj_midchain.c.
|
static |
The per-protocol VLIB graph nodes that are assigned to a midchain object.
this means that these graph nodes are ones from which a midchain is the parent object in the DPO-graph.
Definition at line 530 of file adj_midchain.c.
|
static |
Definition at line 535 of file adj_midchain.c.
|
static |
Definition at line 540 of file adj_midchain.c.
|
static |
Definition at line 556 of file adj_midchain.c.
|
static |
Definition at line 550 of file adj_midchain.c.