|
FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the documentation of this file.
16 #ifndef __LOOKUP_DPO_H__
17 #define __LOOKUP_DPO_H__
31 #define LOOKUP_INPUTS { \
32 [LOOKUP_INPUT_SRC_ADDR] = "src-address", \
33 [LOOKUP_INPUT_DST_ADDR] = "dst-address", \
44 #define LOOKUP_TABLES { \
45 [LOOKUP_TABLE_FROM_INPUT_INTERFACE] = "table-input-interface", \
46 [LOOKUP_TABLE_FROM_CONFIG] = "table-configured", \
57 #define LOOKUP_CASTS { \
58 [LOOKUP_UNICAST] = "unicast", \
59 [LOOKUP_MULTICAST] = "multicast", \
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
static lookup_dpo_t * lookup_dpo_get(index_t index)
A representation of an MPLS label for imposition in the data-path.
enum lookup_table_t_ lookup_table_t
Switch to use the packet's source or destination address for lookup.
CLIB_CACHE_LINE_ALIGN_MARK(cacheline0)
required for pool_get_aligned.
u16 lkd_locks
Number of locks.
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_cast_t_
Switch to use the packet's source or destination address for lookup.
lookup_dpo_t * lookup_dpo_pool
pool of all MPLS Label DPOs
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
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)
u32 fib_node_index_t
A typedef of a node index.
@ LOOKUP_TABLE_FROM_CONFIG
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)
u8 * format_lookup_dpo(u8 *s, va_list *args)
lookup_table_t lkd_table
Switch to use the table index passed, or the table of the input interface.
lookup_cast_t lkd_cast
Unicast of rmulticast FIB lookup.
@ LOOKUP_TABLE_FROM_INPUT_INTERFACE
void lookup_dpo_module_init(void)
enum lookup_input_t_ lookup_input_t
Switch to use the packet's source or destination address for lookup.
enum lookup_cast_t_ lookup_cast_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.
The identity of a DPO is a combination of its type and its instance number/index of objects of that t...
dpo_proto_t lkd_proto
The protocol of the FIB for the lookup, and hence the protocol of the packet.
fib_node_index_t lkd_fib_index
The FIB, or interface from which to get a FIB, in which to perform the next lookup;.
lookup_input_t lkd_input
Switch to use src or dst address.