FD.io VPP  v19.01.3-6-g70449b9b9
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_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

◆ CONCAT

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

Definition at line 87 of file lisp_types.c.

◆ EXPAND_FCN

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

Definition at line 91 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)
#define NULL
Definition: clib.h:58
u32 vni
Definition: vxlan_gbp.api:36

Definition at line 57 of file lisp_types.c.

◆ IF

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

Definition at line 88 of file lisp_types.c.

◆ IF_0

#define IF_0 (   t,
 
)    e

Definition at line 89 of file lisp_types.c.

◆ IF_1

#define IF_1 (   t,
 
)    t

Definition at line 90 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

Definition at line 678 of file lisp_types.c.

Typedef Documentation

◆ addr_len_fct

typedef u8(* addr_len_fct) (void *)

Definition at line 27 of file lisp_types.c.

◆ cast_fct

typedef void*(* cast_fct) (gid_address_t *)

Definition at line 25 of file lisp_types.c.

◆ cmp_fct

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

Definition at line 30 of file lisp_types.c.

◆ copy_fct

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

Definition at line 28 of file lisp_types.c.

◆ free_fct

typedef void(* free_fct) (void *)

Definition at line 29 of file lisp_types.c.

◆ serdes_fct

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

Definition at line 26 of file lisp_types.c.

◆ size_to_write_fct

typedef u16(* size_to_write_fct) (void *)

Definition at line 24 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 1727 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 1576 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 658 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 1363 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 1205 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 1222 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 228 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 221 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 249 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 404 of file lisp_types.c.

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

◆ format_ip_address()

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:

◆ format_ip_prefix()

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:

◆ format_negative_mapping_action()

u8* format_negative_mapping_action ( u8 s,
va_list *  args 
)

Definition at line 422 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 214 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 1473 of file lisp_types.c.

◆ gid_address_cmp()

int gid_address_cmp ( gid_address_t a1,
gid_address_t a2 
)

Definition at line 1616 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 1479 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 834 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 845 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 1544 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 1434 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 1499 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 1448 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 1441 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 1464 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 1457 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 590 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 643 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 553 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 539 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 562 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 546 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_address_cmp()

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

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:

◆ ip_address_copy()

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

Definition at line 870 of file lisp_types.c.

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

◆ ip_address_copy_addr()

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

Definition at line 886 of file lisp_types.c.

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

◆ ip_address_iana_afi()

u16 ip_address_iana_afi ( ip_address_t *  a)

Definition at line 527 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 533 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 581 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 571 of file lisp_types.c.

+ Here is the call graph for this function:

◆ ip_address_set()

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

Definition at line 892 of file lisp_types.c.

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

◆ ip_address_size()

u16 ip_address_size ( const ip_address_t *  a)

Definition at line 446 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_address_size_to_write()

u16 ip_address_size_to_write ( ip_address_t *  a)

Definition at line 521 of file lisp_types.c.

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

◆ ip_address_to_46()

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

Definition at line 899 of file lisp_types.c.

+ 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 506 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 992 of file lisp_types.c.

◆ ip_prefix_cmp()

int ip_prefix_cmp ( ip_prefix_t *  p1,
ip_prefix_t *  p2 
)

Definition at line 1053 of file lisp_types.c.

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

◆ ip_prefix_copy()

void ip_prefix_copy ( void *  dst,
void *  src 
)

Definition at line 1029 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_prefix_length()

u8 ip_prefix_length ( void *  a)

Definition at line 1023 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_prefix_normalize()

void ip_prefix_normalize ( ip_prefix_t *  a)

Definition at line 972 of file lisp_types.c.

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

◆ ip_prefix_normalize_ip4()

static void ip_prefix_normalize_ip4 ( ip4_address_t ip4,
u8  preflen 
)
static

Definition at line 919 of file lisp_types.c.

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

◆ ip_prefix_normalize_ip6()

static void ip_prefix_normalize_ip6 ( ip6_address_t ip6,
u8  preflen 
)
static

Definition at line 936 of file lisp_types.c.

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

◆ ip_prefix_size_to_write()

u16 ip_prefix_size_to_write ( void *  pref)

Definition at line 998 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 1005 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 491 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ ip_version_to_max_plen()

u8 ip_version_to_max_plen ( u8  ver)

Definition at line 476 of file lisp_types.c.

◆ ip_version_to_size()

u16 ip_version_to_size ( u8  ver)

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

◆ lcaf_copy()

void lcaf_copy ( void *  dst,
void *  src 
)

Definition at line 1094 of file lisp_types.c.

◆ lcaf_hdr_parse()

u32 lcaf_hdr_parse ( void *  offset,
lcaf_t lcaf 
)

Definition at line 628 of file lisp_types.c.

+ Here is the caller graph for this function:

◆ lcaf_length()

u8 lcaf_length ( void *  a)

Definition at line 1104 of file lisp_types.c.

◆ lcaf_parse()

u32 lcaf_parse ( void *  offset,
gid_address_t addr 
)

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

◆ lcaf_write()

u16 lcaf_write ( u8 p,
void *  a 
)

Definition at line 1172 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 1702 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 1693 of file lisp_types.c.

+ Here is the call graph for this function:

◆ locator_free()

void locator_free ( locator_t l)

Definition at line 1720 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 1668 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 1134 of file lisp_types.c.

◆ mac_cmp()

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

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

+ Here is the caller graph for this function:

◆ mac_length()

u8 mac_length ( void *  a)

Definition at line 1110 of file lisp_types.c.

◆ mac_parse()

u32 mac_parse ( u8 offset,
u8 a 
)

Definition at line 1489 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 1422 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 1197 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 1140 of file lisp_types.c.

◆ no_addr_cmp()

int no_addr_cmp ( void *  a1,
void *  a2 
)

Definition at line 1551 of file lisp_types.c.

◆ no_addr_copy()

void no_addr_copy ( void *  dst,
void *  src 
)

Definition at line 1077 of file lisp_types.c.

◆ no_addr_free()

void no_addr_free ( void *  a)

Definition at line 822 of file lisp_types.c.

◆ no_addr_length()

u8 no_addr_length ( void *  a)

Definition at line 1158 of file lisp_types.c.

◆ no_addr_parse()

u16 no_addr_parse ( u8 p,
void *  a 
)

Definition at line 788 of file lisp_types.c.

◆ no_addr_size_to_write()

u16 no_addr_size_to_write ( void *  a)

Definition at line 1357 of file lisp_types.c.

◆ no_addr_write()

u16 no_addr_write ( u8 p,
void *  a 
)

Definition at line 1350 of file lisp_types.c.

◆ nsh_cast()

void* nsh_cast ( gid_address_t a)

Definition at line 1152 of file lisp_types.c.

◆ nsh_cmp()

int nsh_cmp ( void *  a1,
void *  a2 
)

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

+ Here is the caller graph for this function:

◆ nsh_free()

void nsh_free ( void *  a)

Definition at line 687 of file lisp_types.c.

◆ nsh_length()

u8 nsh_length ( void *  a)

Definition at line 1122 of file lisp_types.c.

◆ nsh_parse()

u16 nsh_parse ( u8 p,
void *  a 
)

Definition at line 693 of file lisp_types.c.

◆ nsh_size_to_write()

u16 nsh_size_to_write ( void *  a)

Definition at line 1428 of file lisp_types.c.

◆ nsh_write()

u16 nsh_write ( u8 p,
void *  a 
)

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

◆ sd_cmp()

int sd_cmp ( void *  a1,
void *  a2 
)

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

◆ sd_free()

void sd_free ( void *  a)

Definition at line 828 of file lisp_types.c.

◆ sd_length()

u8 sd_length ( void *  a)

Definition at line 1116 of file lisp_types.c.

◆ sd_parse()

u16 sd_parse ( u8 p,
void *  a 
)

Definition at line 719 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 1411 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 1237 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 749 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 280 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 334 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 309 of file lisp_types.c.

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

◆ unformat_ip_address()

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:

◆ unformat_ip_prefix()

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:

◆ unformat_negative_mapping_action()

uword unformat_negative_mapping_action ( unformat_input_t input,
va_list *  args 
)

Definition at line 375 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 207 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 1557 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 1083 of file lisp_types.c.

+ Here is the call graph for this function:

◆ vni_free()

void vni_free ( void *  a)

Definition at line 814 of file lisp_types.c.

+ Here is the call graph for this function:

◆ vni_length()

u8 vni_length ( void *  a)

Definition at line 1164 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 764 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 1380 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 1308 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:1116
u8 lcaf_length(void *a)
Definition: lisp_types.c:1104
u8 no_addr_length(void *a)
Definition: lisp_types.c:1158
u8 nsh_length(void *a)
Definition: lisp_types.c:1122
u8 mac_length(void *a)
Definition: lisp_types.c:1110
u8 ip_prefix_length(void *a)
Definition: lisp_types.c:1023

Definition at line 47 of file lisp_types.c.

◆ cast_fcts

Initial value:
=
}
void * ip_prefix_cast(gid_address_t *a)
Definition: lisp_types.c:992
void * sd_cast(gid_address_t *a)
Definition: lisp_types.c:1146
void * lcaf_cast(gid_address_t *a)
Definition: lisp_types.c:1128
void * nsh_cast(gid_address_t *a)
Definition: lisp_types.c:1152
void * mac_cast(gid_address_t *a)
Definition: lisp_types.c:1134
void * no_addr_cast(gid_address_t *a)
Definition: lisp_types.c:1140

Definition at line 42 of file lisp_types.c.

◆ copy_fcts

Initial value:
=
}
void sd_copy(void *dst, void *src)
Definition: lisp_types.c:1041
void lcaf_copy(void *dst, void *src)
Definition: lisp_types.c:1094
void nsh_copy(void *dst, void *src)
Definition: lisp_types.c:1047
void mac_copy(void *dst, void *src)
Definition: lisp_types.c:1035
void no_addr_copy(void *dst, void *src)
Definition: lisp_types.c:1077
void ip_prefix_copy(void *dst, void *src)
Definition: lisp_types.c:1029

Definition at line 52 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:57

Definition at line 101 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:57

Definition at line 93 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:57

Definition at line 108 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:57

Definition at line 115 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:57

Definition at line 136 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:57

Definition at line 122 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:57

Definition at line 129 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:1428
u16 sd_size_to_write(void *a)
Definition: lisp_types.c:1411
u16 mac_size_to_write(void *a)
Definition: lisp_types.c:1422
u16 lcaf_size_to_write(void *a)
Definition: lisp_types.c:1395
u16 no_addr_size_to_write(void *a)
Definition: lisp_types.c:1357
u16 ip_prefix_size_to_write(void *pref)
Definition: lisp_types.c:998

Definition at line 32 of file lisp_types.c.

◆ write_fcts

Initial value:
=
}
u16 ip_prefix_write(u8 *p, void *gid)
Definition: lisp_types.c:1005
u16 nsh_write(u8 *p, void *a)
Definition: lisp_types.c:1276
u16 sd_write(u8 *p, void *a)
Definition: lisp_types.c:1237
u16 no_addr_write(u8 *p, void *a)
Definition: lisp_types.c:1350
u16 mac_write(u8 *p, void *a)
Definition: lisp_types.c:1197
u16 lcaf_write(u8 *p, void *a)
Definition: lisp_types.c:1172

Definition at line 37 of file lisp_types.c.