FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
ip4_map.c File Reference
+ Include dependency graph for ip4_map.c:

Go to the source code of this file.

Enumerations

enum  ip4_map_next_e {
  IP4_MAP_NEXT_IP6_LOOKUP, IP4_MAP_NEXT_IP6_REWRITE, IP4_MAP_NEXT_ICMP_ERROR, IP4_MAP_NEXT_DROP,
  IP4_MAP_N_NEXT
}
 

Functions

static_always_inline u16 ip4_map_port_and_security_check (map_domain_t *d, vlib_buffer_t *b0, u8 *error)
 
static_always_inline u32 ip4_map_vtcfl (ip4_header_t *ip4, vlib_buffer_t *p)
 
static void ip4_map_decrement_ttl (ip4_header_t *ip, u8 *error)
 
static u32 ip4_map_fragment (vlib_main_t *vm, u32 bi, u16 mtu, bool df, u32 **buffers, u8 *error)
 
static uword ip4_map (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
 
 VNET_FEATURE_INIT (ip4_map_feature, static)
 

Variables

vlib_node_registration_t ip4_map_node
 (constructor) VLIB_REGISTER_NODE (ip4_map_node) More...
 

Enumeration Type Documentation

◆ ip4_map_next_e

Enumerator
IP4_MAP_NEXT_IP6_LOOKUP 
IP4_MAP_NEXT_IP6_REWRITE 
IP4_MAP_NEXT_ICMP_ERROR 
IP4_MAP_NEXT_DROP 
IP4_MAP_N_NEXT 

Definition at line 23 of file ip4_map.c.

Function Documentation

◆ ip4_map()

static uword ip4_map ( vlib_main_t vm,
vlib_node_runtime_t node,
vlib_frame_t frame 
)
static

Definition at line 147 of file ip4_map.c.

+ Here is the call graph for this function:

◆ ip4_map_decrement_ttl()

static void ip4_map_decrement_ttl ( ip4_header_t ip,
u8 error 
)
inlinestatic

Definition at line 85 of file ip4_map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip4_map_fragment()

static u32 ip4_map_fragment ( vlib_main_t vm,
u32  bi,
u16  mtu,
bool  df,
u32 **  buffers,
u8 error 
)
static

Definition at line 104 of file ip4_map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip4_map_port_and_security_check()

static_always_inline u16 ip4_map_port_and_security_check ( map_domain_t d,
vlib_buffer_t b0,
u8 error 
)

Definition at line 35 of file ip4_map.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ip4_map_vtcfl()

static_always_inline u32 ip4_map_vtcfl ( ip4_header_t ip4,
vlib_buffer_t p 
)

Definition at line 70 of file ip4_map.c.

+ Here is the caller graph for this function:

◆ VNET_FEATURE_INIT()

VNET_FEATURE_INIT ( ip4_map_feature  ,
static   
)

Variable Documentation

◆ ip4_map_node

Initial value:
= {
.function = ip4_map,
.name = "ip4-map",
.vector_size = sizeof(u32),
.format_trace = format_map_trace,
.n_errors = MAP_N_ERROR,
.error_counters = map_error_counters,
.n_next_nodes = IP4_MAP_N_NEXT,
.next_nodes = {
[IP4_MAP_NEXT_IP6_LOOKUP] = "ip6-lookup",
[IP4_MAP_NEXT_IP6_REWRITE] = "ip6-load-balance",
[IP4_MAP_NEXT_ICMP_ERROR] = "ip4-icmp-error",
[IP4_MAP_NEXT_DROP] = "error-drop",
},
}

(constructor) VLIB_REGISTER_NODE (ip4_map_node)

Definition at line 337 of file ip4_map.c.

IP4_MAP_NEXT_IP6_REWRITE
@ IP4_MAP_NEXT_IP6_REWRITE
Definition: ip4_map.c:27
IP4_MAP_NEXT_IP6_LOOKUP
@ IP4_MAP_NEXT_IP6_LOOKUP
Definition: ip4_map.c:25
IP4_MAP_N_NEXT
@ IP4_MAP_N_NEXT
Definition: ip4_map.c:31
VLIB_NODE_TYPE_INTERNAL
@ VLIB_NODE_TYPE_INTERNAL
Definition: node.h:72
IP4_MAP_NEXT_DROP
@ IP4_MAP_NEXT_DROP
Definition: ip4_map.c:30
IP4_MAP_NEXT_ICMP_ERROR
@ IP4_MAP_NEXT_ICMP_ERROR
Definition: ip4_map.c:29
ip4_map
static uword ip4_map(vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame)
Definition: ip4_map.c:147
u32
unsigned int u32
Definition: types.h:88
type
vl_api_fib_path_type_t type
Definition: fib_types.api:123
format_map_trace
u8 * format_map_trace(u8 *s, va_list *args)
Definition: map.c:1204