FD.io VPP
v16.06
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | ip4_fib_t |
struct | ip4_add_del_route_callback_t |
struct | ip4_add_del_interface_address_callback_t |
struct | ip4_main_t |
struct | ip4_add_del_route_args_t |
Macros | |
#define | IP4_ROUTE_FLAG_ADD (0 << 0) |
#define | IP4_ROUTE_FLAG_DEL (1 << 0) |
#define | IP4_ROUTE_FLAG_TABLE_ID (0 << 1) |
#define | IP4_ROUTE_FLAG_FIB_INDEX (1 << 1) |
#define | IP4_ROUTE_FLAG_KEEP_OLD_ADJACENCY (1 << 2) |
#define | IP4_ROUTE_FLAG_NO_REDISTRIBUTE (1 << 3) |
#define | IP4_ROUTE_FLAG_NOT_LAST_IN_GROUP (1 << 4) |
#define | IP4_ROUTE_FLAG_NEIGHBOR (1 << 5) |
Typedefs | |
typedef struct ip4_fib_t | ip4_fib_t |
typedef void( | ip4_add_del_route_function_t) (struct ip4_main_t *im, uword opaque, ip4_fib_t *fib, u32 flags, ip4_address_t *address, u32 address_length, void *old_result, void *new_result) |
typedef void( | ip4_add_del_interface_address_function_t) (struct ip4_main_t *im, uword opaque, u32 sw_if_index, ip4_address_t *address, u32 address_length, u32 if_address_index, u32 is_del) |
typedef struct ip4_main_t | ip4_main_t |
Variables | |
ip4_main_t | ip4_main |
vlib_node_registration_t | ip4_input_node |
(constructor) VLIB_REGISTER_NODE (ip4_input_node) More... | |
vlib_node_registration_t | ip4_lookup_node |
(constructor) VLIB_REGISTER_NODE (ip4_lookup_node) More... | |
vlib_node_registration_t | ip4_rewrite_node |
(constructor) VLIB_REGISTER_NODE (ip4_rewrite_node) More... | |
vlib_node_registration_t | ip4_rewrite_local_node |
(constructor) VLIB_REGISTER_NODE (ip4_rewrite_local_node) More... | |
vlib_node_registration_t | ip4_arp_node |
(constructor) VLIB_REGISTER_NODE (ip4_arp_node) More... | |
serialize_function_t | serialize_vnet_ip4_main |
serialize_function_t | unserialize_vnet_ip4_main |
typedef void( ip4_add_del_interface_address_function_t) (struct ip4_main_t *im, uword opaque, u32 sw_if_index, ip4_address_t *address, u32 address_length, u32 if_address_index, u32 is_del) |
typedef void( ip4_add_del_route_function_t) (struct ip4_main_t *im, uword opaque, ip4_fib_t *fib, u32 flags, ip4_address_t *address, u32 address_length, void *old_result, void *new_result) |
typedef struct ip4_main_t ip4_main_t |
ip4_fib_t* find_ip4_fib_by_table_index_or_id | ( | ip4_main_t * | im, |
u32 | table_index_or_id, | ||
u32 | flags | ||
) |
Get or create an IPv4 fib.
Get or create an IPv4 fib with the provided fib ID or index. The fib ID is a possibly-sparse user-defined value while the fib index defines the position of the fib in the fib vector.
im | ip4_main pointer. |
table_index_or_id | The table index if IP4_ROUTE_FLAG_FIB_INDEX bit is set in flags . Otherwise, when set to ~0 , an arbitrary and unused fib ID is picked and can be retrieved with ret->table_id . Otherwise, the fib ID to be used to retrieve or create the desired fib. |
flags | Indicates whether table_index_or_id is the fib index or ID. When the bit IP4_ROUTE_FLAG_FIB_INDEX is set, table_index_or_id is considered as the fib index, and the fib ID otherwise. |
Definition at line 98 of file ip4_forward.c.
clib_error_t* ip4_add_del_interface_address | ( | vlib_main_t * | vm, |
u32 | sw_if_index, | ||
ip4_address_t * | address, | ||
u32 | address_length, | ||
u32 | is_del | ||
) |
Definition at line 1239 of file ip4_forward.c.
void ip4_add_del_route | ( | ip4_main_t * | im, |
ip4_add_del_route_args_t * | args | ||
) |
Definition at line 196 of file ip4_forward.c.
void ip4_add_del_route_next_hop | ( | ip4_main_t * | im, |
u32 | flags, | ||
ip4_address_t * | dst_address, | ||
u32 | dst_address_length, | ||
ip4_address_t * | next_hop, | ||
u32 | next_hop_sw_if_index, | ||
u32 | next_hop_weight, | ||
u32 | adj_index, | ||
u32 | explicit_fib_index | ||
) |
Definition at line 274 of file ip4_forward.c.
int ip4_address_compare | ( | ip4_address_t * | a1, |
ip4_address_t * | a2 | ||
) |
void ip4_adjacency_set_interface_route | ( | vnet_main_t * | vnm, |
ip_adjacency_t * | adj, | ||
u32 | sw_if_index, | ||
u32 | if_address_index | ||
) |
Definition at line 1005 of file ip4_forward.c.
always_inline u32 ip4_compute_flow_hash | ( | ip4_header_t * | ip, |
u32 | flow_hash_config | ||
) |
void ip4_delete_matching_routes | ( | ip4_main_t * | im, |
u32 | table_index_or_table_id, | ||
u32 | flags, | ||
ip4_address_t * | address, | ||
u32 | address_length | ||
) |
Definition at line 602 of file ip4_forward.c.
always_inline uword ip4_destination_matches_interface | ( | ip4_main_t * | im, |
ip4_address_t * | key, | ||
ip_interface_address_t * | ia | ||
) |
always_inline uword ip4_destination_matches_route | ( | ip4_main_t * | im, |
ip4_address_t * | key, | ||
ip4_address_t * | dest, | ||
uword | dest_length | ||
) |
always_inline u32 ip4_fib_lookup | ( | ip4_main_t * | im, |
u32 | sw_if_index, | ||
ip4_address_t * | dst | ||
) |
always_inline u32 ip4_fib_lookup_buffer | ( | ip4_main_t * | im, |
u32 | fib_index, | ||
ip4_address_t * | dst, | ||
vlib_buffer_t * | b | ||
) |
u32 ip4_fib_lookup_with_table | ( | ip4_main_t * | im, |
u32 | fib_index, | ||
ip4_address_t * | dst, | ||
u32 | disable_default_route | ||
) |
void ip4_foreach_matching_route | ( | ip4_main_t * | im, |
u32 | table_index_or_table_id, | ||
u32 | flags, | ||
ip4_address_t * | address, | ||
u32 | address_length, | ||
ip4_address_t ** | results, | ||
u8 ** | result_lengths | ||
) |
Definition at line 488 of file ip4_forward.c.
void* ip4_get_route | ( | ip4_main_t * | im, |
u32 | fib_index_or_table_id, | ||
u32 | flags, | ||
u8 * | address, | ||
u32 | address_length | ||
) |
Definition at line 469 of file ip4_forward.c.
void ip4_icmp_register_type | ( | vlib_main_t * | vm, |
icmp4_type_t | type, | ||
u32 | node_index | ||
) |
always_inline ip4_address_t* ip4_interface_address_matching_destination | ( | ip4_main_t * | im, |
ip4_address_t * | dst, | ||
u32 | sw_if_index, | ||
ip_interface_address_t ** | result_ia | ||
) |
void ip4_maybe_remap_adjacencies | ( | ip4_main_t * | im, |
u32 | table_index_or_table_id, | ||
u32 | flags | ||
) |
Definition at line 522 of file ip4_forward.c.
void ip4_mtrie_init | ( | ip4_fib_mtrie_t * | m | ) |
Definition at line 353 of file ip4_mtrie.c.
clib_error_t* ip4_probe_neighbor | ( | vlib_main_t * | vm, |
ip4_address_t * | dst, | ||
u32 | sw_if_index | ||
) |
Definition at line 2383 of file ip4_forward.c.
Definition at line 2125 of file ip4_forward.c.
clib_error_t* ip4_set_arp_limit | ( | u32 | arp_limit | ) |
always_inline void ip4_src_address_for_packet | ( | ip4_main_t * | im, |
vlib_buffer_t * | p, | ||
ip4_address_t * | src, | ||
u32 | sw_if_index | ||
) |
u16 ip4_tcp_udp_compute_checksum | ( | vlib_main_t * | vm, |
vlib_buffer_t * | p0, | ||
ip4_header_t * | ip0 | ||
) |
Definition at line 1685 of file ip4_forward.c.
uword ip4_udp_register_listener | ( | vlib_main_t * | vm, |
u16 | dst_port, | ||
u32 | next_node_index | ||
) |
always_inline uword ip4_unaligned_destination_matches_route | ( | ip4_main_t * | im, |
ip4_address_t * | key, | ||
ip4_address_t * | dest, | ||
uword | dest_length | ||
) |
int vnet_set_ip4_classify_intfc | ( | vlib_main_t * | vm, |
u32 | sw_if_index, | ||
u32 | table_index | ||
) |
Definition at line 3239 of file ip4_forward.c.
vlib_node_registration_t ip4_arp_node |
(constructor) VLIB_REGISTER_NODE (ip4_arp_node)
Definition at line 2341 of file ip4_forward.c.
vlib_node_registration_t ip4_input_node |
(constructor) VLIB_REGISTER_NODE (ip4_input_node)
Definition at line 353 of file ip4_input.c.
vlib_node_registration_t ip4_lookup_node |
(constructor) VLIB_REGISTER_NODE (ip4_lookup_node)
Definition at line 1360 of file ip4_forward.c.
ip4_main_t ip4_main |
Definition at line 1394 of file ip4_forward.c.
vlib_node_registration_t ip4_rewrite_local_node |
(constructor) VLIB_REGISTER_NODE (ip4_rewrite_local_node)
Definition at line 2792 of file ip4_forward.c.
vlib_node_registration_t ip4_rewrite_node |
(constructor) VLIB_REGISTER_NODE (ip4_rewrite_node)
Definition at line 2778 of file ip4_forward.c.
serialize_function_t serialize_vnet_ip4_main |
serialize_function_t unserialize_vnet_ip4_main |