|
FD.io VPP
v21.10.1-2-g0a485f517
Vector Packet Processing
|
Go to the documentation of this file.
41 #include <vpp/vnet/config.h>
46 #ifdef VPP_IP_FIB_MTRIE_16
49 #define ip4_fibs ip4_fib_16s
50 #define ip4_fib_table_lookup ip4_fib_16_table_lookup
51 #define ip4_fib_table_lookup_exact_match ip4_fib_16_table_lookup_exact_match
52 #define ip4_fib_table_entry_remove ip4_fib_16_table_entry_remove
53 #define ip4_fib_table_entry_insert ip4_fib_16_table_entry_insert
54 #define ip4_fib_table_fwding_dpo_update ip4_fib_16_table_fwding_dpo_update
55 #define ip4_fib_table_fwding_dpo_remove ip4_fib_16_table_fwding_dpo_remove
56 #define ip4_fib_table_lookup_lb ip4_fib_16_table_lookup_lb
57 #define ip4_fib_table_walk ip4_fib_16_table_walk
58 #define ip4_fib_table_sub_tree_walk ip4_fib_16_table_sub_tree_walk
59 #define ip4_fib_table_init ip4_fib_16_table_init
60 #define ip4_fib_table_free ip4_fib_16_table_free
61 #define ip4_mtrie_memory_usage ip4_mtrie_16_memory_usage
62 #define format_ip4_mtrie format_ip4_mtrie_16
67 #define ip4_fibs ip4_fib_8s
68 #define ip4_fib_table_lookup ip4_fib_8_table_lookup
69 #define ip4_fib_table_lookup_exact_match ip4_fib_8_table_lookup_exact_match
70 #define ip4_fib_table_entry_remove ip4_fib_8_table_entry_remove
71 #define ip4_fib_table_entry_insert ip4_fib_8_table_entry_insert
72 #define ip4_fib_table_fwding_dpo_update ip4_fib_8_table_fwding_dpo_update
73 #define ip4_fib_table_fwding_dpo_remove ip4_fib_8_table_fwding_dpo_remove
74 #define ip4_fib_table_lookup_lb ip4_fib_8_table_lookup_lb
75 #define ip4_fib_table_walk ip4_fib_8_table_walk
76 #define ip4_fib_table_sub_tree_walk ip4_fib_8_table_sub_tree_walk
77 #define ip4_fib_table_init ip4_fib_8_table_init
78 #define ip4_fib_table_free ip4_fib_8_table_free
79 #define ip4_mtrie_memory_usage ip4_mtrie_8_memory_usage
80 #define format_ip4_mtrie format_ip4_mtrie_8
135 #ifdef VPP_IP_FIB_MTRIE_16
vnet_interface_main_t * im
ip4_main_t ip4_main
Global ip4 main structure.
u32 ip4_fib_table_get_index_for_sw_if_index(u32 sw_if_index)
#define pool_elt_at_index(p, i)
Returns pointer to element at given index.
ip4_mtrie_8_t mtrie
Mtrie for fast lookups.
ip4_fib_8_t ip4_fib_t
The IPv4 FIB.
The mutiway-TRIE with a 8-8-8-8 stride.
#define ip4_fib_table_lookup_lb
static u32 ip4_mtrie_leaf_get_adj_index(ip4_mtrie_leaf_t n)
From the stored slot value extract the LB index value.
static ip4_mtrie_leaf_t ip4_mtrie_16_lookup_step_one(const ip4_mtrie_16_t *m, const ip4_address_t *dst_address)
Lookup step number 1.
#define vec_elt(v, i)
Get vector value at index i.
u32 ip4_fib_table_find_or_create_and_lock(u32 table_id, fib_source_t src)
Get or create an IPv4 fib.
u32 index_t
A Data-Path Object is an object that represents actions that are applied to packets are they are swit...
#define static_always_inline
u32 ip4_fib_table_create_and_lock(fib_source_t src)
static_always_inline void ip4_fib_forwarding_lookup_x4(u32 fib_index0, u32 fib_index1, u32 fib_index2, u32 fib_index3, const ip4_address_t *addr0, const ip4_address_t *addr1, const ip4_address_t *addr2, const ip4_address_t *addr3, index_t *lb0, index_t *lb1, index_t *lb2, index_t *lb3)
static ip4_fib_t * ip4_fib_get(u32 index)
Get the FIB at the given index.
static_always_inline void ip4_fib_forwarding_lookup_x2(u32 fib_index0, u32 fib_index1, const ip4_address_t *addr0, const ip4_address_t *addr1, index_t *lb0, index_t *lb1)
static ip4_mtrie_leaf_t ip4_mtrie_8_lookup_step(ip4_mtrie_leaf_t current_leaf, const ip4_address_t *dst_address, u32 dst_address_byte_index)
static u32 ip4_fib_lookup(ip4_main_t *im, u32 sw_if_index, ip4_address_t *dst)
static ip4_mtrie_leaf_t ip4_mtrie_16_lookup_step(ip4_mtrie_leaf_t current_leaf, const ip4_address_t *dst_address, u32 dst_address_byte_index)
Lookup step.
static ip4_mtrie_leaf_t ip4_mtrie_8_lookup_step_one(const ip4_mtrie_8_t *m, const ip4_address_t *dst_address)
static u32 ip4_fib_index_from_table_id(u32 table_id)
void ip4_fib_table_destroy(u32 fib_index)
enum fib_source_t_ fib_source_t
The different sources that can create a route.
u8 * format_ip4_fib_table_memory(u8 *s, va_list *args)
static index_t ip4_fib_forwarding_lookup(u32 fib_index, const ip4_address_t *addr)
The mutiway-TRIE with a 16-8-8 stride.
vl_api_interface_index_t sw_if_index