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", \ 109 lookup_input_t input,
110 lookup_table_t table,
115 lookup_input_t input,
116 lookup_table_t table,
lookup_input_t lkd_input
Switch to use src or dst address.
A representation of an MPLS label for imposition in the data-path.
lookup_cast_t_
Switch to use the packet's source or destination address for lookup.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
lookup_cast_t lkd_cast
Unicast of rmulticast FIB lookup.
u16 lkd_locks
Number of locks.
lookup_dpo_t * lookup_dpo_pool
pool of all MPLS Label DPOs
dpo_proto_t lkd_proto
The protocol of the FIB for the lookup, and hence the protocol of the packet.
lookup_input_t_
Switch to use the packet's source or destination address for lookup.
enum dpo_proto_t_ dpo_proto_t
Data path protocol.
enum lookup_cast_t_ lookup_cast_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...
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
static lookup_dpo_t * lookup_dpo_get(index_t index)
u8 * format_lookup_dpo(u8 *s, va_list *args)
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)
struct lookup_dpo_t lookup_dpo_t
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.
u32 fib_node_index_t
A typedef of a node index.
enum lookup_input_t_ lookup_input_t
Switch to use the packet's source or destination address for lookup.
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)
lookup_table_t_
Switch to use the packet's source or destination address for lookup.
void lookup_dpo_module_init(void)
lookup_table_t lkd_table
Switch to use the table index passed, or the table of the input interface.
CLIB_CACHE_LINE_ALIGN_MARK(cacheline0)
required for pool_get_aligned.
fib_node_index_t lkd_fib_index
The FIB, or interface from which to get a FIB, in which to perform the next lookup;.