FD.io VPP  v19.04.2-12-g66b1689
Vector Packet Processing
ad.c File Reference
+ Include dependency graph for ad.c:

Go to the source code of this file.

Macros

#define SID_CREATE_IFACE_FEATURE_ERROR   -1
 
#define SID_CREATE_INVALID_IFACE_TYPE   -3
 
#define SID_CREATE_INVALID_IFACE_INDEX   -4
 
#define SID_CREATE_INVALID_ADJ_INDEX   -5
 
#define PARAM_AD_NH   (1 << 0)
 
#define PARAM_AD_OIF   (1 << 1)
 
#define PARAM_AD_IIF   (1 << 2)
 

Functions

static int srv6_ad_localsid_creation_fn (ip6_sr_localsid_t *localsid)
 
static int srv6_ad_localsid_removal_fn (ip6_sr_localsid_t *localsid)
 
u8format_srv6_ad_localsid (u8 *s, va_list *args)
 
uword unformat_srv6_ad_localsid (unformat_input_t *input, va_list *args)
 
static u8format_srv6_ad_dpo (u8 *s, va_list *args)
 
void srv6_ad_dpo_lock (dpo_id_t *dpo)
 
void srv6_ad_dpo_unlock (dpo_id_t *dpo)
 
static clib_error_tsrv6_ad_init (vlib_main_t *vm)
 
 VNET_FEATURE_INIT (srv6_ad2_rewrite, static)
 
 VNET_FEATURE_INIT (srv6_ad4_rewrite, static)
 
 VNET_FEATURE_INIT (srv6_ad6_rewrite, static)
 
 VLIB_PLUGIN_REGISTER ()
 

Variables

unsigned char function_name [] = "SRv6-AD-plugin"
 
unsigned char keyword_str [] = "End.AD"
 
unsigned char def_str []
 
unsigned char params_str [] = "nh <next-hop> oif <iface-out> iif <iface-in>"
 
static const dpo_vft_t srv6_ad_vft
 
static const char *const srv6_ad_ip6_nodes []
 
static const char *const *const srv6_ad_nodes [DPO_PROTO_NUM]
 

Macro Definition Documentation

#define PARAM_AD_IIF   (1 << 2)
#define PARAM_AD_NH   (1 << 0)
#define PARAM_AD_OIF   (1 << 1)
#define SID_CREATE_IFACE_FEATURE_ERROR   -1

Definition at line 27 of file ad.c.

#define SID_CREATE_INVALID_ADJ_INDEX   -5

Definition at line 30 of file ad.c.

#define SID_CREATE_INVALID_IFACE_INDEX   -4

Definition at line 29 of file ad.c.

#define SID_CREATE_INVALID_IFACE_TYPE   -3

Definition at line 28 of file ad.c.

Function Documentation

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

Definition at line 375 of file ad.c.

+ Here is the call graph for this function:

u8* format_srv6_ad_localsid ( u8 s,
va_list *  args 
)

Definition at line 249 of file ad.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void srv6_ad_dpo_lock ( dpo_id_t dpo)

Definition at line 384 of file ad.c.

void srv6_ad_dpo_unlock ( dpo_id_t dpo)

Definition at line 389 of file ad.c.

static clib_error_t* srv6_ad_init ( vlib_main_t vm)
static

Definition at line 410 of file ad.c.

+ Here is the call graph for this function:

static int srv6_ad_localsid_creation_fn ( ip6_sr_localsid_t localsid)
static

Definition at line 42 of file ad.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int srv6_ad_localsid_removal_fn ( ip6_sr_localsid_t localsid)
static

Definition at line 182 of file ad.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_srv6_ad_localsid ( unformat_input_t input,
va_list *  args 
)

Definition at line 294 of file ad.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

VLIB_PLUGIN_REGISTER ( )

+ Here is the caller graph for this function:

VNET_FEATURE_INIT ( srv6_ad2_rewrite  ,
static   
)

+ Here is the caller graph for this function:

VNET_FEATURE_INIT ( srv6_ad4_rewrite  ,
static   
)
VNET_FEATURE_INIT ( srv6_ad6_rewrite  ,
static   
)

Variable Documentation

unsigned char def_str[]
Initial value:
=
"Endpoint with dynamic proxy to SR-unaware appliance"

Definition at line 34 of file ad.c.

unsigned char function_name[] = "SRv6-AD-plugin"

Definition at line 32 of file ad.c.

unsigned char keyword_str[] = "End.AD"

Definition at line 33 of file ad.c.

unsigned char params_str[] = "nh <next-hop> oif <iface-out> iif <iface-in>"

Definition at line 36 of file ad.c.

const char* const srv6_ad_ip6_nodes[]
static
Initial value:
= {
"srv6-ad-localsid",
}
#define NULL
Definition: clib.h:58

Definition at line 399 of file ad.c.

const char* const* const srv6_ad_nodes[DPO_PROTO_NUM]
static
Initial value:
= {
}

Definition at line 404 of file ad.c.

const dpo_vft_t srv6_ad_vft
static
Initial value:
= {
.dv_lock = srv6_ad_dpo_lock,
.dv_unlock = srv6_ad_dpo_unlock,
.dv_format = format_srv6_ad_dpo,
}

Definition at line 393 of file ad.c.