FD.io VPP  v17.07-30-g839fa73
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)
 
u8format_ip_address (u8 *s, va_list *args)
 
uword unformat_ip_address (unformat_input_t *input, va_list *args)
 
u8format_ip_prefix (u8 *s, va_list *args)
 
uword unformat_ip_prefix (unformat_input_t *input, va_list *args)
 
uword unformat_mac_address (unformat_input_t *input, va_list *args)
 
u8format_mac_address (u8 *s, va_list *args)
 
uword unformat_nsh_address (unformat_input_t *input, va_list *args)
 
u8format_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)
 
u16 ip_address_size (const ip_address_t *a)
 
u16 ip_version_to_size (u8 ver)
 
u8 ip_version_to_max_plen (u8 ver)
 
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)
 
int ip_address_cmp (const ip_address_t *ip1, const ip_address_t *ip2)
 
void ip_address_copy (ip_address_t *dst, const ip_address_t *src)
 
void ip_address_copy_addr (void *dst, const ip_address_t *src)
 
void ip_address_set (ip_address_t *dst, const void *src, u8 version)
 
void ip_address_to_46 (const ip_address_t *addr, ip46_address_t *a, fib_protocol_t *proto)
 
static void ip_prefix_normalize_ip4 (ip4_address_t *ip4, u8 preflen)
 
static void ip_prefix_normalize_ip6 (ip6_address_t *ip6, u8 preflen)
 
void ip_prefix_normalize (ip_prefix_t *a)
 
void * ip_prefix_cast (gid_address_t *a)
 
u16 ip_prefix_size_to_write (void *pref)
 
u16 ip_prefix_write (u8 *p, void *gid)
 
u8 ip_prefix_length (void *a)
 
void ip_prefix_copy (void *dst, void *src)
 
void mac_copy (void *dst, void *src)
 
void sd_copy (void *dst, void *src)
 
void nsh_copy (void *dst, void *src)
 
int ip_prefix_cmp (ip_prefix_t *p1, ip_prefix_t *p2)
 
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

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

Definition at line 87 of file lisp_types.c.

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

Definition at line 91 of file lisp_types.c.

#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)
#define NULL
Definition: clib.h:55

Definition at line 57 of file lisp_types.c.

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

Definition at line 88 of file lisp_types.c.

#define IF_0 (   t,
 
)    e

Definition at line 89 of file lisp_types.c.

#define IF_1 (   t,
 
)    t

Definition at line 90 of file lisp_types.c.

#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

Definition at line 686 of file lisp_types.c.

Typedef Documentation

typedef u8(* addr_len_fct) (void *)

Definition at line 27 of file lisp_types.c.

typedef void*(* cast_fct) (gid_address_t *)

Definition at line 25 of file lisp_types.c.

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

Definition at line 30 of file lisp_types.c.

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

Definition at line 28 of file lisp_types.c.

typedef void(* free_fct) (void *)

Definition at line 29 of file lisp_types.c.

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

Definition at line 26 of file lisp_types.c.

typedef u16(* size_to_write_fct) (void *)

Definition at line 24 of file lisp_types.c.

Function Documentation

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

Definition at line 1735 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static int fid_addr_cmp ( fid_address_t a1,
fid_address_t a2 
)
static

Definition at line 1584 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u16 fid_addr_parse ( u8 p,
fid_address_t a 
)
static

Definition at line 666 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u16 fid_addr_size_to_write ( fid_address_t a)
static

Definition at line 1371 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u16 fid_addr_write ( u8 p,
fid_address_t a 
)
static

Definition at line 1213 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 fid_address_length ( fid_address_t a)
static

Definition at line 1230 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_fid_address ( u8 s,
va_list *  args 
)

Definition at line 237 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_gid_address ( u8 s,
va_list *  args 
)

Definition at line 258 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_hmac_key_id ( u8 s,
va_list *  args 
)

Definition at line 412 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_ip_address ( u8 s,
va_list *  args 
)

Definition at line 144 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_ip_prefix ( u8 s,
va_list *  args 
)

Definition at line 179 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_mac_address ( u8 s,
va_list *  args 
)

Definition at line 215 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_negative_mapping_action ( u8 s,
va_list *  args 
)

Definition at line 430 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_nsh_address ( u8 s,
va_list *  args 
)

Definition at line 230 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* gid_address_cast ( gid_address_t gid,
gid_address_type_t  type 
)

Definition at line 1481 of file lisp_types.c.

int gid_address_cmp ( gid_address_t a1,
gid_address_t a2 
)

Definition at line 1624 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gid_address_copy ( gid_address_t dst,
gid_address_t src 
)

Definition at line 1487 of file lisp_types.c.

+ Here is the caller graph for this function:

void gid_address_free ( gid_address_t a)

Definition at line 842 of file lisp_types.c.

+ Here is the caller graph for this function:

void gid_address_from_ip ( gid_address_t g,
ip_address_t *  ip 
)

Definition at line 853 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Definition at line 1552 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 gid_address_len ( gid_address_t a)

Definition at line 1442 of file lisp_types.c.

+ Here is the caller graph for this function:

u32 gid_address_parse ( u8 offset,
gid_address_t a 
)

Definition at line 1507 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 gid_address_put ( u8 b,
gid_address_t gid 
)

Definition at line 1456 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u16 gid_address_put_no_vni ( u8 b,
gid_address_t gid 
)
static

Definition at line 1449 of file lisp_types.c.

+ Here is the caller graph for this function:

u16 gid_address_size_to_put ( gid_address_t gid)

Definition at line 1472 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u16 gid_address_size_to_put_no_vni ( gid_address_t gid)
static

Definition at line 1465 of file lisp_types.c.

+ Here is the caller graph for this function:

void gid_to_dp_address ( gid_address_t g,
dp_address_t d 
)

Definition at line 598 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u8 iana_afi_to_fid_addr_type ( u16  type)
static

Definition at line 651 of file lisp_types.c.

+ Here is the caller graph for this function:

u32 ip4_address_put ( u8 b,
ip4_address_t a 
)

Definition at line 561 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 ip4_address_size_to_put ( )

Definition at line 547 of file lisp_types.c.

+ Here is the caller graph for this function:

u32 ip6_address_put ( u8 b,
ip6_address_t a 
)

Definition at line 570 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 ip6_address_size_to_put ( )

Definition at line 554 of file lisp_types.c.

+ Here is the caller graph for this function:

int ip_address_cmp ( const ip_address_t *  ip1,
const ip_address_t *  ip2 
)

Definition at line 861 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ip_address_copy ( ip_address_t *  dst,
const ip_address_t *  src 
)

Definition at line 878 of file lisp_types.c.

+ Here is the caller graph for this function:

void ip_address_copy_addr ( void *  dst,
const ip_address_t *  src 
)

Definition at line 894 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 ip_address_iana_afi ( ip_address_t *  a)

Definition at line 535 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 ip_address_max_len ( u8  version)

Definition at line 541 of file lisp_types.c.

+ Here is the caller graph for this function:

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

Definition at line 589 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 ip_address_put ( u8 b,
ip_address_t *  a 
)

Definition at line 579 of file lisp_types.c.

+ Here is the call graph for this function:

void ip_address_set ( ip_address_t *  dst,
const void *  src,
u8  version 
)

Definition at line 900 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 ip_address_size ( const ip_address_t *  a)

Definition at line 454 of file lisp_types.c.

+ Here is the caller graph for this function:

u16 ip_address_size_to_write ( ip_address_t *  a)

Definition at line 529 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ip_address_to_46 ( const ip_address_t *  addr,
ip46_address_t *  a,
fib_protocol_t proto 
)

Definition at line 907 of file lisp_types.c.

+ Here is the caller graph for this function:

static u8 ip_iana_afi_to_version ( lisp_afi_e  afi)
inlinestatic

Definition at line 514 of file lisp_types.c.

+ Here is the caller graph for this function:

void* ip_prefix_cast ( gid_address_t a)

Definition at line 1000 of file lisp_types.c.

int ip_prefix_cmp ( ip_prefix_t *  p1,
ip_prefix_t *  p2 
)

Definition at line 1061 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ip_prefix_copy ( void *  dst,
void *  src 
)

Definition at line 1037 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 ip_prefix_length ( void *  a)

Definition at line 1031 of file lisp_types.c.

+ Here is the caller graph for this function:

void ip_prefix_normalize ( ip_prefix_t *  a)

Definition at line 980 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ip_prefix_normalize_ip4 ( ip4_address_t ip4,
u8  preflen 
)
static

Definition at line 927 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void ip_prefix_normalize_ip6 ( ip6_address_t ip6,
u8  preflen 
)
static

Definition at line 944 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 ip_prefix_size_to_write ( void *  pref)

Definition at line 1006 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 ip_prefix_write ( u8 p,
void *  gid 
)

Definition at line 1013 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static lisp_afi_e ip_version_to_iana_afi ( u16  version)
inlinestatic

Definition at line 499 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 ip_version_to_max_plen ( u8  ver)

Definition at line 484 of file lisp_types.c.

u16 ip_version_to_size ( u8  ver)

Definition at line 469 of file lisp_types.c.

+ Here is the caller graph for this function:

void* lcaf_cast ( gid_address_t a)

Definition at line 1136 of file lisp_types.c.

void lcaf_copy ( void *  dst,
void *  src 
)

Definition at line 1102 of file lisp_types.c.

u32 lcaf_hdr_parse ( void *  offset,
lcaf_t lcaf 
)

Definition at line 636 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 lcaf_length ( void *  a)

Definition at line 1112 of file lisp_types.c.

u32 lcaf_parse ( void *  offset,
gid_address_t addr 
)

Definition at line 803 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 lcaf_size_to_write ( void *  a)

Definition at line 1403 of file lisp_types.c.

u16 lcaf_write ( u8 p,
void *  a 
)

Definition at line 1180 of file lisp_types.c.

u32 locator_cmp ( locator_t l1,
locator_t l2 
)

Definition at line 1710 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void locator_copy ( locator_t dst,
locator_t src 
)

Definition at line 1701 of file lisp_types.c.

+ Here is the call graph for this function:

void locator_free ( locator_t l)

Definition at line 1728 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 locator_parse ( void *  b,
locator_t loc 
)

Definition at line 1676 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* mac_cast ( gid_address_t a)

Definition at line 1142 of file lisp_types.c.

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

Definition at line 1578 of file lisp_types.c.

+ Here is the caller graph for this function:

void mac_copy ( void *  dst,
void *  src 
)

Definition at line 1043 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 mac_length ( void *  a)

Definition at line 1118 of file lisp_types.c.

u32 mac_parse ( u8 offset,
u8 a 
)

Definition at line 1497 of file lisp_types.c.

+ Here is the caller graph for this function:

u16 mac_size_to_write ( void *  a)

Definition at line 1430 of file lisp_types.c.

+ Here is the caller graph for this function:

u16 mac_write ( u8 p,
void *  a 
)

Definition at line 1205 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* no_addr_cast ( gid_address_t a)

Definition at line 1148 of file lisp_types.c.

int no_addr_cmp ( void *  a1,
void *  a2 
)

Definition at line 1559 of file lisp_types.c.

void no_addr_copy ( void *  dst,
void *  src 
)

Definition at line 1085 of file lisp_types.c.

void no_addr_free ( void *  a)

Definition at line 830 of file lisp_types.c.

u8 no_addr_length ( void *  a)

Definition at line 1166 of file lisp_types.c.

u16 no_addr_parse ( u8 p,
void *  a 
)

Definition at line 796 of file lisp_types.c.

u16 no_addr_size_to_write ( void *  a)

Definition at line 1365 of file lisp_types.c.

u16 no_addr_write ( u8 p,
void *  a 
)

Definition at line 1358 of file lisp_types.c.

void* nsh_cast ( gid_address_t a)

Definition at line 1160 of file lisp_types.c.

int nsh_cmp ( void *  a1,
void *  a2 
)

Definition at line 714 of file lisp_types.c.

+ Here is the caller graph for this function:

void nsh_copy ( void *  dst,
void *  src 
)

Definition at line 1055 of file lisp_types.c.

+ Here is the caller graph for this function:

void nsh_free ( void *  a)

Definition at line 695 of file lisp_types.c.

u8 nsh_length ( void *  a)

Definition at line 1130 of file lisp_types.c.

u16 nsh_parse ( u8 p,
void *  a 
)

Definition at line 701 of file lisp_types.c.

u16 nsh_size_to_write ( void *  a)

Definition at line 1436 of file lisp_types.c.

u16 nsh_write ( u8 p,
void *  a 
)

Definition at line 1284 of file lisp_types.c.

void* sd_cast ( gid_address_t a)

Definition at line 1154 of file lisp_types.c.

int sd_cmp ( void *  a1,
void *  a2 
)

Definition at line 1604 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void sd_copy ( void *  dst,
void *  src 
)

Definition at line 1049 of file lisp_types.c.

void sd_free ( void *  a)

Definition at line 836 of file lisp_types.c.

u8 sd_length ( void *  a)

Definition at line 1124 of file lisp_types.c.

u16 sd_parse ( u8 p,
void *  a 
)

Definition at line 727 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 sd_size_to_write ( void *  a)

Definition at line 1419 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 sd_write ( u8 p,
void *  a 
)

Definition at line 1245 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 try_parse_src_dst_lcaf ( u8 p,
gid_address_t a 
)

Definition at line 757 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_fid_address ( unformat_input_t i,
va_list *  args 
)

Definition at line 288 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_gid_address ( unformat_input_t input,
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:

uword unformat_hmac_key_id ( unformat_input_t input,
va_list *  args 
)

Definition at line 317 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_ip_address ( unformat_input_t input,
va_list *  args 
)

Definition at line 164 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_ip_prefix ( unformat_input_t input,
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:

uword unformat_mac_address ( unformat_input_t input,
va_list *  args 
)

Definition at line 207 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_negative_mapping_action ( unformat_input_t input,
va_list *  args 
)

Definition at line 383 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uword unformat_nsh_address ( unformat_input_t input,
va_list *  args 
)

Definition at line 223 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int vni_cmp ( void *  a1,
void *  a2 
)

Definition at line 1565 of file lisp_types.c.

+ Here is the call graph for this function:

void vni_copy ( void *  dst,
void *  src 
)

Definition at line 1091 of file lisp_types.c.

+ Here is the call graph for this function:

void vni_free ( void *  a)

Definition at line 822 of file lisp_types.c.

+ Here is the call graph for this function:

u8 vni_length ( void *  a)

Definition at line 1172 of file lisp_types.c.

+ Here is the call graph for this function:

u16 vni_parse ( u8 p,
void *  a 
)

Definition at line 772 of file lisp_types.c.

+ Here is the call graph for this function:

u16 vni_size_to_write ( void *  a)

Definition at line 1388 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 vni_write ( u8 p,
void *  a 
)

Definition at line 1316 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_fct addr_len_fcts[GID_ADDR_TYPES]
Initial value:
=
}
u8 sd_length(void *a)
Definition: lisp_types.c:1124
u8 lcaf_length(void *a)
Definition: lisp_types.c:1112
u8 no_addr_length(void *a)
Definition: lisp_types.c:1166
u8 nsh_length(void *a)
Definition: lisp_types.c:1130
u8 mac_length(void *a)
Definition: lisp_types.c:1118
u8 ip_prefix_length(void *a)
Definition: lisp_types.c:1031

Definition at line 47 of file lisp_types.c.

Initial value:
=
}
void * ip_prefix_cast(gid_address_t *a)
Definition: lisp_types.c:1000
void * sd_cast(gid_address_t *a)
Definition: lisp_types.c:1154
void * lcaf_cast(gid_address_t *a)
Definition: lisp_types.c:1136
void * nsh_cast(gid_address_t *a)
Definition: lisp_types.c:1160
void * mac_cast(gid_address_t *a)
Definition: lisp_types.c:1142
void * no_addr_cast(gid_address_t *a)
Definition: lisp_types.c:1148

Definition at line 42 of file lisp_types.c.

Initial value:
=
}
void sd_copy(void *dst, void *src)
Definition: lisp_types.c:1049
void lcaf_copy(void *dst, void *src)
Definition: lisp_types.c:1102
void nsh_copy(void *dst, void *src)
Definition: lisp_types.c:1055
void mac_copy(void *dst, void *src)
Definition: lisp_types.c:1043
void no_addr_copy(void *dst, void *src)
Definition: lisp_types.c:1085
void ip_prefix_copy(void *dst, void *src)
Definition: lisp_types.c:1037

Definition at line 52 of file lisp_types.c.

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

Definition at line 101 of file lisp_types.c.

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

Definition at line 93 of file lisp_types.c.

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

Definition at line 108 of file lisp_types.c.

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

Definition at line 115 of file lisp_types.c.

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

Definition at line 136 of file lisp_types.c.

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

Definition at line 122 of file lisp_types.c.

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

Definition at line 129 of file lisp_types.c.

size_to_write_fct size_to_write_fcts[GID_ADDR_TYPES]
Initial value:
=
}
u16 nsh_size_to_write(void *a)
Definition: lisp_types.c:1436
u16 sd_size_to_write(void *a)
Definition: lisp_types.c:1419
u16 mac_size_to_write(void *a)
Definition: lisp_types.c:1430
u16 lcaf_size_to_write(void *a)
Definition: lisp_types.c:1403
u16 no_addr_size_to_write(void *a)
Definition: lisp_types.c:1365
u16 ip_prefix_size_to_write(void *pref)
Definition: lisp_types.c:1006

Definition at line 32 of file lisp_types.c.

Initial value:
=
}
u16 ip_prefix_write(u8 *p, void *gid)
Definition: lisp_types.c:1013
u16 nsh_write(u8 *p, void *a)
Definition: lisp_types.c:1284
u16 sd_write(u8 *p, void *a)
Definition: lisp_types.c:1245
u16 no_addr_write(u8 *p, void *a)
Definition: lisp_types.c:1358
u16 mac_write(u8 *p, void *a)
Definition: lisp_types.c:1205
u16 lcaf_write(u8 *p, void *a)
Definition: lisp_types.c:1180

Definition at line 37 of file lisp_types.c.