FD.io VPP
v19.04-6-g6f05f72
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | adj_midchain_tx_trace_t_ |
Trace data for packets traversing the midchain tx node. More... | |
Typedefs | |
typedef struct adj_midchain_tx_trace_t_ | adj_midchain_tx_trace_t |
Trace data for packets traversing the midchain tx node. More... | |
Variables | |
static u32 | adj_midchain_tx_feature_node [VNET_LINK_NUM] |
The two midchain tx feature node indices. More... | |
static u32 | adj_midchain_tx_no_count_feature_node [VNET_LINK_NUM] |
static vlib_node_registration_t | adj_midchain_tx_node |
(constructor) VLIB_REGISTER_NODE (adj_midchain_tx_node) More... | |
static vlib_node_registration_t | adj_midchain_tx_no_count_node |
(constructor) VLIB_REGISTER_NODE (adj_midchain_tx_no_count_node) More... | |
static const dpo_vft_t | adj_midchain_dpo_vft |
static const char *const | midchain_ip4_nodes [] |
The per-protocol VLIB graph nodes that are assigned to a midchain object. More... | |
static const char *const | midchain_ip6_nodes [] |
static const char *const | midchain_mpls_nodes [] |
static const char *const | midchain_ethernet_nodes [] |
static const char *const | midchain_nsh_nodes [] |
static const char *const *const | midchain_nodes [DPO_PROTO_NUM] |
typedef struct adj_midchain_tx_trace_t_ adj_midchain_tx_trace_t |
Trace data for packets traversing the midchain tx node.
|
static |
|
static |
|
inlinestatic |
|
static |
void adj_midchain_module_init | ( | void | ) |
Module initialisation.
Definition at line 777 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 454 of file adj_midchain.c.
|
static |
|
inlinestatic |
Definition at line 45 of file adj_midchain.c.
|
static |
|
static |
|
static |
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 641 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 570 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 538 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 500 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 659 of file adj_midchain.c.
Format a midchain adjacency.
Definition at line 686 of file adj_midchain.c.
VNET_FEATURE_INIT | ( | adj_midchain_tx_ip4 | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_no_count_ip4 | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_ip6 | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_no_count_ip6 | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_mpls | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_no_count_mpls | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_ethernet | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_no_count_ethernet | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_nsh | , |
static | |||
) |
VNET_FEATURE_INIT | ( | adj_midchain_tx_no_count_nsh | , |
static | |||
) |
|
static |
Definition at line 727 of file adj_midchain.c.
|
static |
The two midchain tx feature node indices.
Definition at line 30 of file adj_midchain.c.
|
static |
Definition at line 31 of file adj_midchain.c.
|
static |
(constructor) VLIB_REGISTER_NODE (adj_midchain_tx_no_count_node)
Definition at line 293 of file adj_midchain.c.
|
static |
(constructor) VLIB_REGISTER_NODE (adj_midchain_tx_node)
Definition at line 272 of file adj_midchain.c.
|
static |
Definition at line 756 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 741 of file adj_midchain.c.
|
static |
Definition at line 746 of file adj_midchain.c.
|
static |
Definition at line 751 of file adj_midchain.c.
|
static |
Definition at line 767 of file adj_midchain.c.
|
static |
Definition at line 761 of file adj_midchain.c.