Go to the source code of this file.
|
#define | IP_DF 0x4000 /* don't fragment */ |
|
|
typedef struct ip4_mfib_t | ip4_mfib_t |
|
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_table_bind_function_t) (struct ip4_main_t *im, uword opaque, u32 sw_if_index, u32 new_fib_index, u32 old_fib_index) |
|
typedef struct ip4_main_t | ip4_main_t |
| IPv4 main type. More...
|
|
|
static uword | ip4_destination_matches_route (const ip4_main_t *im, const ip4_address_t *key, const ip4_address_t *dest, uword dest_length) |
|
static uword | ip4_destination_matches_interface (ip4_main_t *im, ip4_address_t *key, ip_interface_address_t *ia) |
|
static int | ip4_src_address_for_packet (ip_lookup_main_t *lm, u32 sw_if_index, ip4_address_t *src) |
|
static 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) |
|
ip4_address_t * | ip4_interface_first_address (ip4_main_t *im, u32 sw_if_index, ip_interface_address_t **result_ia) |
|
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) |
|
void | ip4_sw_interface_enable_disable (u32 sw_if_index, u32 is_enable) |
|
int | ip4_address_compare (ip4_address_t *a1, ip4_address_t *a2) |
|
clib_error_t * | ip4_probe_neighbor (vlib_main_t *vm, ip4_address_t *dst, u32 sw_if_index) |
|
clib_error_t * | ip4_set_arp_limit (u32 arp_limit) |
|
uword | ip4_udp_register_listener (vlib_main_t *vm, u16 dst_port, u32 next_node_index) |
|
void | ip4_icmp_register_type (vlib_main_t *vm, icmp4_type_t type, u32 node_index) |
|
u16 | ip4_tcp_udp_compute_checksum (vlib_main_t *vm, vlib_buffer_t *p0, ip4_header_t *ip0) |
|
void | ip4_register_protocol (u32 protocol, u32 node_index) |
|
int | vnet_set_ip4_flow_hash (u32 table_id, flow_hash_config_t flow_hash_config) |
|
int | vnet_set_ip4_classify_intfc (vlib_main_t *vm, u32 sw_if_index, u32 table_index) |
|
void | ip4_punt_policer_add_del (u8 is_add, u32 policer_index) |
|
void | ip4_punt_redirect_add (u32 rx_sw_if_index, u32 tx_sw_if_index, ip46_address_t *nh) |
|
void | ip4_punt_redirect_del (u32 rx_sw_if_index) |
|
static u32 | ip4_compute_flow_hash (const ip4_header_t *ip, flow_hash_config_t flow_hash_config) |
|
void | ip4_forward_next_trace (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, vlib_rx_or_tx_t which_adj_index) |
|
u8 * | format_ip4_forward_next_trace (u8 *s, va_list *args) |
|
u32 | ip4_tcp_udp_validate_checksum (vlib_main_t *vm, vlib_buffer_t *p0) |
|
static void * | vlib_buffer_push_ip4 (vlib_main_t *vm, vlib_buffer_t *b, ip4_address_t *src, ip4_address_t *dst, int proto, u8 csum_offload) |
| Push IPv4 header to buffer. More...
|
|
#define IP_DF 0x4000 /* don't fragment */ |
Definition at line 64 of file ip4.h.
IPv4 main type.
State of IPv4 VPP processing including:
- FIBs
- Feature indices used in feature topological sort
- Feature node run time references
typedef void( ip4_table_bind_function_t) (struct ip4_main_t *im, uword opaque, u32 sw_if_index, u32 new_fib_index, u32 old_fib_index) |
Definition at line 77 of file ip4.h.
u8* format_ip4_forward_next_trace |
( |
u8 * |
s, |
|
|
va_list * |
args |
|
) |
| |
void ip4_punt_policer_add_del |
( |
u8 |
is_add, |
|
|
u32 |
policer_index |
|
) |
| |
void ip4_punt_redirect_add |
( |
u32 |
rx_sw_if_index, |
|
|
u32 |
tx_sw_if_index, |
|
|
ip46_address_t * |
nh |
|
) |
| |
void ip4_punt_redirect_del |
( |
u32 |
rx_sw_if_index | ) |
|
void ip4_register_protocol |
( |
u32 |
protocol, |
|
|
u32 |
node_index |
|
) |
| |
void ip4_sw_interface_enable_disable |
( |
u32 |
sw_if_index, |
|
|
u32 |
is_enable |
|
) |
| |
Push IPv4 header to buffer.
This does not support fragmentation.
- Parameters
-
vm | - vlib_main |
b | - buffer to write the header to |
src | - source IP |
dst | - destination IP |
prot | - payload proto |
- Returns
- - pointer to start of IP header
Definition at line 345 of file ip4.h.
int vnet_set_ip4_classify_intfc |
( |
vlib_main_t * |
vm, |
|
|
u32 |
sw_if_index, |
|
|
u32 |
table_index |
|
) |
| |
(constructor) VLIB_REGISTER_NODE (ip4_arp_node)
Definition at line 1789 of file ip4_forward.c.
(constructor) VLIB_REGISTER_NODE (ip4_glean_node)
Definition at line 1804 of file ip4_forward.c.
Global ip4 input node.
Errors get attached to ip4 input node.
Global ip4 input node.
Definition at line 277 of file ip4_input.c.
(constructor) VLIB_REGISTER_NODE (ip4_local_node)
Definition at line 1462 of file ip4_forward.c.
(constructor) VLIB_REGISTER_NODE (ip4_lookup_node)
Definition at line 103 of file ip4_forward.c.
(constructor) VLIB_REGISTER_NODE (ip4_midchain_node)
Definition at line 2464 of file ip4_forward.c.
(constructor) VLIB_REGISTER_NODE (ip4_rewrite_mcast_node)
Definition at line 2444 of file ip4_forward.c.
(constructor) VLIB_REGISTER_NODE (ip4_rewrite_node)
Definition at line 2429 of file ip4_forward.c.