FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
ct6.h File Reference
+ Include dependency graph for ct6.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ct6_session_t
 
struct  ct6_main_t
 

Functions

typedef CLIB_PACKED (struct { union { struct { ip6_address_t src;ip6_address_t dst;u16 sport;u16 dport;u8 proto;};u64 as_u64[6];};}) ct6_session_key_t
 
ct6_session_tct6_create_or_recycle_session (ct6_main_t *cmp, clib_bihash_kv_48_8_t *kvpp, f64 now, u32 my_thread_index, u32 *recyclep, u32 *createp)
 
static void ct6_lru_remove (ct6_main_t *cmp, ct6_session_t *s0)
 
static void ct6_lru_add (ct6_main_t *cmp, ct6_session_t *s0, f64 now)
 
static void ct6_update_session_hit (ct6_main_t *cmp, ct6_session_t *s0, f64 now)
 

Variables

ct6_main_t ct6_main
 
vlib_node_registration_t ct6_out2in_node
 (constructor) VLIB_REGISTER_NODE (ct6_out2in_node) More...
 
vlib_node_registration_t ct6_in2out_node
 (constructor) VLIB_REGISTER_NODE (ct6_in2out_node) More...
 
format_function_t format_ct6_session
 

Function Documentation

◆ CLIB_PACKED()

typedef CLIB_PACKED ( struct { union { struct { ip6_address_t src;ip6_address_t dst;u16 sport;u16 dport;u8 proto;};u64 as_u64[6];};}  )

◆ ct6_create_or_recycle_session()

ct6_session_t* ct6_create_or_recycle_session ( ct6_main_t cmp,
clib_bihash_kv_48_8_t kvpp,
f64  now,
u32  my_thread_index,
u32 recyclep,
u32 createp 
)

Definition at line 78 of file ct6_in2out.c.

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

◆ ct6_lru_add()

static void ct6_lru_add ( ct6_main_t cmp,
ct6_session_t s0,
f64  now 
)
inlinestatic

Definition at line 130 of file ct6.h.

+ Here is the caller graph for this function:

◆ ct6_lru_remove()

static void ct6_lru_remove ( ct6_main_t cmp,
ct6_session_t s0 
)
inlinestatic

Definition at line 97 of file ct6.h.

+ Here is the caller graph for this function:

◆ ct6_update_session_hit()

static void ct6_update_session_hit ( ct6_main_t cmp,
ct6_session_t s0,
f64  now 
)
inlinestatic

Definition at line 165 of file ct6.h.

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

Variable Documentation

◆ ct6_in2out_node

vlib_node_registration_t ct6_in2out_node
Initial value:
=
{
.name = "ct6-in2out",
.vector_size = sizeof (u32),
.format_trace = format_ct6_in2out_trace,
.error_strings = ct6_in2out_error_strings,
.n_next_nodes = CT6_IN2OUT_N_NEXT,
.next_nodes = {
[CT6_IN2OUT_NEXT_DROP] = "error-drop",
},
.unformat_buffer = unformat_ethernet_header,
}
static char * ct6_in2out_error_strings[]
Definition: ct6_in2out.c:63
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67
static u8 * format_ct6_in2out_trace(u8 *s, va_list *args)
Definition: ct6_in2out.c:34
uword unformat_ethernet_header(unformat_input_t *input, va_list *args)
Definition: format.c:290

(constructor) VLIB_REGISTER_NODE (ct6_in2out_node)

Definition at line 350 of file ct6_in2out.c.

◆ ct6_main

ct6_main_t ct6_main

Definition at line 33 of file ct6.c.

◆ ct6_out2in_node

vlib_node_registration_t ct6_out2in_node
Initial value:
=
{
.name = "ct6-out2in",
.vector_size = sizeof (u32),
.format_trace = format_ct6_out2in_trace,
.error_strings = ct6_out2in_error_strings,
.n_next_nodes = CT6_OUT2IN_N_NEXT,
.next_nodes = {
[CT6_OUT2IN_NEXT_DROP] = "error-drop",
},
}
static char * ct6_out2in_error_strings[]
Definition: ct6_out2in.c:63
unsigned int u32
Definition: types.h:88
vl_api_fib_path_type_t type
Definition: fib_types.api:123
#define ARRAY_LEN(x)
Definition: clib.h:67
static u8 * format_ct6_out2in_trace(u8 *s, va_list *args)
Definition: ct6_out2in.c:34

(constructor) VLIB_REGISTER_NODE (ct6_out2in_node)

Definition at line 252 of file ct6_out2in.c.

◆ format_ct6_session

format_function_t format_ct6_session

Definition at line 89 of file ct6.h.