![]() |
FD.io VPP
v21.01-8-g9330de53e
Vector Packet Processing
|
Deterministic NAT (CGN) inside to outside translation. More...
Include dependency graph for det44_in2out.c:Go to the source code of this file.
Data Structures | |
| struct | det44_in2out_trace_t |
Macros | |
| #define | foreach_det44_in2out_error |
Enumerations | |
| enum | det44_in2out_next_t { DET44_IN2OUT_NEXT_LOOKUP, DET44_IN2OUT_NEXT_DROP, DET44_IN2OUT_NEXT_ICMP_ERROR, DET44_IN2OUT_N_NEXT } |
| enum | det44_in2out_error_t { DET44_IN2OUT_N_ERROR } |
Functions | |
| static u8 * | format_det44_in2out_trace (u8 *s, va_list *args) |
| u32 | icmp_match_in2out_det (vlib_node_runtime_t *node, u32 thread_index, vlib_buffer_t *b0, ip4_header_t *ip0, ip4_address_t *addr, u16 *port, u32 *fib_index, nat_protocol_t *proto, void *d, void *e, u8 *dont_translate) |
| Get address and port values to be used for ICMP packet translation and create session if needed. More... | |
| u32 | det44_icmp_in2out (vlib_buffer_t *b0, ip4_header_t *ip0, icmp46_header_t *icmp0, u32 sw_if_index0, u32 rx_fib_index0, vlib_node_runtime_t *node, u32 next0, u32 thread_index, void *d, void *e) |
| VLIB_NODE_FN() | det44_in2out_node (vlib_main_t *vm, vlib_node_runtime_t *node, vlib_frame_t *frame) |
Variables | |
| static char * | det44_in2out_error_strings [] |
| vlib_node_registration_t | det44_in2out_node |
| (constructor) VLIB_REGISTER_NODE (det44_in2out_node) More... | |
Deterministic NAT (CGN) inside to outside translation.
Definition in file det44_in2out.c.
| #define foreach_det44_in2out_error |
Definition at line 50 of file det44_in2out.c.
| enum det44_in2out_error_t |
| Enumerator | |
|---|---|
| DET44_IN2OUT_N_ERROR | |
Definition at line 57 of file det44_in2out.c.
| enum det44_in2out_next_t |
| Enumerator | |
|---|---|
| DET44_IN2OUT_NEXT_LOOKUP | |
| DET44_IN2OUT_NEXT_DROP | |
| DET44_IN2OUT_NEXT_ICMP_ERROR | |
| DET44_IN2OUT_N_NEXT | |
Definition at line 35 of file det44_in2out.c.
| u32 det44_icmp_in2out | ( | vlib_buffer_t * | b0, |
| ip4_header_t * | ip0, | ||
| icmp46_header_t * | icmp0, | ||
| u32 | sw_if_index0, | ||
| u32 | rx_fib_index0, | ||
| vlib_node_runtime_t * | node, | ||
| u32 | next0, | ||
| u32 | thread_index, | ||
| void * | d, | ||
| void * | e | ||
| ) |
Definition at line 255 of file det44_in2out.c.
Here is the call graph for this function:
Here is the caller graph for this function:| VLIB_NODE_FN() det44_in2out_node | ( | vlib_main_t * | vm, |
| vlib_node_runtime_t * | node, | ||
| vlib_frame_t * | frame | ||
| ) |
Definition at line 72 of file det44_in2out.c.
| u32 icmp_match_in2out_det | ( | vlib_node_runtime_t * | node, |
| u32 | thread_index, | ||
| vlib_buffer_t * | b0, | ||
| ip4_header_t * | ip0, | ||
| ip4_address_t * | addr, | ||
| u16 * | port, | ||
| u32 * | fib_index, | ||
| nat_protocol_t * | proto, | ||
| void * | d, | ||
| void * | e, | ||
| u8 * | dont_translate | ||
| ) |
Get address and port values to be used for ICMP packet translation and create session if needed.
| [in,out] | node | NAT node runtime |
| [in] | thread_index | thread index |
| [in,out] | b0 | buffer containing packet to be translated |
| [in,out] | ip0 | ip header |
| [out] | p_proto | protocol used for matching |
| [out] | p_value | address and port after NAT translation |
| [out] | p_dont_translate | if packet should not be translated |
| d | optional parameter | |
| e | optional parameter |
Definition at line 100 of file det44_in2out.c.
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Definition at line 65 of file det44_in2out.c.
| vlib_node_registration_t det44_in2out_node |
(constructor) VLIB_REGISTER_NODE (det44_in2out_node)
Definition at line 1015 of file det44_in2out.c.