FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
dslite.h File Reference
+ Include dependency graph for dslite.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  dslite_session_key_t
 
struct  dslite_b4_t
 
struct  dslite_per_thread_data_t
 
struct  dslite_main_t
 
struct  dslite_trace_t
 
struct  dslite_ce_trace_t
 

Macros

#define foreach_dslite_error
 

Enumerations

enum  dslite_error_t { DSLITE_N_ERROR }
 

Functions

typedef CLIB_PACKED (struct { snat_session_key_t out2in;dslite_session_key_t in2out;u32 per_b4_index;u32 per_b4_list_head_index;f64 last_heard;u64 total_bytes;u32 total_pkts;}) dslite_session_t
 
void dslite_init (vlib_main_t *vm)
 
void dslite_set_ce (dslite_main_t *dm, u8 set)
 
int dslite_set_aftr_ip6_addr (dslite_main_t *dm, ip6_address_t *addr)
 
int dslite_set_b4_ip6_addr (dslite_main_t *dm, ip6_address_t *addr)
 
int dslite_set_aftr_ip4_addr (dslite_main_t *dm, ip4_address_t *addr)
 
int dslite_set_b4_ip4_addr (dslite_main_t *dm, ip4_address_t *addr)
 
int dslite_add_del_pool_addr (dslite_main_t *dm, ip4_address_t *addr, u8 is_add)
 
u8format_dslite_trace (u8 *s, va_list *args)
 
u8format_dslite_ce_trace (u8 *s, va_list *args)
 

Variables

dslite_main_t dslite_main
 
vlib_node_registration_t dslite_in2out_node
 (constructor) VLIB_REGISTER_NODE (dslite_in2out_node) More...
 
vlib_node_registration_t dslite_in2out_slowpath_node
 (constructor) VLIB_REGISTER_NODE (dslite_in2out_slowpath_node) More...
 
vlib_node_registration_t dslite_out2in_node
 (constructor) VLIB_REGISTER_NODE (dslite_out2in_node) More...
 
vlib_node_registration_t dslite_ce_encap_node
 (constructor) VLIB_REGISTER_NODE (dslite_ce_encap_node) More...
 
vlib_node_registration_t dslite_ce_decap_node
 (constructor) VLIB_REGISTER_NODE (dslite_ce_decap_node) More...
 

Macro Definition Documentation

◆ foreach_dslite_error

#define foreach_dslite_error
Value:
_(IN2OUT, "valid in2out DS-Lite packets") \
_(OUT2IN, "valid out2in DS-Lite packets") \
_(CE_ENCAP, "valid CE encap DS-Lite packets") \
_(CE_DECAP, "valid CE decap DS-Lite packets") \
_(NO_TRANSLATION, "no translation") \
_(BAD_IP6_PROTOCOL, "bad ip6 protocol") \
_(OUT_OF_PORTS, "out of ports") \
_(UNSUPPORTED_PROTOCOL, "unsupported protocol") \
_(BAD_ICMP_TYPE, "unsupported icmp type") \
_(UNKNOWN, "unknown")

Definition at line 115 of file dslite.h.

Enumeration Type Documentation

◆ dslite_error_t

Enumerator
DSLITE_N_ERROR 

Definition at line 127 of file dslite.h.

Function Documentation

◆ CLIB_PACKED()

typedef CLIB_PACKED ( struct { snat_session_key_t out2in;dslite_session_key_t in2out;u32 per_b4_index;u32 per_b4_list_head_index;f64 last_heard;u64 total_bytes;u32 total_pkts;}  )

◆ dslite_add_del_pool_addr()

int dslite_add_del_pool_addr ( dslite_main_t dm,
ip4_address_t addr,
u8  is_add 
)

Definition at line 188 of file dslite.c.

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

◆ dslite_init()

void dslite_init ( vlib_main_t vm)

Definition at line 22 of file dslite.c.

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

◆ dslite_set_aftr_ip4_addr()

int dslite_set_aftr_ip4_addr ( dslite_main_t dm,
ip4_address_t addr 
)

Definition at line 136 of file dslite.c.

+ Here is the caller graph for this function:

◆ dslite_set_aftr_ip6_addr()

int dslite_set_aftr_ip6_addr ( dslite_main_t dm,
ip6_address_t addr 
)

Definition at line 100 of file dslite.c.

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

◆ dslite_set_b4_ip4_addr()

int dslite_set_b4_ip4_addr ( dslite_main_t dm,
ip4_address_t addr 
)

Definition at line 173 of file dslite.c.

+ Here is the caller graph for this function:

◆ dslite_set_b4_ip6_addr()

int dslite_set_b4_ip6_addr ( dslite_main_t dm,
ip6_address_t addr 
)

Definition at line 143 of file dslite.c.

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

◆ dslite_set_ce()

void dslite_set_ce ( dslite_main_t dm,
u8  set 
)

Definition at line 94 of file dslite.c.

+ Here is the caller graph for this function:

◆ format_dslite_ce_trace()

u8* format_dslite_ce_trace ( u8 s,
va_list *  args 
)

Definition at line 254 of file dslite.c.

+ Here is the call graph for this function:

◆ format_dslite_trace()

u8* format_dslite_trace ( u8 s,
va_list *  args 
)

Definition at line 241 of file dslite.c.

+ Here is the call graph for this function:

Variable Documentation

◆ dslite_ce_decap_node

vlib_node_registration_t dslite_ce_decap_node

(constructor) VLIB_REGISTER_NODE (dslite_ce_decap_node)

Definition at line 119 of file dslite_ce_decap.c.

◆ dslite_ce_encap_node

vlib_node_registration_t dslite_ce_encap_node

(constructor) VLIB_REGISTER_NODE (dslite_ce_encap_node)

Definition at line 112 of file dslite_ce_encap.c.

◆ dslite_in2out_node

vlib_node_registration_t dslite_in2out_node

(constructor) VLIB_REGISTER_NODE (dslite_in2out_node)

Definition at line 453 of file dslite_in2out.c.

◆ dslite_in2out_slowpath_node

vlib_node_registration_t dslite_in2out_slowpath_node

(constructor) VLIB_REGISTER_NODE (dslite_in2out_slowpath_node)

Definition at line 479 of file dslite_in2out.c.

◆ dslite_main

dslite_main_t dslite_main

Definition at line 19 of file dslite.c.

◆ dslite_out2in_node

vlib_node_registration_t dslite_out2in_node

(constructor) VLIB_REGISTER_NODE (dslite_out2in_node)

Definition at line 271 of file dslite_out2in.c.