![]() |
FD.io VPP
v19.08-27-gf4dcae4
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | dvr_dpo_t_ |
The DVR DPO. More... | |
Typedefs | |
typedef enum dvr_dpo_reinject_t_ | dvr_dpo_reinject_t |
Control how the reinject is performed. More... | |
typedef struct dvr_dpo_t_ | dvr_dpo_t |
The DVR DPO. More... | |
Enumerations | |
enum | dvr_dpo_reinject_t_ { DVR_REINJECT_L2, DVR_REINJECT_L3 } |
Control how the reinject is performed. More... | |
Functions | |
STATIC_ASSERT_SIZEOF (dvr_dpo_t, 8) | |
void | dvr_dpo_add_or_lock (u32 sw_if_index, dpo_proto_t dproto, dpo_id_t *dpo) |
void | dvr_dpo_module_init (void) |
static dvr_dpo_t * | dvr_dpo_get (index_t index) |
Variables | |
dvr_dpo_t * | dvr_dpo_pool |
pool of all interface DPOs More... | |
typedef enum dvr_dpo_reinject_t_ dvr_dpo_reinject_t |
Control how the reinject is performed.
typedef struct dvr_dpo_t_ dvr_dpo_t |
The DVR DPO.
Used as the resolving object for a DVR route. This is used, in place of the usual L3 Adjacency, to retransmit the packet with the original L2 header intact but also to run L3 features. After running L3 features the packet is re-injected back into the L2 path so it can pick up the necessary VLAN tags of the egress interface. This re-injection is done with an output feature.
enum dvr_dpo_reinject_t_ |
void dvr_dpo_add_or_lock | ( | u32 | sw_if_index, |
dpo_proto_t | dproto, | ||
dpo_id_t * | dpo | ||
) |
void dvr_dpo_module_init | ( | void | ) |
STATIC_ASSERT_SIZEOF | ( | dvr_dpo_t | , |
8 | |||
) |