FD.io VPP  v16.06
Vector Packet Processing
lisp_types.c File Reference
+ Include dependency graph for lisp_types.c:

Go to the source code of this file.

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

u16 vni_write (u8 *p, void *a)
 
u16 vni_parse (u8 *p, void *a)
 
u16 vni_size_to_write (void *a)
 
void vni_free (void *a)
 
void vni_copy (void *dst, void *src)
 
u16 vni_length (void *a)
 
int vni_cmp (void *, void *)
 
u16 no_addr_size_to_write (void *)
 
u16 no_addr_write (u8 *p, void *a)
 
u16 no_addr_parse (u8 *p, void *a)
 
void no_addr_free (void *a)
 
void no_addr_copy (void *, void *)
 
u16 no_addr_length (void *a)
 
int no_addr_cmp (void *a1, void *a2)
 
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)
 
u8format_gid_address (u8 *s, va_list *args)
 
uword unformat_gid_address (unformat_input_t *input, va_list *args)
 
u16 ip_address_size (ip_address_t *a)
 
u16 ip_version_to_size (u8 ver)
 
u8 ip_version_to_max_plen (u8 ver)
 
always_inline lisp_afi_e ip_version_to_iana_afi (u16 version)
 
always_inline 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)
 
u32 lcaf_hdr_parse (void *offset, lcaf_t *lcaf)
 
u32 lcaf_parse (void *offset, gid_address_t *addr)
 
void gid_address_free (gid_address_t *a)
 
int ip_address_cmp (ip_address_t *ip1, ip_address_t *ip2)
 
void ip_address_copy (ip_address_t *dst, ip_address_t *src)
 
void ip_address_copy_addr (void *dst, ip_address_t *src)
 
voidip_prefix_cast (gid_address_t *a)
 
u16 ip_prefix_size_to_write (void *pref)
 
u16 ip_prefix_write (u8 *p, void *pref)
 
u8 ip_prefix_length (void *a)
 
void ip_prefix_copy (void *dst, void *src)
 
int ip_prefix_cmp (ip_prefix_t *p1, ip_prefix_t *p2)
 
void lcaf_copy (void *dst, void *src)
 
u8 lcaf_prefix_length (void *a)
 
voidlcaf_cast (gid_address_t *a)
 
u16 lcaf_write (u8 *p, void *a)
 
u16 lcaf_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)
 
voidgid_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)
 
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)
 

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]
 
size_to_write_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]
 

Typedef Documentation

typedef u8(* addr_len_fct) (void *)

Definition at line 21 of file lisp_types.c.

typedef void*(* cast_fct) (gid_address_t *)

Definition at line 19 of file lisp_types.c.

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

Definition at line 24 of file lisp_types.c.

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

Definition at line 22 of file lisp_types.c.

typedef void(* free_fct) (void *)

Definition at line 23 of file lisp_types.c.

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

Definition at line 20 of file lisp_types.c.

typedef u16(* size_to_write_fct) (void *)

Definition at line 18 of file lisp_types.c.

Function Documentation

u8* format_gid_address ( u8 s,
va_list *  args 
)

Definition at line 151 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 103 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 136 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 650 of file lisp_types.c.

int gid_address_cmp ( gid_address_t a1,
gid_address_t a2 
)

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gid_address_free ( gid_address_t a)

Definition at line 392 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 gid_address_len ( gid_address_t a)

Definition at line 629 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gid_address_parse ( u8 offset,
gid_address_t a 
)

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u16 gid_address_size_to_put ( gid_address_t gid)

Definition at line 643 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 ip4_address_put ( u8 b,
ip4_address_t a 
)

Definition at line 284 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 270 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 293 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 277 of file lisp_types.c.

+ Here is the caller graph for this function:

int ip_address_cmp ( ip_address_t *  ip1,
ip_address_t *  ip2 
)

Definition at line 403 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,
ip_address_t *  src 
)

Definition at line 419 of file lisp_types.c.

+ Here is the caller graph for this function:

void ip_address_copy_addr ( void dst,
ip_address_t *  src 
)

Definition at line 425 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 258 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 264 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 312 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 302 of file lisp_types.c.

+ Here is the call graph for this function:

u16 ip_address_size ( ip_address_t *  a)

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

always_inline u8 ip_iana_afi_to_version ( lisp_afi_e  afi)

Definition at line 237 of file lisp_types.c.

+ Here is the caller graph for this function:

void* ip_prefix_cast ( gid_address_t a)

Definition at line 431 of file lisp_types.c.

int ip_prefix_cmp ( ip_prefix_t *  p1,
ip_prefix_t *  p2 
)

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

+ Here is the caller graph for this function:

u8 ip_prefix_length ( void a)

Definition at line 460 of file lisp_types.c.

u16 ip_prefix_size_to_write ( void pref)

Definition at line 437 of file lisp_types.c.

+ Here is the call graph for this function:

u16 ip_prefix_write ( u8 p,
void pref 
)

Definition at line 444 of file lisp_types.c.

+ Here is the call graph for this function:

always_inline lisp_afi_e ip_version_to_iana_afi ( u16  version)

Definition at line 222 of file lisp_types.c.

+ Here is the caller graph for this function:

u8 ip_version_to_max_plen ( u8  ver)

Definition at line 207 of file lisp_types.c.

u16 ip_version_to_size ( u8  ver)

Definition at line 192 of file lisp_types.c.

+ Here is the caller graph for this function:

void* lcaf_cast ( gid_address_t a)

Definition at line 525 of file lisp_types.c.

void lcaf_copy ( void dst,
void src 
)

Definition at line 509 of file lisp_types.c.

u32 lcaf_hdr_parse ( void offset,
lcaf_t lcaf 
)

Definition at line 321 of file lisp_types.c.

+ Here is the caller graph for this function:

u32 lcaf_parse ( void offset,
gid_address_t addr 
)

Definition at line 359 of file lisp_types.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u8 lcaf_prefix_length ( void a)

Definition at line 519 of file lisp_types.c.

u16 lcaf_size_to_write ( void a)

Definition at line 613 of file lisp_types.c.

+ Here is the call graph for this function:

u16 lcaf_write ( u8 p,
void a 
)

Definition at line 545 of file lisp_types.c.

+ Here is the call graph for this function:

u32 locator_cmp ( locator_t l1,
locator_t l2 
)

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

+ Here is the call graph for this function:

void locator_free ( locator_t l)

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int no_addr_cmp ( void a1,
void a2 
)

Definition at line 704 of file lisp_types.c.

void no_addr_copy ( void dst,
void src 
)

Definition at line 492 of file lisp_types.c.

void no_addr_free ( void a)

Definition at line 386 of file lisp_types.c.

u16 no_addr_length ( void a)

Definition at line 531 of file lisp_types.c.

u16 no_addr_parse ( u8 p,
void a 
)

Definition at line 352 of file lisp_types.c.

u16 no_addr_size_to_write ( void a)

Definition at line 596 of file lisp_types.c.

u16 no_addr_write ( u8 p,
void a 
)

Definition at line 589 of file lisp_types.c.

uword unformat_gid_address ( unformat_input_t input,
va_list *  args 
)

Definition at line 166 of file lisp_types.c.

+ Here is the call graph for this function:

uword unformat_ip_address ( unformat_input_t input,
va_list *  args 
)

Definition at line 123 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 143 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 710 of file lisp_types.c.

+ Here is the call graph for this function:

void vni_copy ( void dst,
void src 
)

Definition at line 498 of file lisp_types.c.

+ Here is the call graph for this function:

void vni_free ( void a)

Definition at line 378 of file lisp_types.c.

+ Here is the call graph for this function:

u16 vni_length ( void a)

Definition at line 537 of file lisp_types.c.

+ Here is the call graph for this function:

u16 vni_parse ( u8 p,
void a 
)

Definition at line 336 of file lisp_types.c.

+ Here is the call graph for this function:

u16 vni_size_to_write ( void a)

Definition at line 602 of file lisp_types.c.

+ Here is the call graph for this function:

u16 vni_write ( u8 p,
void a 
)

Definition at line 573 of file lisp_types.c.

+ Here is the call graph for this function:

Variable Documentation

addr_len_fct addr_len_fcts[GID_ADDR_TYPES]
Initial value:
=
u8 lcaf_prefix_length(void *a)
Definition: lisp_types.c:519
u8 ip_prefix_length(void *a)
Definition: lisp_types.c:460

Definition at line 48 of file lisp_types.c.

Initial value:
=
void * ip_prefix_cast(gid_address_t *a)
Definition: lisp_types.c:431
void * lcaf_cast(gid_address_t *a)
Definition: lisp_types.c:525

Definition at line 46 of file lisp_types.c.

Initial value:
=
void lcaf_copy(void *dst, void *src)
Definition: lisp_types.c:509
void ip_prefix_copy(void *dst, void *src)
Definition: lisp_types.c:466

Definition at line 50 of file lisp_types.c.

size_to_write_fct lcaf_body_length_fcts[LCAF_TYPES]
Initial value:
=
{
}
#define NULL
Definition: clib.h:55
u16 no_addr_length(void *a)
Definition: lisp_types.c:531
u16 vni_length(void *a)
Definition: lisp_types.c:537

Definition at line 60 of file lisp_types.c.

cmp_fct lcaf_cmp_fcts[LCAF_TYPES]
Initial value:
=
{
}
#define NULL
Definition: clib.h:55
int no_addr_cmp(void *a1, void *a2)
Definition: lisp_types.c:704
int vni_cmp(void *, void *)
Definition: lisp_types.c:710

Definition at line 53 of file lisp_types.c.

copy_fct lcaf_copy_fcts[LCAF_TYPES]
Initial value:
=
{
}
void vni_copy(void *dst, void *src)
Definition: lisp_types.c:498
#define NULL
Definition: clib.h:55
void no_addr_copy(void *, void *)
Definition: lisp_types.c:492

Definition at line 67 of file lisp_types.c.

free_fct lcaf_free_fcts[LCAF_TYPES]
Initial value:
=
{
}
#define NULL
Definition: clib.h:55
void no_addr_free(void *a)
Definition: lisp_types.c:386
void vni_free(void *a)
Definition: lisp_types.c:378

Definition at line 74 of file lisp_types.c.

serdes_fct lcaf_parse_fcts[LCAF_TYPES]
Initial value:
=
{
}
u16 no_addr_parse(u8 *p, void *a)
Definition: lisp_types.c:352
#define NULL
Definition: clib.h:55
u16 vni_parse(u8 *p, void *a)
Definition: lisp_types.c:336

Definition at line 95 of file lisp_types.c.

size_to_write_fct lcaf_size_to_write_fcts[LCAF_TYPES]
Initial value:
=
{
}
u16 no_addr_size_to_write(void *)
Definition: lisp_types.c:596
#define NULL
Definition: clib.h:55
u16 vni_size_to_write(void *a)
Definition: lisp_types.c:602

Definition at line 81 of file lisp_types.c.

serdes_fct lcaf_write_fcts[LCAF_TYPES]
Initial value:
=
{
}
#define NULL
Definition: clib.h:55
u16 no_addr_write(u8 *p, void *a)
Definition: lisp_types.c:589
u16 vni_write(u8 *p, void *a)
Definition: lisp_types.c:573

Definition at line 88 of file lisp_types.c.

size_to_write_fct size_to_write_fcts[GID_ADDR_TYPES]
Initial value:
=
u16 lcaf_size_to_write(void *a)
Definition: lisp_types.c:613
u16 ip_prefix_size_to_write(void *pref)
Definition: lisp_types.c:437

Definition at line 42 of file lisp_types.c.

Initial value:
=
u16 ip_prefix_write(u8 *p, void *pref)
Definition: lisp_types.c:444
u16 lcaf_write(u8 *p, void *a)
Definition: lisp_types.c:545

Definition at line 44 of file lisp_types.c.