FD.io VPP  v21.10.1-2-g0a485f517
Vector Packet Processing
gtp4_dt.c File Reference
+ Include dependency graph for gtp4_dt.c:

Go to the source code of this file.

Functions

static void clb_dpo_lock_srv6_t_m_gtp4_dt (dpo_id_t *dpo)
 
static void clb_dpo_unlock_srv6_t_m_gtp4_dt (dpo_id_t *dpo)
 
static u8clb_dpo_format_srv6_t_m_gtp4_dt (u8 *s, va_list *args)
 
static u8clb_format_srv6_t_m_gtp4_dt (u8 *s, va_list *args)
 
static uword clb_unformat_srv6_t_m_gtp4_dt (unformat_input_t *input, va_list *args)
 
static int clb_creation_srv6_t_m_gtp4_dt (ip6_sr_policy_t *sr_policy)
 
static int clb_removal_srv6_t_m_gtp4_dt (ip6_sr_policy_t *sr_policy)
 
static clib_error_tsrv6_t_m_gtp4_dt_init (vlib_main_t *vm)
 
 VNET_FEATURE_INIT (srv6_t_m_gtp4_dt, static)
 

Variables

srv6_t_main_v4_dt_t srv6_t_main_v4_dt
 
const static dpo_vft_t dpo_vft
 
const static char *const srv6_t_m_gtp4_dt_nodes []
 
const static char *const srv6_t_m_gtp4_dt_v6_nodes []
 
const static char *const *const dpo_nodes [DPO_PROTO_NUM]
 
static u8 fn_name [] = "SRv6-T.M.GTP4.DT-plugin"
 
static u8 keyword_str [] = "t.m.gtp4.dt"
 
static u8 def_str [] = "Transit function with DT for IPv4/GTP tunnel"
 
static u8 param_str [] = "fib-index <index> [local-fib-table <index>]"
 

Function Documentation

◆ clb_creation_srv6_t_m_gtp4_dt()

static int clb_creation_srv6_t_m_gtp4_dt ( ip6_sr_policy_t sr_policy)
static

Definition at line 140 of file gtp4_dt.c.

+ Here is the caller graph for this function:

◆ clb_dpo_format_srv6_t_m_gtp4_dt()

static u8* clb_dpo_format_srv6_t_m_gtp4_dt ( u8 s,
va_list *  args 
)
static

Definition at line 38 of file gtp4_dt.c.

◆ clb_dpo_lock_srv6_t_m_gtp4_dt()

static void clb_dpo_lock_srv6_t_m_gtp4_dt ( dpo_id_t dpo)
static

Definition at line 28 of file gtp4_dt.c.

◆ clb_dpo_unlock_srv6_t_m_gtp4_dt()

static void clb_dpo_unlock_srv6_t_m_gtp4_dt ( dpo_id_t dpo)
static

Definition at line 33 of file gtp4_dt.c.

◆ clb_format_srv6_t_m_gtp4_dt()

static u8* clb_format_srv6_t_m_gtp4_dt ( u8 s,
va_list *  args 
)
static

Definition at line 73 of file gtp4_dt.c.

+ Here is the caller graph for this function:

◆ clb_removal_srv6_t_m_gtp4_dt()

static int clb_removal_srv6_t_m_gtp4_dt ( ip6_sr_policy_t sr_policy)
static

Definition at line 146 of file gtp4_dt.c.

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

◆ clb_unformat_srv6_t_m_gtp4_dt()

static uword clb_unformat_srv6_t_m_gtp4_dt ( unformat_input_t input,
va_list *  args 
)
static

Definition at line 94 of file gtp4_dt.c.

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

◆ srv6_t_m_gtp4_dt_init()

static clib_error_t* srv6_t_m_gtp4_dt_init ( vlib_main_t vm)
static

Definition at line 158 of file gtp4_dt.c.

+ Here is the call graph for this function:

◆ VNET_FEATURE_INIT()

VNET_FEATURE_INIT ( srv6_t_m_gtp4_dt  ,
static   
)

Variable Documentation

◆ def_str

u8 def_str[] = "Transit function with DT for IPv4/GTP tunnel"
static

Definition at line 69 of file gtp4_dt.c.

◆ dpo_nodes

const static char* const * const dpo_nodes[DPO_PROTO_NUM]
static
Initial value:

Definition at line 62 of file gtp4_dt.c.

◆ dpo_vft

const static dpo_vft_t dpo_vft
static
Initial value:

Definition at line 46 of file gtp4_dt.c.

◆ fn_name

u8 fn_name[] = "SRv6-T.M.GTP4.DT-plugin"
static

Definition at line 67 of file gtp4_dt.c.

◆ keyword_str

u8 keyword_str[] = "t.m.gtp4.dt"
static

Definition at line 68 of file gtp4_dt.c.

◆ param_str

u8 param_str[] = "fib-index <index> [local-fib-table <index>]"
static

Definition at line 70 of file gtp4_dt.c.

◆ srv6_t_m_gtp4_dt_nodes

const static char* const srv6_t_m_gtp4_dt_nodes[]
static
Initial value:
= {
"srv6-t-m-gtp4-dt",
NULL,
}

Definition at line 52 of file gtp4_dt.c.

◆ srv6_t_m_gtp4_dt_v6_nodes

const static char* const srv6_t_m_gtp4_dt_v6_nodes[]
static
Initial value:
= {
"error-drop",
NULL,
}

Definition at line 57 of file gtp4_dt.c.

◆ srv6_t_main_v4_dt

srv6_t_main_v4_dt_t srv6_t_main_v4_dt

Definition at line 25 of file gtp4_dt.c.

clb_dpo_lock_srv6_t_m_gtp4_dt
static void clb_dpo_lock_srv6_t_m_gtp4_dt(dpo_id_t *dpo)
Definition: gtp4_dt.c:28
srv6_t_m_gtp4_dt_nodes
const static char *const srv6_t_m_gtp4_dt_nodes[]
Definition: gtp4_dt.c:52
clb_dpo_unlock_srv6_t_m_gtp4_dt
static void clb_dpo_unlock_srv6_t_m_gtp4_dt(dpo_id_t *dpo)
Definition: gtp4_dt.c:33
clb_dpo_format_srv6_t_m_gtp4_dt
static u8 * clb_dpo_format_srv6_t_m_gtp4_dt(u8 *s, va_list *args)
Definition: gtp4_dt.c:38
DPO_PROTO_IP6
@ DPO_PROTO_IP6
Definition: dpo.h:65
DPO_PROTO_IP4
@ DPO_PROTO_IP4
Definition: dpo.h:64
srv6_t_m_gtp4_dt_v6_nodes
const static char *const srv6_t_m_gtp4_dt_v6_nodes[]
Definition: gtp4_dt.c:57