FD.io VPP  v20.05-21-gb1500e9ff
Vector Packet Processing
lookup_dpo.c File Reference
+ Include dependency graph for lookup_dpo.c:

Go to the source code of this file.

Data Structures

struct  lookup_trace_t_
 Lookup trace data. More...
 

Macros

#define MAX_LUKPS_PER_PACKET   4
 If a packet encounters a lookup DPO more than the many times then we assume there is a loop in the forward graph and drop the packet. More...
 
#define LOOKUP_SUB_TYPE_NUM   (LOOKUP_SUB_TYPE_DST_TABLE_FROM_INTERFACE+1)
 
#define FOR_EACH_LOOKUP_SUB_TYPE(_st)   for (_st = LOOKUP_SUB_TYPE_IP4_SRC; _st < LOOKUP_SUB_TYPE_NUM; _st++)
 

Typedefs

typedef enum lookup_sub_type_t_ lookup_sub_type_t
 Enumeration of the lookup subtypes. More...
 
typedef struct lookup_trace_t_ lookup_trace_t
 Lookup trace data. More...
 
typedef enum lookup_ip_dst_mcast_next_t_ mfib_forward_lookup_next_t
 

Enumerations

enum  lookup_sub_type_t_ { LOOKUP_SUB_TYPE_SRC, LOOKUP_SUB_TYPE_DST, LOOKUP_SUB_TYPE_DST_MCAST, LOOKUP_SUB_TYPE_DST_TABLE_FROM_INTERFACE }
 Enumeration of the lookup subtypes. More...
 
enum  lookup_ip_dst_mcast_next_t_ { LOOKUP_IP_DST_MCAST_NEXT_DROP, LOOKUP_IP_DST_MCAST_NEXT_RPF, LOOKUP_IP_DST_MCAST_N_NEXT }
 

Functions

static lookup_dpo_tlookup_dpo_alloc (void)
 
static index_t lookup_dpo_get_index (lookup_dpo_t *lkd)
 
static void lookup_dpo_add_or_lock_i (fib_node_index_t fib_index, dpo_proto_t proto, lookup_cast_t cast, lookup_input_t input, lookup_table_t table_config, dpo_id_t *dpo)
 
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_config, 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_config, dpo_id_t *dpo)
 
u8format_lookup_dpo (u8 *s, va_list *args)
 
static void lookup_dpo_lock (dpo_id_t *dpo)
 
static void lookup_dpo_unlock (dpo_id_t *dpo)
 
static void ip4_src_fib_lookup_one (u32 src_fib_index0, const ip4_address_t *addr0, u32 *src_adj_index0)
 
static void ip4_src_fib_lookup_two (u32 src_fib_index0, u32 src_fib_index1, const ip4_address_t *addr0, const ip4_address_t *addr1, u32 *src_adj_index0, u32 *src_adj_index1)
 
static uword lookup_dpo_ip4_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int input_src_addr, int table_from_interface)
 
static u8format_lookup_trace (u8 *s, va_list *args)
 
VLIB_NODE_FN() lookup_ip4_dst_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() lookup_ip4_dst_itf_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() lookup_ip4_src_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static uword lookup_dpo_ip6_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int input_src_addr, int table_from_interface)
 
VLIB_NODE_FN() lookup_ip6_dst_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() lookup_ip6_dst_itf_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() lookup_ip6_src_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static uword lookup_dpo_mpls_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int table_from_interface)
 
static u8format_lookup_mpls_trace (u8 *s, va_list *args)
 
VLIB_NODE_FN() lookup_mpls_dst_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() lookup_mpls_dst_itf_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static uword lookup_dpo_ip_dst_mcast_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame, int is_v4)
 
VLIB_NODE_FN() lookup_ip4_dst_mcast_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
VLIB_NODE_FN() lookup_ip6_dst_mcast_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *from_frame)
 
static void lookup_dpo_mem_show (void)
 
static clib_error_tlookup_dpo_show (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
void lookup_dpo_module_init (void)
 

Variables

static const char *const lookup_input_names [] = LOOKUP_INPUTS
 
static const char *const lookup_cast_names [] = LOOKUP_CASTS
 
lookup_dpo_tlookup_dpo_pool
 pool of all MPLS Label DPOs More...
 
static dpo_type_t lookup_dpo_sub_types [LOOKUP_SUB_TYPE_NUM]
 An array of registered DPO type values for the sub-types. More...
 
vlib_node_registration_t lookup_ip4_dst_node
 (constructor) VLIB_REGISTER_NODE (lookup_ip4_dst_node) More...
 
vlib_node_registration_t lookup_ip4_dst_itf_node
 (constructor) VLIB_REGISTER_NODE (lookup_ip4_dst_itf_node) More...
 
vlib_node_registration_t lookup_ip4_src_node
 (constructor) VLIB_REGISTER_NODE (lookup_ip4_src_node) More...
 
vlib_node_registration_t lookup_ip6_dst_node
 (constructor) VLIB_REGISTER_NODE (lookup_ip6_dst_node) More...
 
vlib_node_registration_t lookup_ip6_dst_itf_node
 (constructor) VLIB_REGISTER_NODE (lookup_ip6_dst_itf_node) More...
 
vlib_node_registration_t lookup_ip6_src_node
 (constructor) VLIB_REGISTER_NODE (lookup_ip6_src_node) More...
 
vlib_node_registration_t lookup_mpls_dst_node
 (constructor) VLIB_REGISTER_NODE (lookup_mpls_dst_node) More...
 
vlib_node_registration_t lookup_mpls_dst_itf_node
 (constructor) VLIB_REGISTER_NODE (lookup_mpls_dst_itf_node) More...
 
vlib_node_registration_t lookup_ip4_dst_mcast_node
 (constructor) VLIB_REGISTER_NODE (lookup_ip4_dst_mcast_node) More...
 
vlib_node_registration_t lookup_ip6_dst_mcast_node
 (constructor) VLIB_REGISTER_NODE (lookup_ip6_dst_mcast_node) More...
 
static const dpo_vft_t lkd_vft
 
static const dpo_vft_t lkd_vft_w_mem_show
 
static const char *const lookup_src_ip4_nodes []
 
static const char *const lookup_src_ip6_nodes []
 
static const char *const *const lookup_src_nodes [DPO_PROTO_NUM]
 
static const char *const lookup_dst_ip4_nodes []
 
static const char *const lookup_dst_ip6_nodes []
 
static const char *const lookup_dst_mpls_nodes []
 
static const char *const *const lookup_dst_nodes [DPO_PROTO_NUM]
 
static const char *const lookup_dst_mcast_ip4_nodes []
 
static const char *const lookup_dst_mcast_ip6_nodes []
 
static const char *const *const lookup_dst_mcast_nodes [DPO_PROTO_NUM]
 
static const char *const lookup_dst_from_interface_ip4_nodes []
 
static const char *const lookup_dst_from_interface_ip6_nodes []
 
static const char *const lookup_dst_from_interface_mpls_nodes []
 
static const char *const *const lookup_dst_from_interface_nodes [DPO_PROTO_NUM]
 
static vlib_cli_command_t replicate_show_command
 (constructor) VLIB_CLI_COMMAND (replicate_show_command) More...
 

Macro Definition Documentation

◆ FOR_EACH_LOOKUP_SUB_TYPE

#define FOR_EACH_LOOKUP_SUB_TYPE (   _st)    for (_st = LOOKUP_SUB_TYPE_IP4_SRC; _st < LOOKUP_SUB_TYPE_NUM; _st++)

Definition at line 49 of file lookup_dpo.c.

◆ LOOKUP_SUB_TYPE_NUM

#define LOOKUP_SUB_TYPE_NUM   (LOOKUP_SUB_TYPE_DST_TABLE_FROM_INTERFACE+1)

Definition at line 47 of file lookup_dpo.c.

◆ MAX_LUKPS_PER_PACKET

#define MAX_LUKPS_PER_PACKET   4

If a packet encounters a lookup DPO more than the many times then we assume there is a loop in the forward graph and drop the packet.

Definition at line 35 of file lookup_dpo.c.

Typedef Documentation

◆ lookup_sub_type_t

Enumeration of the lookup subtypes.

◆ lookup_trace_t

Lookup trace data.

◆ mfib_forward_lookup_next_t

Enumeration Type Documentation

◆ lookup_ip_dst_mcast_next_t_

Enumerator
LOOKUP_IP_DST_MCAST_NEXT_DROP 
LOOKUP_IP_DST_MCAST_NEXT_RPF 
LOOKUP_IP_DST_MCAST_N_NEXT 

Definition at line 1211 of file lookup_dpo.c.

◆ lookup_sub_type_t_

Enumeration of the lookup subtypes.

Enumerator
LOOKUP_SUB_TYPE_SRC 
LOOKUP_SUB_TYPE_DST 
LOOKUP_SUB_TYPE_DST_MCAST 
LOOKUP_SUB_TYPE_DST_TABLE_FROM_INTERFACE 

Definition at line 40 of file lookup_dpo.c.

Function Documentation

◆ format_lookup_dpo()

u8* format_lookup_dpo ( u8 s,
va_list *  args 
)

Definition at line 191 of file lookup_dpo.c.

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

◆ format_lookup_mpls_trace()

static u8* format_lookup_mpls_trace ( u8 s,
va_list *  args 
)
static

Definition at line 1163 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ format_lookup_trace()

static u8* format_lookup_trace ( u8 s,
va_list *  args 
)
static

Definition at line 626 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ ip4_src_fib_lookup_one()

static void ip4_src_fib_lookup_one ( u32  src_fib_index0,
const ip4_address_t addr0,
u32 src_adj_index0 
)
inlinestatic

Definition at line 268 of file lookup_dpo.c.

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

◆ ip4_src_fib_lookup_two()

static void ip4_src_fib_lookup_two ( u32  src_fib_index0,
u32  src_fib_index1,
const ip4_address_t addr0,
const ip4_address_t addr1,
u32 src_adj_index0,
u32 src_adj_index1 
)
inlinestatic

Definition at line 285 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_i()

static void lookup_dpo_add_or_lock_i ( fib_node_index_t  fib_index,
dpo_proto_t  proto,
lookup_cast_t  cast,
lookup_input_t  input,
lookup_table_t  table_config,
dpo_id_t dpo 
)
static

Definition at line 79 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_config,
dpo_id_t dpo 
)

Definition at line 133 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_config,
dpo_id_t dpo 
)

Definition at line 159 of file lookup_dpo.c.

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

◆ lookup_dpo_alloc()

static lookup_dpo_t* lookup_dpo_alloc ( void  )
static

Definition at line 63 of file lookup_dpo.c.

+ Here is the caller graph for this function:

◆ lookup_dpo_get_index()

static index_t lookup_dpo_get_index ( lookup_dpo_t lkd)
static

Definition at line 73 of file lookup_dpo.c.

+ Here is the caller graph for this function:

◆ lookup_dpo_ip4_inline()

static uword lookup_dpo_ip4_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
int  input_src_addr,
int  table_from_interface 
)
inlinestatic

Definition at line 326 of file lookup_dpo.c.

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

◆ lookup_dpo_ip6_inline()

static uword lookup_dpo_ip6_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
int  input_src_addr,
int  table_from_interface 
)
inlinestatic

Definition at line 683 of file lookup_dpo.c.

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

◆ lookup_dpo_ip_dst_mcast_inline()

static uword lookup_dpo_ip_dst_mcast_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
int  is_v4 
)
inlinestatic

Definition at line 1218 of file lookup_dpo.c.

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

◆ lookup_dpo_lock()

static void lookup_dpo_lock ( dpo_id_t dpo)
static

Definition at line 228 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_dpo_mem_show()

static void lookup_dpo_mem_show ( void  )
static

Definition at line 1356 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_dpo_module_init()

void lookup_dpo_module_init ( void  )

Definition at line 1498 of file lookup_dpo.c.

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

◆ lookup_dpo_mpls_inline()

static uword lookup_dpo_mpls_inline ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame,
int  table_from_interface 
)
inlinestatic

Definition at line 1027 of file lookup_dpo.c.

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

◆ lookup_dpo_show()

static clib_error_t* lookup_dpo_show ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 1454 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_dpo_unlock()

static void lookup_dpo_unlock ( dpo_id_t dpo)
static

Definition at line 238 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_ip4_dst_itf_node()

VLIB_NODE_FN() lookup_ip4_dst_itf_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 654 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_ip4_dst_mcast_node()

VLIB_NODE_FN() lookup_ip4_dst_mcast_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 1317 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_ip4_dst_node()

VLIB_NODE_FN() lookup_ip4_dst_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 640 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_ip4_src_node()

VLIB_NODE_FN() lookup_ip4_src_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 668 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_ip6_dst_itf_node()

VLIB_NODE_FN() lookup_ip6_dst_itf_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 998 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_ip6_dst_mcast_node()

VLIB_NODE_FN() lookup_ip6_dst_mcast_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 1336 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_ip6_dst_node()

VLIB_NODE_FN() lookup_ip6_dst_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 984 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_ip6_src_node()

VLIB_NODE_FN() lookup_ip6_src_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 1012 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_mpls_dst_itf_node()

VLIB_NODE_FN() lookup_mpls_dst_itf_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 1196 of file lookup_dpo.c.

+ Here is the call graph for this function:

◆ lookup_mpls_dst_node()

VLIB_NODE_FN() lookup_mpls_dst_node ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t from_frame 
)

Definition at line 1181 of file lookup_dpo.c.

+ Here is the call graph for this function:

Variable Documentation

◆ lkd_vft

const dpo_vft_t lkd_vft
static
Initial value:
= {
.dv_lock = lookup_dpo_lock,
.dv_unlock = lookup_dpo_unlock,
.dv_format = format_lookup_dpo,
}
u8 * format_lookup_dpo(u8 *s, va_list *args)
Definition: lookup_dpo.c:191
static void lookup_dpo_unlock(dpo_id_t *dpo)
Definition: lookup_dpo.c:238
static void lookup_dpo_lock(dpo_id_t *dpo)
Definition: lookup_dpo.c:228

Definition at line 1364 of file lookup_dpo.c.

◆ lkd_vft_w_mem_show

const dpo_vft_t lkd_vft_w_mem_show
static
Initial value:
= {
.dv_lock = lookup_dpo_lock,
.dv_unlock = lookup_dpo_unlock,
.dv_format = format_lookup_dpo,
.dv_mem_show = lookup_dpo_mem_show,
}
u8 * format_lookup_dpo(u8 *s, va_list *args)
Definition: lookup_dpo.c:191
static void lookup_dpo_unlock(dpo_id_t *dpo)
Definition: lookup_dpo.c:238
static void lookup_dpo_lock(dpo_id_t *dpo)
Definition: lookup_dpo.c:228
static void lookup_dpo_mem_show(void)
Definition: lookup_dpo.c:1356

Definition at line 1369 of file lookup_dpo.c.

◆ lookup_cast_names

const char* const lookup_cast_names[] = LOOKUP_CASTS
static

Definition at line 29 of file lookup_dpo.c.

◆ 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_dpo_sub_types

dpo_type_t lookup_dpo_sub_types[LOOKUP_SUB_TYPE_NUM]
static

An array of registered DPO type values for the sub-types.

Definition at line 60 of file lookup_dpo.c.

◆ lookup_dst_from_interface_ip4_nodes

const char* const lookup_dst_from_interface_ip4_nodes[]
static
Initial value:
=
{
"lookup-ip4-dst-itf",
NULL,
}

Definition at line 1431 of file lookup_dpo.c.

◆ lookup_dst_from_interface_ip6_nodes

const char* const lookup_dst_from_interface_ip6_nodes[]
static
Initial value:
=
{
"lookup-ip6-dst-itf",
NULL,
}

Definition at line 1436 of file lookup_dpo.c.

◆ lookup_dst_from_interface_mpls_nodes

const char* const lookup_dst_from_interface_mpls_nodes[]
static
Initial value:
=
{
"lookup-mpls-dst-itf",
NULL,
}

Definition at line 1441 of file lookup_dpo.c.

◆ lookup_dst_from_interface_nodes

const char* const* const lookup_dst_from_interface_nodes[DPO_PROTO_NUM]
static
Initial value:
=
{
}
static const char *const lookup_dst_from_interface_ip6_nodes[]
Definition: lookup_dpo.c:1436
static const char *const lookup_dst_from_interface_mpls_nodes[]
Definition: lookup_dpo.c:1441
static const char *const lookup_dst_from_interface_ip4_nodes[]
Definition: lookup_dpo.c:1431

Definition at line 1446 of file lookup_dpo.c.

◆ lookup_dst_ip4_nodes

const char* const lookup_dst_ip4_nodes[]
static
Initial value:
=
{
"lookup-ip4-dst",
NULL,
}

Definition at line 1393 of file lookup_dpo.c.

◆ lookup_dst_ip6_nodes

const char* const lookup_dst_ip6_nodes[]
static
Initial value:
=
{
"lookup-ip6-dst",
NULL,
}

Definition at line 1398 of file lookup_dpo.c.

◆ lookup_dst_mcast_ip4_nodes

const char* const lookup_dst_mcast_ip4_nodes[]
static
Initial value:
=
{
"lookup-ip4-dst-mcast",
NULL,
}

Definition at line 1415 of file lookup_dpo.c.

◆ lookup_dst_mcast_ip6_nodes

const char* const lookup_dst_mcast_ip6_nodes[]
static
Initial value:
=
{
"lookup-ip6-dst-mcast",
NULL,
}

Definition at line 1420 of file lookup_dpo.c.

◆ lookup_dst_mcast_nodes

const char* const* const lookup_dst_mcast_nodes[DPO_PROTO_NUM]
static
Initial value:
=
{
}
static const char *const lookup_dst_mcast_ip4_nodes[]
Definition: lookup_dpo.c:1415
static const char *const lookup_dst_mcast_ip6_nodes[]
Definition: lookup_dpo.c:1420

Definition at line 1425 of file lookup_dpo.c.

◆ lookup_dst_mpls_nodes

const char* const lookup_dst_mpls_nodes[]
static
Initial value:
=
{
"lookup-mpls-dst",
NULL,
}

Definition at line 1403 of file lookup_dpo.c.

◆ lookup_dst_nodes

const char* const* const lookup_dst_nodes[DPO_PROTO_NUM]
static
Initial value:
=
{
}
static const char *const lookup_dst_mpls_nodes[]
Definition: lookup_dpo.c:1403
static const char *const lookup_dst_ip6_nodes[]
Definition: lookup_dpo.c:1398
static const char *const lookup_dst_ip4_nodes[]
Definition: lookup_dpo.c:1393

Definition at line 1408 of file lookup_dpo.c.

◆ lookup_input_names

const char* const lookup_input_names[] = LOOKUP_INPUTS
static

Definition at line 28 of file lookup_dpo.c.

◆ lookup_ip4_dst_itf_node

vlib_node_registration_t lookup_ip4_dst_itf_node
Initial value:
= {
.name = "lookup-ip4-dst-itf",
.vector_size = sizeof (u32),
.sibling_of = "ip4-lookup",
.format_trace = format_lookup_trace,
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:626

(constructor) VLIB_REGISTER_NODE (lookup_ip4_dst_itf_node)

Definition at line 661 of file lookup_dpo.c.

◆ lookup_ip4_dst_mcast_node

vlib_node_registration_t lookup_ip4_dst_mcast_node
Initial value:
= {
.name = "lookup-ip4-dst-mcast",
.vector_size = sizeof (u32),
.format_trace = format_lookup_trace,
.n_next_nodes = LOOKUP_IP_DST_MCAST_N_NEXT,
.next_nodes = {
[LOOKUP_IP_DST_MCAST_NEXT_RPF] = "ip4-mfib-forward-rpf",
},
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:626

(constructor) VLIB_REGISTER_NODE (lookup_ip4_dst_mcast_node)

Definition at line 1324 of file lookup_dpo.c.

◆ lookup_ip4_dst_node

vlib_node_registration_t lookup_ip4_dst_node
Initial value:
= {
.name = "lookup-ip4-dst",
.vector_size = sizeof (u32),
.sibling_of = "ip4-lookup",
.format_trace = format_lookup_trace,
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:626

(constructor) VLIB_REGISTER_NODE (lookup_ip4_dst_node)

Definition at line 647 of file lookup_dpo.c.

◆ lookup_ip4_src_node

vlib_node_registration_t lookup_ip4_src_node
Initial value:
= {
.name = "lookup-ip4-src",
.vector_size = sizeof (u32),
.format_trace = format_lookup_trace,
.sibling_of = "ip4-lookup",
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:626

(constructor) VLIB_REGISTER_NODE (lookup_ip4_src_node)

Definition at line 675 of file lookup_dpo.c.

◆ lookup_ip6_dst_itf_node

vlib_node_registration_t lookup_ip6_dst_itf_node
Initial value:
= {
.name = "lookup-ip6-dst-itf",
.vector_size = sizeof (u32),
.format_trace = format_lookup_trace,
.sibling_of = "ip6-lookup",
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:626

(constructor) VLIB_REGISTER_NODE (lookup_ip6_dst_itf_node)

Definition at line 1005 of file lookup_dpo.c.

◆ lookup_ip6_dst_mcast_node

vlib_node_registration_t lookup_ip6_dst_mcast_node
Initial value:
= {
.name = "lookup-ip6-dst-mcast",
.vector_size = sizeof (u32),
.format_trace = format_lookup_trace,
.n_next_nodes = LOOKUP_IP_DST_MCAST_N_NEXT,
.next_nodes = {
[LOOKUP_IP_DST_MCAST_NEXT_RPF] = "ip6-mfib-forward-rpf",
},
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:626

(constructor) VLIB_REGISTER_NODE (lookup_ip6_dst_mcast_node)

Definition at line 1343 of file lookup_dpo.c.

◆ lookup_ip6_dst_node

vlib_node_registration_t lookup_ip6_dst_node
Initial value:
= {
.name = "lookup-ip6-dst",
.vector_size = sizeof (u32),
.format_trace = format_lookup_trace,
.sibling_of = "ip6-lookup",
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:626

(constructor) VLIB_REGISTER_NODE (lookup_ip6_dst_node)

Definition at line 991 of file lookup_dpo.c.

◆ lookup_ip6_src_node

vlib_node_registration_t lookup_ip6_src_node
Initial value:
= {
.name = "lookup-ip6-src",
.vector_size = sizeof (u32),
.format_trace = format_lookup_trace,
.sibling_of = "ip6-lookup",
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:626

(constructor) VLIB_REGISTER_NODE (lookup_ip6_src_node)

Definition at line 1019 of file lookup_dpo.c.

◆ lookup_mpls_dst_itf_node

vlib_node_registration_t lookup_mpls_dst_itf_node
Initial value:
= {
.name = "lookup-mpls-dst-itf",
.vector_size = sizeof (u32),
.sibling_of = "mpls-lookup",
.format_trace = format_lookup_mpls_trace,
.n_next_nodes = 0,
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_mpls_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:1163

(constructor) VLIB_REGISTER_NODE (lookup_mpls_dst_itf_node)

Definition at line 1203 of file lookup_dpo.c.

◆ lookup_mpls_dst_node

vlib_node_registration_t lookup_mpls_dst_node
Initial value:
= {
.name = "lookup-mpls-dst",
.vector_size = sizeof (u32),
.sibling_of = "mpls-lookup",
.format_trace = format_lookup_mpls_trace,
.n_next_nodes = 0,
}
unsigned int u32
Definition: types.h:88
static u8 * format_lookup_mpls_trace(u8 *s, va_list *args)
Definition: lookup_dpo.c:1163

(constructor) VLIB_REGISTER_NODE (lookup_mpls_dst_node)

Definition at line 1188 of file lookup_dpo.c.

◆ lookup_src_ip4_nodes

const char* const lookup_src_ip4_nodes[]
static
Initial value:
=
{
"lookup-ip4-src",
NULL,
}

Definition at line 1376 of file lookup_dpo.c.

◆ lookup_src_ip6_nodes

const char* const lookup_src_ip6_nodes[]
static
Initial value:
=
{
"lookup-ip6-src",
NULL,
}

Definition at line 1381 of file lookup_dpo.c.

◆ lookup_src_nodes

const char* const* const lookup_src_nodes[DPO_PROTO_NUM]
static
Initial value:
=
{
[DPO_PROTO_MPLS] = NULL,
}
static const char *const lookup_src_ip6_nodes[]
Definition: lookup_dpo.c:1381
static const char *const lookup_src_ip4_nodes[]
Definition: lookup_dpo.c:1376

Definition at line 1386 of file lookup_dpo.c.

◆ replicate_show_command

vlib_cli_command_t replicate_show_command
static
Initial value:
= {
.path = "show lookup-dpo",
.short_help = "show lookup-dpo [<index>]",
.function = lookup_dpo_show,
}
static clib_error_t * lookup_dpo_show(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: lookup_dpo.c:1454

(constructor) VLIB_CLI_COMMAND (replicate_show_command)

Definition at line 1491 of file lookup_dpo.c.