48 #ifndef included_ip_lookup_h 49 #define included_ip_lookup_h
ip_interface_address_t * if_address_pool
Pool of addresses that are assigned to interfaces.
mhash_t address_to_if_address_index
Hash table mapping address to index in interface address pool.
u8 mcast_feature_arc_index
Feature arc indices.
u8 output_feature_arc_index
Aggregate type for a prefix.
enum ip_interface_address_flags_t_ ip_interface_address_flags_t
struct ip_lookup_main_t ip_lookup_main_t
u32 * classify_table_index_by_sw_if_index
First table index to use for this interface, ~0 => none.
static void ip_lookup_set_buffer_fib_index(u32 *fib_index_by_sw_if_index, vlib_buffer_t *b)
u8 local_next_by_ip_protocol[256]
Table mapping ip protocol to ip[46]-local node next index.
u8 * format_ip_flow_hash_config(u8 *s, va_list *args)
ip_interface_address_flags_t flags
const ip46_address_t zero_addr
#include <vnet/feature/feature.h>
ip_interface_address_flags_t_
u8 builtin_protocol_by_ip_protocol[256]
IP_BUILTIN_PROTOCOL_{TCP,UDP,ICMP,OTHER} by protocol in IP header.
u32 * if_address_pool_index_by_sw_if_index
Head of doubly linked list of interface addresses for each software interface.
vlib buffer structure definition and a few select access methods.
#define vec_elt(v, i)
Get vector value at index i.
u8 ucast_feature_arc_index
mhash_t prefix_to_if_prefix_index
Hash table mapping prefix to index in interface prefix pool.
ip_interface_prefix_key_t key
VLIB buffer representation.
u32 is_ip6
1 for ip6; 0 for ip4.
void ip_lookup_init(ip_lookup_main_t *lm, u32 ip_lookup_node_index)
ip_interface_prefix_t * if_prefix_pool
Pool of prefixes containing addresses assigned to interfaces.
vl_api_interface_index_t sw_if_index
u32 fib_result_n_bytes
Number of bytes in a fib result.
u32 next_this_sw_interface
format_function_t * format_address_and_length
Either format_ip4_address_and_length or format_ip6_address_and_length.
u32 prev_this_sw_interface