FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
lisp_types.c File Reference
+ Include dependency graph for lisp_types.c:

Go to the source code of this file.

Macros

#define foreach_lcaf_type
 
#define CONCAT(a, b)   a##_##b
 
#define IF(c, t, e)   CONCAT(IF, c)(t, e)
 
#define IF_0(t, e)   e
 
#define IF_1(t, e)   t
 
#define EXPAND_FCN(cond, fcn)   IF(cond, fcn, NULL)
 
#define INC(dst, exp)
 

Typedefs

typedef u16(* size_to_write_fct) (void *)
 
typedef void *(* cast_fct) (gid_address_t *)
 
typedef u16(* serdes_fct) (u8 *, void *)
 
typedef u8(* addr_len_fct) (void *)
 
typedef void(* copy_fct) (void *, void *)
 
typedef void(* free_fct) (void *)
 
typedef int(* cmp_fct) (void *, void *)
 

Functions

static u16 gid_address_put_no_vni (u8 *b, gid_address_t *gid)
 
static u16 gid_address_size_to_put_no_vni (gid_address_t *gid)
 
static u16 fid_addr_size_to_write (fid_address_t *a)
 
u32 mac_parse (u8 *offset, u8 *a)
 
uword unformat_nsh_address (unformat_input_t *input, va_list *args)
 
u8format_nsh_address (u8 *s, va_list *args)
 
u8format_fid_nsh_address (u8 *s, va_list *args)
 
u8format_fid_address (u8 *s, va_list *args)
 
u8format_gid_address (u8 *s, va_list *args)
 
uword unformat_fid_address (unformat_input_t *i, va_list *args)
 
uword unformat_hmac_key_id (unformat_input_t *input, va_list *args)
 
uword unformat_gid_address (unformat_input_t *input, va_list *args)
 
uword unformat_negative_mapping_action (unformat_input_t *input, va_list *args)
 
u8format_hmac_key_id (u8 *s, va_list *args)
 
u8format_negative_mapping_action (u8 *s, va_list *args)
 
u8 ip_prefix_length (void *a)
 
static lisp_afi_e ip_version_to_iana_afi (u16 version)
 
static u8 ip_iana_afi_to_version (lisp_afi_e afi)
 
u16 ip_address_size_to_write (ip_address_t *a)
 
u16 ip_address_iana_afi (ip_address_t *a)
 
u8 ip_address_max_len (u8 version)
 
u16 ip4_address_size_to_put ()
 
u16 ip6_address_size_to_put ()
 
u32 ip4_address_put (u8 *b, ip4_address_t *a)
 
u32 ip6_address_put (u8 *b, ip6_address_t *a)
 
u32 ip_address_put (u8 *b, ip_address_t *a)
 
u32 ip_address_parse (void *offset, u16 iana_afi, ip_address_t *dst)
 
void gid_to_dp_address (gid_address_t *g, dp_address_t *d)
 
u32 lcaf_hdr_parse (void *offset, lcaf_t *lcaf)
 
static u8 iana_afi_to_fid_addr_type (u16 type)
 
static u16 fid_addr_parse (u8 *p, fid_address_t *a)
 
void nsh_free (void *a)
 
u16 nsh_parse (u8 *p, void *a)
 
int nsh_cmp (void *a1, void *a2)
 
u16 sd_parse (u8 *p, void *a)
 
u16 try_parse_src_dst_lcaf (u8 *p, gid_address_t *a)
 
u16 vni_parse (u8 *p, void *a)
 
u16 no_addr_parse (u8 *p, void *a)
 
u32 lcaf_parse (void *offset, gid_address_t *addr)
 
void vni_free (void *a)
 
void no_addr_free (void *a)
 
void sd_free (void *a)
 
void gid_address_free (gid_address_t *a)
 
void gid_address_from_ip (gid_address_t *g, ip_address_t *ip)
 
void * ip_prefix_cast (gid_address_t *a)
 
u16 ip_prefix_size_to_write (void *pref)
 
u16 ip_prefix_write (u8 *p, void *gid)
 
void mac_copy (void *dst, void *src)
 
void sd_copy (void *dst, void *src)
 
void nsh_copy (void *dst, void *src)
 
void no_addr_copy (void *dst, void *src)
 
void vni_copy (void *dst, void *src)
 
void lcaf_copy (void *dst, void *src)
 
u8 lcaf_length (void *a)
 
u8 mac_length (void *a)
 
u8 sd_length (void *a)
 
u8 nsh_length (void *a)
 
void * lcaf_cast (gid_address_t *a)
 
void * mac_cast (gid_address_t *a)
 
void * no_addr_cast (gid_address_t *a)
 
void * sd_cast (gid_address_t *a)
 
void * nsh_cast (gid_address_t *a)
 
u8 no_addr_length (void *a)
 
u8 vni_length (void *a)
 
u16 lcaf_write (u8 *p, void *a)
 
u16 mac_write (u8 *p, void *a)
 
static u16 fid_addr_write (u8 *p, fid_address_t *a)
 
static u8 fid_address_length (fid_address_t *a)
 
u16 sd_write (u8 *p, void *a)
 
u16 nsh_write (u8 *p, void *a)
 
u16 vni_write (u8 *p, void *a)
 
u16 no_addr_write (u8 *p, void *a)
 
u16 no_addr_size_to_write (void *a)
 
u16 vni_size_to_write (void *a)
 
u16 lcaf_size_to_write (void *a)
 
u16 sd_size_to_write (void *a)
 
u16 mac_size_to_write (void *a)
 
u16 nsh_size_to_write (void *a)
 
u8 gid_address_len (gid_address_t *a)
 
u16 gid_address_put (u8 *b, gid_address_t *gid)
 
u16 gid_address_size_to_put (gid_address_t *gid)
 
void * gid_address_cast (gid_address_t *gid, gid_address_type_t type)
 
void gid_address_copy (gid_address_t *dst, gid_address_t *src)
 
u32 gid_address_parse (u8 *offset, gid_address_t *a)
 
void gid_address_ip_set (gid_address_t *dst, void *src, u8 version)
 
int no_addr_cmp (void *a1, void *a2)
 
int vni_cmp (void *a1, void *a2)
 
static int mac_cmp (void *a1, void *a2)
 
static int fid_addr_cmp (fid_address_t *a1, fid_address_t *a2)
 
int sd_cmp (void *a1, void *a2)
 
int gid_address_cmp (gid_address_t *a1, gid_address_t *a2)
 
u32 locator_parse (void *b, locator_t *loc)
 
void locator_copy (locator_t *dst, locator_t *src)
 
u32 locator_cmp (locator_t *l1, locator_t *l2)
 
void locator_free (locator_t *l)
 
void build_src_dst (gid_address_t *sd, gid_address_t *src, gid_address_t *dst)
 

Variables

size_to_write_fct size_to_write_fcts [GID_ADDR_TYPES]
 
serdes_fct write_fcts [GID_ADDR_TYPES]
 
cast_fct cast_fcts [GID_ADDR_TYPES]
 
addr_len_fct addr_len_fcts [GID_ADDR_TYPES]
 
copy_fct copy_fcts [GID_ADDR_TYPES]
 
cmp_fct lcaf_cmp_fcts [LCAF_TYPES]
 
addr_len_fct lcaf_body_length_fcts [LCAF_TYPES]
 
copy_fct lcaf_copy_fcts [LCAF_TYPES]
 
free_fct lcaf_free_fcts [LCAF_TYPES]
 
size_to_write_fct lcaf_size_to_write_fcts [LCAF_TYPES]
 
serdes_fct lcaf_write_fcts [LCAF_TYPES]
 
serdes_fct lcaf_parse_fcts [LCAF_TYPES]
 

Macro Definition Documentation

◆ CONCAT

#define CONCAT (   a,
 
)    a##_##b

Definition at line 88 of file lisp_types.c.

◆ EXPAND_FCN

#define EXPAND_FCN (   cond,
  fcn 
)    IF(cond, fcn, NULL)

Definition at line 92 of file lisp_types.c.

◆ foreach_lcaf_type

#define foreach_lcaf_type
Value:
_(1, no_addr) \
_(0, NULL) \
_(1, vni) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(1, sd) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(0, NULL) \
_(1, nsh)
u16 vni
Definition: flow_types.api:160
typedef nsh
Definition: lisp_types.api:45

Definition at line 58 of file lisp_types.c.

◆ IF

#define IF (   c,
  t,
 
)    CONCAT(IF, c)(t, e)

Definition at line 89 of file lisp_types.c.

◆ IF_0

#define IF_0 (   t,
 
)    e

Definition at line 90 of file lisp_types.c.

◆ IF_1

#define IF_1 (   t,
 
)    t

Definition at line 91 of file lisp_types.c.

◆ INC

#define INC (   dst,
  exp 
)
Value:
do { \
u16 _sum = (exp); \
if ((u16)~0 == _sum) \
return ~0; \
dst += _sum; \
} while (0);
unsigned short u16
Definition: types.h:57
u8 exp
Definition: fib_types.api:27

Definition at line 577 of file lisp_types.c.

Typedef Documentation

◆ addr_len_fct

typedef u8(* addr_len_fct) (void *)

Definition at line 28 of file lisp_types.c.

◆ cast_fct

typedef void*(* cast_fct) (gid_address_t *)

Definition at line 26 of file lisp_types.c.

◆ cmp_fct

typedef int(* cmp_fct) (void *, void *)

Definition at line 31 of file lisp_types.c.

◆ copy_fct

typedef void(* copy_fct) (void *, void *)

Definition at line 29 of file lisp_types.c.

◆ free_fct

typedef void(* free_fct) (void *)

Definition at line 30 of file lisp_types.c.

◆ serdes_fct

typedef u16(* serdes_fct) (u8 *, void *)

Definition at line 27 of file lisp_types.c.

◆ size_to_write_fct

typedef u16(* size_to_write_fct) (void *)

Definition at line 25 of file lisp_types.c.

Function Documentation

◆ build_src_dst()

void build_src_dst ( gid_address_t sd,
gid_address_t src,
gid_address_t dst 
)

Definition at line 1452 of file lisp_types.c.

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

◆ fid_addr_cmp()

static int fid_addr_cmp ( fid_address_t a1,
fid_address_t a2 
)
static

Definition at line 1300 of file lisp_types.c.

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

◆ fid_addr_parse()

static u16 fid_addr_parse ( u8 p,
fid_address_t a 
)
static

Definition at line 557 of file lisp_types.c.

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

◆ fid_addr_size_to_write()

static u16 fid_addr_size_to_write ( fid_address_t a)
static

Definition at line 1087 of file lisp_types.c.

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

◆ fid_addr_write()

static u16 fid_addr_write ( u8 p,
fid_address_t a 
)
static

Definition at line 929 of file lisp_types.c.

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

◆ fid_address_length()

static u8 fid_address_length ( fid_address_t a)
static

Definition at line 946 of file lisp_types.c.

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

◆ format_fid_address()

u8* format_fid_address ( u8 s,
va_list *  args 
)

Definition at line 166 of file lisp_types.c.

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

◆ format_fid_nsh_address()

u8* format_fid_nsh_address ( u8 s,
va_list *  args 
)

Definition at line 159 of file lisp_types.c.

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

◆ format_gid_address()

u8* format_gid_address ( u8 s,
va_list *  args 
)

Definition at line 187 of file lisp_types.c.

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

◆ format_hmac_key_id()

u8* format_hmac_key_id ( u8 s,
va_list *  args 
)

Definition at line 342 of file lisp_types.c.

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

◆ format_negative_mapping_action()

u8* format_negative_mapping_action ( u8 s,
va_list *  args 
)

Definition at line 360 of file lisp_types.c.

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

◆ format_nsh_address()

u8* format_nsh_address ( u8 s,
va_list *  args 
)

Definition at line 152 of file lisp_types.c.

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

◆ gid_address_cast()

void* gid_address_cast ( gid_address_t gid,
gid_address_type_t  type 
)

Definition at line 1197 of file lisp_types.c.

◆ gid_address_cmp()

int gid_address_cmp ( gid_address_t a1,
gid_address_t a2 
)

Definition at line 1340 of file lisp_types.c.

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

◆ gid_address_copy()

void gid_address_copy ( gid_address_t dst,
gid_address_t src 
)

Definition at line 1203 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ gid_address_free()

void gid_address_free ( gid_address_t a)

Definition at line 733 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ gid_address_from_ip()

void gid_address_from_ip ( gid_address_t g,
ip_address_t ip 
)

Definition at line 744 of file lisp_types.c.

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

◆ gid_address_ip_set()

void gid_address_ip_set ( gid_address_t dst,
void *  src,
u8  version 
)

Definition at line 1268 of file lisp_types.c.

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

◆ gid_address_len()

u8 gid_address_len ( gid_address_t a)

Definition at line 1158 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ gid_address_parse()

u32 gid_address_parse ( u8 offset,
gid_address_t a 
)

Definition at line 1223 of file lisp_types.c.

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

◆ gid_address_put()

u16 gid_address_put ( u8 b,
gid_address_t gid 
)

Definition at line 1172 of file lisp_types.c.

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

◆ gid_address_put_no_vni()

static u16 gid_address_put_no_vni ( u8 b,
gid_address_t gid 
)
static

Definition at line 1165 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ gid_address_size_to_put()

u16 gid_address_size_to_put ( gid_address_t gid)

Definition at line 1188 of file lisp_types.c.

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

◆ gid_address_size_to_put_no_vni()

static u16 gid_address_size_to_put_no_vni ( gid_address_t gid)
static

Definition at line 1181 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ gid_to_dp_address()

void gid_to_dp_address ( gid_address_t g,
dp_address_t d 
)

Definition at line 489 of file lisp_types.c.

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

◆ iana_afi_to_fid_addr_type()

static u8 iana_afi_to_fid_addr_type ( u16  type)
static

Definition at line 542 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip4_address_put()

u32 ip4_address_put ( u8 b,
ip4_address_t a 
)

Definition at line 452 of file lisp_types.c.

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

◆ ip4_address_size_to_put()

u16 ip4_address_size_to_put ( )

Definition at line 438 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip6_address_put()

u32 ip6_address_put ( u8 b,
ip6_address_t *  a 
)

Definition at line 461 of file lisp_types.c.

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

◆ ip6_address_size_to_put()

u16 ip6_address_size_to_put ( )

Definition at line 445 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_address_iana_afi()

u16 ip_address_iana_afi ( ip_address_t a)

Definition at line 426 of file lisp_types.c.

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

◆ ip_address_max_len()

u8 ip_address_max_len ( u8  version)

Definition at line 432 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_address_parse()

u32 ip_address_parse ( void *  offset,
u16  iana_afi,
ip_address_t dst 
)

Definition at line 480 of file lisp_types.c.

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

◆ ip_address_put()

u32 ip_address_put ( u8 b,
ip_address_t a 
)

Definition at line 470 of file lisp_types.c.

+ Here is the call graph for this function:

◆ ip_address_size_to_write()

u16 ip_address_size_to_write ( ip_address_t a)

Definition at line 420 of file lisp_types.c.

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

◆ ip_iana_afi_to_version()

static u8 ip_iana_afi_to_version ( lisp_afi_e  afi)
inlinestatic

Definition at line 405 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_prefix_cast()

void* ip_prefix_cast ( gid_address_t a)

Definition at line 752 of file lisp_types.c.

◆ ip_prefix_length()

u8 ip_prefix_length ( void *  a)

Definition at line 384 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_prefix_size_to_write()

u16 ip_prefix_size_to_write ( void *  pref)

Definition at line 758 of file lisp_types.c.

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

◆ ip_prefix_write()

u16 ip_prefix_write ( u8 p,
void *  gid 
)

Definition at line 765 of file lisp_types.c.

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

◆ ip_version_to_iana_afi()

static lisp_afi_e ip_version_to_iana_afi ( u16  version)
inlinestatic

Definition at line 390 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ lcaf_cast()

void* lcaf_cast ( gid_address_t a)

Definition at line 852 of file lisp_types.c.

◆ lcaf_copy()

void lcaf_copy ( void *  dst,
void *  src 
)

Definition at line 818 of file lisp_types.c.

◆ lcaf_hdr_parse()

u32 lcaf_hdr_parse ( void *  offset,
lcaf_t lcaf 
)

Definition at line 527 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ lcaf_length()

u8 lcaf_length ( void *  a)

Definition at line 828 of file lisp_types.c.

◆ lcaf_parse()

u32 lcaf_parse ( void *  offset,
gid_address_t addr 
)

Definition at line 694 of file lisp_types.c.

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

◆ lcaf_size_to_write()

u16 lcaf_size_to_write ( void *  a)

Definition at line 1119 of file lisp_types.c.

◆ lcaf_write()

u16 lcaf_write ( u8 p,
void *  a 
)

Definition at line 896 of file lisp_types.c.

+ Here is the call graph for this function:

◆ locator_cmp()

u32 locator_cmp ( locator_t l1,
locator_t l2 
)

Definition at line 1427 of file lisp_types.c.

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

◆ locator_copy()

void locator_copy ( locator_t dst,
locator_t src 
)

Definition at line 1418 of file lisp_types.c.

+ Here is the call graph for this function:

◆ locator_free()

void locator_free ( locator_t l)

Definition at line 1445 of file lisp_types.c.

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

◆ locator_parse()

u32 locator_parse ( void *  b,
locator_t loc 
)

Definition at line 1392 of file lisp_types.c.

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

◆ mac_cast()

void* mac_cast ( gid_address_t a)

Definition at line 858 of file lisp_types.c.

◆ mac_cmp()

static int mac_cmp ( void *  a1,
void *  a2 
)
static

Definition at line 1294 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ mac_copy()

void mac_copy ( void *  dst,
void *  src 
)

Definition at line 783 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ mac_length()

u8 mac_length ( void *  a)

Definition at line 834 of file lisp_types.c.

◆ mac_parse()

u32 mac_parse ( u8 offset,
u8 a 
)

Definition at line 1213 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ mac_size_to_write()

u16 mac_size_to_write ( void *  a)

Definition at line 1146 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ mac_write()

u16 mac_write ( u8 p,
void *  a 
)

Definition at line 921 of file lisp_types.c.

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

◆ no_addr_cast()

void* no_addr_cast ( gid_address_t a)

Definition at line 864 of file lisp_types.c.

◆ no_addr_cmp()

int no_addr_cmp ( void *  a1,
void *  a2 
)

Definition at line 1275 of file lisp_types.c.

◆ no_addr_copy()

void no_addr_copy ( void *  dst,
void *  src 
)

Definition at line 801 of file lisp_types.c.

◆ no_addr_free()

void no_addr_free ( void *  a)

Definition at line 721 of file lisp_types.c.

◆ no_addr_length()

u8 no_addr_length ( void *  a)

Definition at line 882 of file lisp_types.c.

◆ no_addr_parse()

u16 no_addr_parse ( u8 p,
void *  a 
)

Definition at line 687 of file lisp_types.c.

◆ no_addr_size_to_write()

u16 no_addr_size_to_write ( void *  a)

Definition at line 1081 of file lisp_types.c.

◆ no_addr_write()

u16 no_addr_write ( u8 p,
void *  a 
)

Definition at line 1074 of file lisp_types.c.

◆ nsh_cast()

void* nsh_cast ( gid_address_t a)

Definition at line 876 of file lisp_types.c.

◆ nsh_cmp()

int nsh_cmp ( void *  a1,
void *  a2 
)

Definition at line 605 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ nsh_copy()

void nsh_copy ( void *  dst,
void *  src 
)

Definition at line 795 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ nsh_free()

void nsh_free ( void *  a)

Definition at line 586 of file lisp_types.c.

◆ nsh_length()

u8 nsh_length ( void *  a)

Definition at line 846 of file lisp_types.c.

◆ nsh_parse()

u16 nsh_parse ( u8 p,
void *  a 
)

Definition at line 592 of file lisp_types.c.

◆ nsh_size_to_write()

u16 nsh_size_to_write ( void *  a)

Definition at line 1152 of file lisp_types.c.

◆ nsh_write()

u16 nsh_write ( u8 p,
void *  a 
)

Definition at line 1000 of file lisp_types.c.

+ Here is the call graph for this function:

◆ sd_cast()

void* sd_cast ( gid_address_t a)

Definition at line 870 of file lisp_types.c.

◆ sd_cmp()

int sd_cmp ( void *  a1,
void *  a2 
)

Definition at line 1320 of file lisp_types.c.

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

◆ sd_copy()

void sd_copy ( void *  dst,
void *  src 
)

Definition at line 789 of file lisp_types.c.

◆ sd_free()

void sd_free ( void *  a)

Definition at line 727 of file lisp_types.c.

◆ sd_length()

u8 sd_length ( void *  a)

Definition at line 840 of file lisp_types.c.

◆ sd_parse()

u16 sd_parse ( u8 p,
void *  a 
)

Definition at line 618 of file lisp_types.c.

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

◆ sd_size_to_write()

u16 sd_size_to_write ( void *  a)

Definition at line 1135 of file lisp_types.c.

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

◆ sd_write()

u16 sd_write ( u8 p,
void *  a 
)

Definition at line 961 of file lisp_types.c.

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

◆ try_parse_src_dst_lcaf()

u16 try_parse_src_dst_lcaf ( u8 p,
gid_address_t a 
)

Definition at line 648 of file lisp_types.c.

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

◆ unformat_fid_address()

uword unformat_fid_address ( unformat_input_t i,
va_list *  args 
)

Definition at line 218 of file lisp_types.c.

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

◆ unformat_gid_address()

uword unformat_gid_address ( unformat_input_t input,
va_list *  args 
)

Definition at line 272 of file lisp_types.c.

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

◆ unformat_hmac_key_id()

uword unformat_hmac_key_id ( unformat_input_t input,
va_list *  args 
)

Definition at line 247 of file lisp_types.c.

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

◆ unformat_negative_mapping_action()

uword unformat_negative_mapping_action ( unformat_input_t input,
va_list *  args 
)

Definition at line 313 of file lisp_types.c.

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

◆ unformat_nsh_address()

uword unformat_nsh_address ( unformat_input_t input,
va_list *  args 
)

Definition at line 145 of file lisp_types.c.

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

◆ vni_cmp()

int vni_cmp ( void *  a1,
void *  a2 
)

Definition at line 1281 of file lisp_types.c.

+ Here is the call graph for this function:

◆ vni_copy()

void vni_copy ( void *  dst,
void *  src 
)

Definition at line 807 of file lisp_types.c.

+ Here is the call graph for this function:

◆ vni_free()

void vni_free ( void *  a)

Definition at line 713 of file lisp_types.c.

+ Here is the call graph for this function:

◆ vni_length()

u8 vni_length ( void *  a)

Definition at line 888 of file lisp_types.c.

+ Here is the call graph for this function:

◆ vni_parse()

u16 vni_parse ( u8 p,
void *  a 
)

Definition at line 663 of file lisp_types.c.

+ Here is the call graph for this function:

◆ vni_size_to_write()

u16 vni_size_to_write ( void *  a)

Definition at line 1104 of file lisp_types.c.

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

◆ vni_write()

u16 vni_write ( u8 p,
void *  a 
)

Definition at line 1032 of file lisp_types.c.

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

Variable Documentation

◆ addr_len_fcts

addr_len_fct addr_len_fcts[GID_ADDR_TYPES]
Initial value:
=
}
u8 sd_length(void *a)
Definition: lisp_types.c:840
u8 lcaf_length(void *a)
Definition: lisp_types.c:828
u8 no_addr_length(void *a)
Definition: lisp_types.c:882
u8 nsh_length(void *a)
Definition: lisp_types.c:846
u8 mac_length(void *a)
Definition: lisp_types.c:834
u8 ip_prefix_length(void *a)
Definition: lisp_types.c:384

Definition at line 48 of file lisp_types.c.

◆ cast_fcts

Initial value:
=
no_addr_cast
}
void * ip_prefix_cast(gid_address_t *a)
Definition: lisp_types.c:752
void * sd_cast(gid_address_t *a)
Definition: lisp_types.c:870
void * lcaf_cast(gid_address_t *a)
Definition: lisp_types.c:852
void * nsh_cast(gid_address_t *a)
Definition: lisp_types.c:876
void * mac_cast(gid_address_t *a)
Definition: lisp_types.c:858
void * no_addr_cast(gid_address_t *a)
Definition: lisp_types.c:864

Definition at line 43 of file lisp_types.c.

◆ copy_fcts

Initial value:
=
no_addr_copy
}
void sd_copy(void *dst, void *src)
Definition: lisp_types.c:789
void lcaf_copy(void *dst, void *src)
Definition: lisp_types.c:818
void nsh_copy(void *dst, void *src)
Definition: lisp_types.c:795
void ip_prefix_copy(void *dst, void *src)
Definition: ip_types.c:362
void mac_copy(void *dst, void *src)
Definition: lisp_types.c:783
void no_addr_copy(void *dst, void *src)
Definition: lisp_types.c:801

Definition at line 53 of file lisp_types.c.

◆ lcaf_body_length_fcts

addr_len_fct lcaf_body_length_fcts[LCAF_TYPES]
Initial value:
= {
#define _(cond, name)
}
#define foreach_lcaf_type
Definition: lisp_types.c:58

Definition at line 102 of file lisp_types.c.

◆ lcaf_cmp_fcts

cmp_fct lcaf_cmp_fcts[LCAF_TYPES]
Initial value:
=
{
#define _(cond, name)
}
#define foreach_lcaf_type
Definition: lisp_types.c:58

Definition at line 94 of file lisp_types.c.

◆ lcaf_copy_fcts

copy_fct lcaf_copy_fcts[LCAF_TYPES]
Initial value:
= {
#define _(cond, name)
}
#define foreach_lcaf_type
Definition: lisp_types.c:58

Definition at line 109 of file lisp_types.c.

◆ lcaf_free_fcts

free_fct lcaf_free_fcts[LCAF_TYPES]
Initial value:
= {
#define _(cond, name)
}
#define foreach_lcaf_type
Definition: lisp_types.c:58

Definition at line 116 of file lisp_types.c.

◆ lcaf_parse_fcts

serdes_fct lcaf_parse_fcts[LCAF_TYPES]
Initial value:
= {
#define _(cond, name)
}
#define foreach_lcaf_type
Definition: lisp_types.c:58

Definition at line 137 of file lisp_types.c.

◆ lcaf_size_to_write_fcts

size_to_write_fct lcaf_size_to_write_fcts[LCAF_TYPES]
Initial value:
= {
#define _(cond, name)
}
#define foreach_lcaf_type
Definition: lisp_types.c:58

Definition at line 123 of file lisp_types.c.

◆ lcaf_write_fcts

serdes_fct lcaf_write_fcts[LCAF_TYPES]
Initial value:
= {
#define _(cond, name)
}
#define foreach_lcaf_type
Definition: lisp_types.c:58

Definition at line 130 of file lisp_types.c.

◆ size_to_write_fcts

size_to_write_fct size_to_write_fcts[GID_ADDR_TYPES]
Initial value:
=
}
u16 nsh_size_to_write(void *a)
Definition: lisp_types.c:1152
u16 sd_size_to_write(void *a)
Definition: lisp_types.c:1135
u16 mac_size_to_write(void *a)
Definition: lisp_types.c:1146
u16 lcaf_size_to_write(void *a)
Definition: lisp_types.c:1119
u16 no_addr_size_to_write(void *a)
Definition: lisp_types.c:1081
u16 ip_prefix_size_to_write(void *pref)
Definition: lisp_types.c:758

Definition at line 33 of file lisp_types.c.

◆ write_fcts

Initial value:
=
}
u16 ip_prefix_write(u8 *p, void *gid)
Definition: lisp_types.c:765
u16 nsh_write(u8 *p, void *a)
Definition: lisp_types.c:1000
u16 sd_write(u8 *p, void *a)
Definition: lisp_types.c:961
u16 no_addr_write(u8 *p, void *a)
Definition: lisp_types.c:1074
u16 mac_write(u8 *p, void *a)
Definition: lisp_types.c:921
u16 lcaf_write(u8 *p, void *a)
Definition: lisp_types.c:896

Definition at line 38 of file lisp_types.c.