FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
lookup_dpo.h File Reference
+ Include dependency graph for lookup_dpo.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  lookup_dpo_t
 A representation of an MPLS label for imposition in the data-path. More...
 

Macros

#define LOOKUP_INPUTS
 
#define LOOKUP_TABLES
 
#define LOOKUP_CASTS
 

Typedefs

typedef enum lookup_input_t_ lookup_input_t
 Switch to use the packet's source or destination address for lookup. More...
 
typedef enum lookup_table_t_ lookup_table_t
 Switch to use the packet's source or destination address for lookup. More...
 
typedef enum lookup_cast_t_ lookup_cast_t
 Switch to use the packet's source or destination address for lookup. More...
 
typedef struct lookup_dpo_t lookup_dpo_t
 A representation of an MPLS label for imposition in the data-path. More...
 

Enumerations

enum  lookup_input_t_ { LOOKUP_INPUT_SRC_ADDR, LOOKUP_INPUT_DST_ADDR }
 Switch to use the packet's source or destination address for lookup. More...
 
enum  lookup_table_t_ { LOOKUP_TABLE_FROM_INPUT_INTERFACE, LOOKUP_TABLE_FROM_CONFIG }
 Switch to use the packet's source or destination address for lookup. More...
 
enum  lookup_cast_t_ { LOOKUP_UNICAST, LOOKUP_MULTICAST }
 Switch to use the packet's source or destination address for lookup. More...
 

Functions

void lookup_dpo_add_or_lock_w_fib_index (fib_node_index_t fib_index, dpo_proto_t proto, lookup_cast_t cast, lookup_input_t input, lookup_table_t table, dpo_id_t *dpo)
 
void lookup_dpo_add_or_lock_w_table_id (u32 table_id, dpo_proto_t proto, lookup_cast_t cast, lookup_input_t input, lookup_table_t table, dpo_id_t *dpo)
 
u8format_lookup_dpo (u8 *s, va_list *args)
 
static lookup_dpo_tlookup_dpo_get (index_t index)
 
void lookup_dpo_module_init (void)
 

Variables

lookup_dpo_tlookup_dpo_pool
 pool of all MPLS Label DPOs More...
 

Macro Definition Documentation

◆ LOOKUP_CASTS

#define LOOKUP_CASTS
Value:
{ \
[LOOKUP_UNICAST] = "unicast", \
[LOOKUP_MULTICAST] = "multicast", \
}

Definition at line 57 of file lookup_dpo.h.

◆ LOOKUP_INPUTS

#define LOOKUP_INPUTS
Value:
{ \
[LOOKUP_INPUT_SRC_ADDR] = "src-address", \
[LOOKUP_INPUT_DST_ADDR] = "dst-address", \
}

Definition at line 31 of file lookup_dpo.h.

◆ LOOKUP_TABLES

#define LOOKUP_TABLES
Value:
{ \
[LOOKUP_TABLE_FROM_INPUT_INTERFACE] = "table-input-interface", \
[LOOKUP_TABLE_FROM_CONFIG] = "table-configured", \
}

Definition at line 44 of file lookup_dpo.h.

Typedef Documentation

◆ lookup_cast_t

Switch to use the packet's source or destination address for lookup.

◆ lookup_dpo_t

typedef struct lookup_dpo_t lookup_dpo_t

A representation of an MPLS label for imposition in the data-path.

◆ lookup_input_t

Switch to use the packet's source or destination address for lookup.

◆ lookup_table_t

Switch to use the packet's source or destination address for lookup.

Enumeration Type Documentation

◆ lookup_cast_t_

Switch to use the packet's source or destination address for lookup.

Enumerator
LOOKUP_UNICAST 
LOOKUP_MULTICAST 

Definition at line 52 of file lookup_dpo.h.

◆ lookup_input_t_

Switch to use the packet's source or destination address for lookup.

Enumerator
LOOKUP_INPUT_SRC_ADDR 
LOOKUP_INPUT_DST_ADDR 

Definition at line 26 of file lookup_dpo.h.

◆ lookup_table_t_

Switch to use the packet's source or destination address for lookup.

Enumerator
LOOKUP_TABLE_FROM_INPUT_INTERFACE 
LOOKUP_TABLE_FROM_CONFIG 

Definition at line 39 of file lookup_dpo.h.

Function Documentation

◆ format_lookup_dpo()

u8* format_lookup_dpo ( u8 s,
va_list *  args 
)

Definition at line 195 of file lookup_dpo.c.

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

◆ lookup_dpo_add_or_lock_w_fib_index()

void lookup_dpo_add_or_lock_w_fib_index ( fib_node_index_t  fib_index,
dpo_proto_t  proto,
lookup_cast_t  cast,
lookup_input_t  input,
lookup_table_t  table,
dpo_id_t dpo 
)

Definition at line 137 of file lookup_dpo.c.

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

◆ lookup_dpo_add_or_lock_w_table_id()

void lookup_dpo_add_or_lock_w_table_id ( u32  table_id,
dpo_proto_t  proto,
lookup_cast_t  cast,
lookup_input_t  input,
lookup_table_t  table,
dpo_id_t dpo 
)

Definition at line 163 of file lookup_dpo.c.

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

◆ lookup_dpo_get()

static lookup_dpo_t* lookup_dpo_get ( index_t  index)
inlinestatic

Definition at line 127 of file lookup_dpo.h.

+ Here is the caller graph for this function:

◆ lookup_dpo_module_init()

void lookup_dpo_module_init ( void  )

Definition at line 1502 of file lookup_dpo.c.

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

Variable Documentation

◆ lookup_dpo_pool

lookup_dpo_t* lookup_dpo_pool

pool of all MPLS Label DPOs

Definition at line 55 of file lookup_dpo.c.

LOOKUP_MULTICAST
@ LOOKUP_MULTICAST
Definition: lookup_dpo.h:54
LOOKUP_INPUT_SRC_ADDR
@ LOOKUP_INPUT_SRC_ADDR
Definition: lookup_dpo.h:27
LOOKUP_UNICAST
@ LOOKUP_UNICAST
Definition: lookup_dpo.h:53
LOOKUP_INPUT_DST_ADDR
@ LOOKUP_INPUT_DST_ADDR
Definition: lookup_dpo.h:28
LOOKUP_TABLE_FROM_CONFIG
@ LOOKUP_TABLE_FROM_CONFIG
Definition: lookup_dpo.h:41
LOOKUP_TABLE_FROM_INPUT_INTERFACE
@ LOOKUP_TABLE_FROM_INPUT_INTERFACE
Definition: lookup_dpo.h:40