FD.io VPP
v17.07.01-10-g3be13f0
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | mpls_label_dpo_t |
A representation of an MPLS label for imposition in the data-path. More... | |
Typedefs | |
typedef struct mpls_label_dpo_t | mpls_label_dpo_t |
A representation of an MPLS label for imposition in the data-path. More... | |
Functions | |
STATIC_ASSERT ((sizeof(mpls_label_dpo_t)<=CLIB_CACHE_LINE_BYTES),"MPLS label DPO is larger than one cache line.") | |
Assert that the MPLS label object is less than a cache line in size. More... | |
index_t | mpls_label_dpo_create (mpls_label_t *label_stack, mpls_eos_bit_t eos, u8 ttl, u8 exp, dpo_proto_t payload_proto, const dpo_id_t *dpo) |
Create an MPLS label object. More... | |
u8 * | format_mpls_label_dpo (u8 *s, va_list *args) |
static mpls_label_dpo_t * | mpls_label_dpo_get (index_t index) |
void | mpls_label_dpo_module_init (void) |
Variables | |
mpls_label_dpo_t * | mpls_label_dpo_pool |
typedef struct mpls_label_dpo_t mpls_label_dpo_t |
A representation of an MPLS label for imposition in the data-path.
index_t mpls_label_dpo_create | ( | mpls_label_t * | label_stack, |
mpls_eos_bit_t | eos, | ||
u8 | ttl, | ||
u8 | exp, | ||
dpo_proto_t | payload_proto, | ||
const dpo_id_t * | dpo | ||
) |
Create an MPLS label object.
label_stack | The stack if labels to impose, outer most label first |
eos | The inner most label's EOS bit |
ttl | The inner most label's TTL bit |
exp | The inner most label's EXP bit |
payload_proto | The ptocool of the payload packets that will be imposed with this label header. |
dpo | The parent of the created MPLS label object |
Definition at line 45 of file mpls_label_dpo.c.
|
inlinestatic |
Definition at line 94 of file mpls_label_dpo.h.
void mpls_label_dpo_module_init | ( | void | ) |
Definition at line 655 of file mpls_label_dpo.c.
STATIC_ASSERT | ( | (sizeof(mpls_label_dpo_t)<=CLIB_CACHE_LINE_BYTES) | , |
"MPLS label DPO is larger than one cache line." | |||
) |
Assert that the MPLS label object is less than a cache line in size.
Should this get any bigger then we will need to reconsider how many labels can be pushed in one object.
mpls_label_dpo_t* mpls_label_dpo_pool |
Definition at line 23 of file mpls_label_dpo.c.