FD.io VPP
v16.12-rc0-308-g931be3a
Vector Packet Processing
|
Go to the source code of this file.
Typedefs | |
typedef enum adj_midchain_flag_t_ | adj_midchain_flag_t |
Midchain Adjacency sub-type. More... | |
Enumerations | |
enum | adj_midchain_flag_t_ { ADJ_MIDCHAIN_FLAG_NONE = 0, ADJ_MIDCHAIN_FLAG_NO_COUNT = (1 << 0) } |
Midchain Adjacency sub-type. More... | |
Functions | |
void | adj_nbr_midchain_update_rewrite (adj_index_t adj_index, adj_midchain_fixup_t fixup, adj_midchain_flag_t flags, u8 *rewrite) |
Convert an existing neighbour adjacency into a midchain. More... | |
void | adj_nbr_midchain_stack (adj_index_t adj_index, const dpo_id_t *dpo) |
[re]stack a midchain. More... | |
void | adj_nbr_midchain_unstack (adj_index_t adj_index) |
unstack a midchain. More... | |
void | adj_midchain_module_init (void) |
Module initialisation. More... | |
u8 * | format_adj_midchain (u8 *s, va_list *ap) |
Format a midchain adjacency. More... | |
typedef enum adj_midchain_flag_t_ adj_midchain_flag_t |
Midchain Adjacency sub-type.
These adjs represent an L3 peer on a tunnel interface. The tunnel's adjacency is thus not the end of the chain, and needs to stack on/link to another chain (or portion of the graph) to reach the tunnel's destination. Flags controlling the midchain adjacency
enum adj_midchain_flag_t_ |
Midchain Adjacency sub-type.
These adjs represent an L3 peer on a tunnel interface. The tunnel's adjacency is thus not the end of the chain, and needs to stack on/link to another chain (or portion of the graph) to reach the tunnel's destination. Flags controlling the midchain adjacency
Definition at line 30 of file adj_midchain.h.
void adj_midchain_module_init | ( | void | ) |
Module initialisation.
Definition at line 587 of file adj_midchain.c.
void adj_nbr_midchain_stack | ( | adj_index_t | adj_index, |
const dpo_id_t * | next | ||
) |
[re]stack a midchain.
'Stacking' is the act of forming parent-child relationships in the data-plane graph.
adj_index | The index of the midchain to stack |
dpo | The parent DPO to stack onto (i.e. become a child of). |
[re]stack a midchain.
Definition at line 494 of file adj_midchain.c.
void adj_nbr_midchain_unstack | ( | adj_index_t | adj_index | ) |
unstack a midchain.
This will break the chain between the midchain and the next graph section. This is a implemented as stack-on-drop
adj_index | The index of the midchain to stack |
unstack a midchain.
Unstack the adj. stack it on drop
Definition at line 471 of file adj_midchain.c.
void adj_nbr_midchain_update_rewrite | ( | adj_index_t | adj_index, |
adj_midchain_fixup_t | fixup, | ||
adj_midchain_flag_t | flags, | ||
u8 * | rewrite | ||
) |
Convert an existing neighbour adjacency into a midchain.
adj_index | The index of the neighbour adjacency. |
post_rewrite_node | The VLIB graph node that provides the post-encap fixup. where 'fixup' is e.g., correcting chksum, length, etc. |
rewrite | The rewrite. |
Convert an existing neighbour adjacency into a midchain.
Update the adjacency's rewrite string. A NULL string implies the rewrite is reset (i.e. when ARP/ND etnry is gone). NB: the adj being updated may be handling traffic in the DP.
Definition at line 371 of file adj_midchain.c.
Format a midchain adjacency.
Definition at line 511 of file adj_midchain.c.