FD.io VPP  v17.10-9-gd594711
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_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 694 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 1743 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 1592 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 674 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 1379 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 1221 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 1238 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 244 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8* format_fid_nsh_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 265 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 420 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 438 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 1489 of file lisp_types.c.

int gid_address_cmp ( gid_address_t a1,
gid_address_t a2 
)

Definition at line 1632 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 1495 of file lisp_types.c.

+ Here is the caller graph for this function:

void gid_address_free ( gid_address_t a)

Definition at line 850 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 861 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 1560 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 1450 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 1515 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 1464 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 1457 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 1480 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 1473 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 606 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 659 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 569 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 555 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 578 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 562 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 869 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 886 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 902 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 543 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 549 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 597 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 587 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 908 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 462 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 537 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 915 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 522 of file lisp_types.c.

+ Here is the caller graph for this function:

void* ip_prefix_cast ( gid_address_t a)

Definition at line 1008 of file lisp_types.c.

int ip_prefix_cmp ( ip_prefix_t *  p1,
ip_prefix_t *  p2 
)

Definition at line 1069 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 1045 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 ip_prefix_length ( void *  a)

Definition at line 1039 of file lisp_types.c.

+ Here is the caller graph for this function:

void ip_prefix_normalize ( ip_prefix_t *  a)

Definition at line 988 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 935 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 952 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 1014 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 1021 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 507 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 ip_version_to_max_plen ( u8  ver)

Definition at line 492 of file lisp_types.c.

u16 ip_version_to_size ( u8  ver)

Definition at line 477 of file lisp_types.c.

+ Here is the caller graph for this function:

void* lcaf_cast ( gid_address_t a)

Definition at line 1144 of file lisp_types.c.

void lcaf_copy ( void *  dst,
void *  src 
)

Definition at line 1110 of file lisp_types.c.

u32 lcaf_hdr_parse ( void *  offset,
lcaf_t lcaf 
)

Definition at line 644 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 lcaf_length ( void *  a)

Definition at line 1120 of file lisp_types.c.

u32 lcaf_parse ( void *  offset,
gid_address_t addr 
)

Definition at line 811 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 1411 of file lisp_types.c.

u16 lcaf_write ( u8 p,
void *  a 
)

Definition at line 1188 of file lisp_types.c.

u32 locator_cmp ( locator_t l1,
locator_t l2 
)

Definition at line 1718 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 1709 of file lisp_types.c.

+ Here is the call graph for this function:

void locator_free ( locator_t l)

Definition at line 1736 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 1684 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 1150 of file lisp_types.c.

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

Definition at line 1586 of file lisp_types.c.

+ Here is the caller graph for this function:

void mac_copy ( void *  dst,
void *  src 
)

Definition at line 1051 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 mac_length ( void *  a)

Definition at line 1126 of file lisp_types.c.

u32 mac_parse ( u8 offset,
u8 a 
)

Definition at line 1505 of file lisp_types.c.

+ Here is the caller graph for this function:

u16 mac_size_to_write ( void *  a)

Definition at line 1438 of file lisp_types.c.

+ Here is the caller graph for this function:

u16 mac_write ( u8 p,
void *  a 
)

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:

void* no_addr_cast ( gid_address_t a)

Definition at line 1156 of file lisp_types.c.

int no_addr_cmp ( void *  a1,
void *  a2 
)

Definition at line 1567 of file lisp_types.c.

void no_addr_copy ( void *  dst,
void *  src 
)

Definition at line 1093 of file lisp_types.c.

void no_addr_free ( void *  a)

Definition at line 838 of file lisp_types.c.

u8 no_addr_length ( void *  a)

Definition at line 1174 of file lisp_types.c.

u16 no_addr_parse ( u8 p,
void *  a 
)

Definition at line 804 of file lisp_types.c.

u16 no_addr_size_to_write ( void *  a)

Definition at line 1373 of file lisp_types.c.

u16 no_addr_write ( u8 p,
void *  a 
)

Definition at line 1366 of file lisp_types.c.

void* nsh_cast ( gid_address_t a)

Definition at line 1168 of file lisp_types.c.

int nsh_cmp ( void *  a1,
void *  a2 
)

Definition at line 722 of file lisp_types.c.

+ Here is the caller graph for this function:

void nsh_copy ( void *  dst,
void *  src 
)

Definition at line 1063 of file lisp_types.c.

+ Here is the caller graph for this function:

void nsh_free ( void *  a)

Definition at line 703 of file lisp_types.c.

u8 nsh_length ( void *  a)

Definition at line 1138 of file lisp_types.c.

u16 nsh_parse ( u8 p,
void *  a 
)

Definition at line 709 of file lisp_types.c.

u16 nsh_size_to_write ( void *  a)

Definition at line 1444 of file lisp_types.c.

u16 nsh_write ( u8 p,
void *  a 
)

Definition at line 1292 of file lisp_types.c.

void* sd_cast ( gid_address_t a)

Definition at line 1162 of file lisp_types.c.

int sd_cmp ( void *  a1,
void *  a2 
)

Definition at line 1612 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 1057 of file lisp_types.c.

void sd_free ( void *  a)

Definition at line 844 of file lisp_types.c.

u8 sd_length ( void *  a)

Definition at line 1132 of file lisp_types.c.

u16 sd_parse ( u8 p,
void *  a 
)

Definition at line 735 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 1427 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 1253 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 765 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 296 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 350 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 325 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 391 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 1573 of file lisp_types.c.

+ Here is the call graph for this function:

void vni_copy ( void *  dst,
void *  src 
)

Definition at line 1099 of file lisp_types.c.

+ Here is the call graph for this function:

void vni_free ( void *  a)

Definition at line 830 of file lisp_types.c.

+ Here is the call graph for this function:

u8 vni_length ( void *  a)

Definition at line 1180 of file lisp_types.c.

+ Here is the call graph for this function:

u16 vni_parse ( u8 p,
void *  a 
)

Definition at line 780 of file lisp_types.c.

+ Here is the call graph for this function:

u16 vni_size_to_write ( void *  a)

Definition at line 1396 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 1324 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:1132
u8 lcaf_length(void *a)
Definition: lisp_types.c:1120
u8 no_addr_length(void *a)
Definition: lisp_types.c:1174
u8 nsh_length(void *a)
Definition: lisp_types.c:1138
u8 mac_length(void *a)
Definition: lisp_types.c:1126
u8 ip_prefix_length(void *a)
Definition: lisp_types.c:1039

Definition at line 47 of file lisp_types.c.

Initial value:
=
}
void * ip_prefix_cast(gid_address_t *a)
Definition: lisp_types.c:1008
void * sd_cast(gid_address_t *a)
Definition: lisp_types.c:1162
void * lcaf_cast(gid_address_t *a)
Definition: lisp_types.c:1144
void * nsh_cast(gid_address_t *a)
Definition: lisp_types.c:1168
void * mac_cast(gid_address_t *a)
Definition: lisp_types.c:1150
void * no_addr_cast(gid_address_t *a)
Definition: lisp_types.c:1156

Definition at line 42 of file lisp_types.c.

Initial value:
=
}
void sd_copy(void *dst, void *src)
Definition: lisp_types.c:1057
void lcaf_copy(void *dst, void *src)
Definition: lisp_types.c:1110
void nsh_copy(void *dst, void *src)
Definition: lisp_types.c:1063
void mac_copy(void *dst, void *src)
Definition: lisp_types.c:1051
void no_addr_copy(void *dst, void *src)
Definition: lisp_types.c:1093
void ip_prefix_copy(void *dst, void *src)
Definition: lisp_types.c:1045

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:1444
u16 sd_size_to_write(void *a)
Definition: lisp_types.c:1427
u16 mac_size_to_write(void *a)
Definition: lisp_types.c:1438
u16 lcaf_size_to_write(void *a)
Definition: lisp_types.c:1411
u16 no_addr_size_to_write(void *a)
Definition: lisp_types.c:1373
u16 ip_prefix_size_to_write(void *pref)
Definition: lisp_types.c:1014

Definition at line 32 of file lisp_types.c.

Initial value:
=
}
u16 ip_prefix_write(u8 *p, void *gid)
Definition: lisp_types.c:1021
u16 nsh_write(u8 *p, void *a)
Definition: lisp_types.c:1292
u16 sd_write(u8 *p, void *a)
Definition: lisp_types.c:1253
u16 no_addr_write(u8 *p, void *a)
Definition: lisp_types.c:1366
u16 mac_write(u8 *p, void *a)
Definition: lisp_types.c:1213
u16 lcaf_write(u8 *p, void *a)
Definition: lisp_types.c:1188

Definition at line 37 of file lisp_types.c.