|
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) |
|
static uword | ip4_lookup_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int lookup_for_responses_to_locally_received_packets) |
|
static uword | ip4_lookup (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
| IPv4 lookup node. More...
|
|
static u8 * | format_ip4_lookup_trace (u8 *s, va_list *args) |
|
static uword | ip4_load_balance (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static u8 * | format_ip4_forward_next_trace (u8 *s, va_list *args) |
|
ip4_address_t * | ip4_interface_first_address (ip4_main_t *im, u32 sw_if_index, ip_interface_address_t **result_ia) |
|
static void | ip4_add_interface_routes (u32 sw_if_index, ip4_main_t *im, u32 fib_index, ip_interface_address_t *a) |
|
static void | ip4_del_interface_routes (ip4_main_t *im, u32 fib_index, ip4_address_t *address, u32 address_length) |
|
void | ip4_sw_interface_enable_disable (u32 sw_if_index, u32 is_enable) |
|
static clib_error_t * | ip4_add_del_interface_address_internal (vlib_main_t *vm, u32 sw_if_index, ip4_address_t *address, u32 address_length, u32 is_del) |
|
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) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_flow_classify, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_inacl, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_source_check_1, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_source_check_2, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_source_and_port_range_check_rx, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_policer_classify, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_ipsec, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_vpath, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_lookup, static) |
|
| VNET_IP4_UNICAST_FEATURE_INIT (ip4_drop, static) |
|
| VNET_IP4_MULTICAST_FEATURE_INIT (ip4_vpath_mc, static) |
|
| VNET_IP4_MULTICAST_FEATURE_INIT (ip4_lookup_mc, static) |
|
| VNET_IP4_MULTICAST_FEATURE_INIT (ip4_mc_drop, static) |
|
| VNET_IP4_TX_FEATURE_INIT (ip4_source_and_port_range_check_tx, static) |
|
| VNET_IP4_TX_FEATURE_INIT (interface_output, static) |
|
static clib_error_t * | ip4_feature_init (vlib_main_t *vm, ip4_main_t *im) |
|
static clib_error_t * | ip4_sw_interface_add_del (vnet_main_t *vnm, u32 sw_if_index, u32 is_add) |
|
| VNET_SW_INTERFACE_ADD_DEL_FUNCTION (ip4_sw_interface_add_del) |
|
clib_error_t * | ip4_lookup_init (vlib_main_t *vm) |
|
static u8 * | format_ip4_rewrite_trace (u8 *s, va_list *args) |
|
static uword | ip4_drop_or_punt (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, ip4_error_t error_code) |
|
static uword | ip4_drop (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | ip4_punt (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
u16 | ip4_tcp_udp_compute_checksum (vlib_main_t *vm, vlib_buffer_t *p0, ip4_header_t *ip0) |
|
static u32 | ip4_tcp_udp_validate_checksum (vlib_main_t *vm, vlib_buffer_t *p0) |
|
static uword | ip4_local (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
void | ip4_register_protocol (u32 protocol, u32 node_index) |
|
static clib_error_t * | show_ip_local_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static uword | ip4_arp_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int is_glean) |
|
static uword | ip4_arp (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static uword | ip4_glean (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
clib_error_t * | arp_notrace_init (vlib_main_t *vm) |
|
clib_error_t * | ip4_probe_neighbor (vlib_main_t *vm, ip4_address_t *dst, u32 sw_if_index) |
|
static uword | ip4_rewrite_inline (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame, int rewrite_for_locally_received_packets, int is_midchain) |
|
static uword | ip4_rewrite_transit (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
| IPv4 transit rewrite node. More...
|
|
static uword | ip4_rewrite_local (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
| IPv4 local rewrite node. More...
|
|
static uword | ip4_midchain (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
static clib_error_t * | add_del_interface_table (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
static uword | ip4_lookup_multicast (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
|
int | ip4_lookup_validate (ip4_address_t *a, u32 fib_index0) |
|
static clib_error_t * | test_lookup_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
int | vnet_set_ip4_flow_hash (u32 table_id, u32 flow_hash_config) |
|
static clib_error_t * | set_ip_flow_hash_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
int | vnet_set_ip4_classify_intfc (vlib_main_t *vm, u32 sw_if_index, u32 table_index) |
|
static clib_error_t * | set_ip_classify_command_fn (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd) |
|
IPv4 Forwarding.
This file contains the source code for IPv4 forwarding.
Definition in file ip4_forward.c.
IPv4 transit rewrite node.
- Node Identifier:
ip4-rewrite-transit
This is the IPv4 transit-rewrite node: decrement TTL, fix the ipv4 header checksum, fetch the ip adjacency, check the outbound mtu, apply the adjacency rewrite, and send pkts to the adjacency rewrite header's rewrite_next_index.
- Parameters
-
- Graph mechanics: buffer metadata, next index usage
Uses:
vnet_buffer(b)->ip.adj_index[VLIB_TX]
- the rewrite adjacency index
adj->lookup_next_index
- Must be IP_LOOKUP_NEXT_REWRITE or IP_LOOKUP_NEXT_ARP, otherwise the packet will be dropped.
adj->rewrite_header
- Rewrite string length, rewrite string, next_index
Sets:
b->current_data, b->current_length
- Updated net of applying the rewrite string
Next Indices:
adj->rewrite_header.next_index
or error-drop
Definition at line 2598 of file ip4_forward.c.