FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
dvr_dpo.h File Reference
+ Include dependency graph for dvr_dpo.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dvr_dpo_t_
 The DVR DPO. More...
 

Typedefs

typedef struct dvr_dpo_t_ dvr_dpo_t
 The DVR DPO. More...
 

Functions

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_tdvr_dpo_get (index_t index)
 

Variables

dvr_dpo_tdvr_dpo_pool
 pool of all interface DPOs More...
 

Typedef Documentation

◆ dvr_dpo_t

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.

Function Documentation

◆ dvr_dpo_add_or_lock()

void dvr_dpo_add_or_lock ( u32  sw_if_index,
dpo_proto_t  dproto,
dpo_id_t dpo 
)

Definition at line 90 of file dvr_dpo.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ dvr_dpo_get()

static dvr_dpo_t* dvr_dpo_get ( index_t  index)
inlinestatic

Definition at line 60 of file dvr_dpo.h.

+ Here is the caller graph for this function:

◆ dvr_dpo_module_init()

void dvr_dpo_module_init ( void  )

Definition at line 226 of file dvr_dpo.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ dvr_dpo_pool

dvr_dpo_t* dvr_dpo_pool

pool of all interface DPOs

Definition at line 22 of file dvr_dpo.c.