FD.io VPP  v21.01.1
Vector Packet Processing
ip_types.c File Reference
+ Include dependency graph for ip_types.c:

Go to the source code of this file.

Functions

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)
 
u16 ip_address_size (const ip_address_t *a)
 
bool ip_address_is_zero (const 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)
 
u8ip_addr_bytes (ip_address_t *ip)
 
void ip_address_copy_addr (void *dst, const ip_address_t *src)
 
u16 ip_version_to_size (ip_address_family_t af)
 
vnet_link_t ip_address_family_to_link_type (ip_address_family_t af)
 
void ip_address_set (ip_address_t *dst, const void *src, u8 version)
 
fib_protocol_t ip_address_family_to_fib_proto (ip_address_family_t af)
 
ip_address_family_t ip_address_family_from_fib_proto (fib_protocol_t fp)
 
fib_protocol_t ip_address_to_46 (const ip_address_t *addr, ip46_address_t *a)
 
void ip_address_from_46 (const ip46_address_t *nh, fib_protocol_t fproto, ip_address_t *ip)
 
void ip_address_to_fib_prefix (const ip_address_t *addr, fib_prefix_t *prefix)
 convert from a IP address to a FIB prefix More...
 
void ip_address_increment (ip_address_t *ip)
 
void ip_address_reset (ip_address_t *ip)
 
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_copy (void *dst, void *src)
 
int ip_prefix_cmp (ip_prefix_t *p1, ip_prefix_t *p2)
 
void ip_prefix_to_fib_prefix (const ip_prefix_t *ip_prefix, fib_prefix_t *fib_prefix)
 convert from a LISP to a FIB prefix More...
 
static bool ip4_prefix_validate (const ip_prefix_t *ip)
 
static bool ip6_prefix_validate (const ip_prefix_t *ip)
 
bool ip_prefix_validate (const ip_prefix_t *ip)
 
void ip4_address_normalize (ip4_address_t *ip4, u8 preflen)
 
void ip6_address_normalize (ip6_address_t *ip6, u8 preflen)
 
void ip4_preflen_to_mask (u8 pref_len, ip4_address_t *ip)
 
u32 ip4_mask_to_preflen (ip4_address_t *mask)
 
void ip4_prefix_max_address_host_order (ip4_address_t *ip, u8 plen, ip4_address_t *res)
 
void ip6_preflen_to_mask (u8 pref_len, ip6_address_t *mask)
 
void ip6_prefix_max_address_host_order (ip6_address_t *ip, u8 plen, ip6_address_t *res)
 
u32 ip6_mask_to_preflen (ip6_address_t *mask)
 

Function Documentation

◆ format_ip_address()

u8* format_ip_address ( u8 s,
va_list *  args 
)

Definition at line 21 of file ip_types.c.

+ Here is the caller graph for this function:

◆ format_ip_prefix()

u8* format_ip_prefix ( u8 s,
va_list *  args 
)

Definition at line 56 of file ip_types.c.

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

◆ ip4_address_normalize()

void ip4_address_normalize ( ip4_address_t ip4,
u8  preflen 
)

Definition at line 462 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip4_mask_to_preflen()

u32 ip4_mask_to_preflen ( ip4_address_t mask)

Definition at line 501 of file ip_types.c.

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

◆ ip4_prefix_max_address_host_order()

void ip4_prefix_max_address_host_order ( ip4_address_t ip,
u8  plen,
ip4_address_t res 
)

Definition at line 509 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip4_prefix_validate()

static bool ip4_prefix_validate ( const ip_prefix_t ip)
static

Definition at line 419 of file ip_types.c.

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

◆ ip4_preflen_to_mask()

void ip4_preflen_to_mask ( u8  pref_len,
ip4_address_t ip 
)

Definition at line 492 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip6_address_normalize()

void ip6_address_normalize ( ip6_address_t *  ip6,
u8  preflen 
)

Definition at line 472 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip6_mask_to_preflen()

u32 ip6_mask_to_preflen ( ip6_address_t *  mask)

Definition at line 563 of file ip_types.c.

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

◆ ip6_prefix_max_address_host_order()

void ip6_prefix_max_address_host_order ( ip6_address_t *  ip,
u8  plen,
ip6_address_t *  res 
)

Definition at line 540 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip6_prefix_validate()

static bool ip6_prefix_validate ( const ip_prefix_t ip)
static

Definition at line 433 of file ip_types.c.

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

◆ ip6_preflen_to_mask()

void ip6_preflen_to_mask ( u8  pref_len,
ip6_address_t *  mask 
)

Definition at line 518 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip_addr_bytes()

u8* ip_addr_bytes ( ip_address_t ip)

Definition at line 149 of file ip_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 117 of file ip_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 133 of file ip_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 164 of file ip_types.c.

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

◆ ip_address_family_from_fib_proto()

ip_address_family_t ip_address_family_from_fib_proto ( fib_protocol_t  fp)

Definition at line 238 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip_address_family_to_fib_proto()

fib_protocol_t ip_address_family_to_fib_proto ( ip_address_family_t  af)

Definition at line 224 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip_address_family_to_link_type()

vnet_link_t ip_address_family_to_link_type ( ip_address_family_t  af)

Definition at line 193 of file ip_types.c.

◆ ip_address_from_46()

void ip_address_from_46 ( const ip46_address_t *  nh,
fib_protocol_t  fproto,
ip_address_t ip 
)

Definition at line 260 of file ip_types.c.

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

◆ ip_address_increment()

void ip_address_increment ( ip_address_t ip)

Definition at line 292 of file ip_types.c.

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

◆ ip_address_is_zero()

bool ip_address_is_zero ( const ip_address_t ip)

Definition at line 102 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip_address_reset()

void ip_address_reset ( ip_address_t ip)

Definition at line 299 of file ip_types.c.

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

◆ ip_address_set()

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

Definition at line 208 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip_address_size()

u16 ip_address_size ( const ip_address_t a)

Definition at line 87 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip_address_to_46()

fib_protocol_t ip_address_to_46 ( const ip_address_t addr,
ip46_address_t *  a 
)

Definition at line 253 of file ip_types.c.

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

◆ ip_address_to_fib_prefix()

void ip_address_to_fib_prefix ( const ip_address_t addr,
fib_prefix_t prefix 
)

convert from a IP address to a FIB prefix

Definition at line 271 of file ip_types.c.

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

◆ ip_prefix_cmp()

int ip_prefix_cmp ( ip_prefix_t p1,
ip_prefix_t p2 
)

Definition at line 384 of file ip_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 378 of file ip_types.c.

+ Here is the caller graph for this function:

◆ ip_prefix_normalize()

void ip_prefix_normalize ( ip_prefix_t a)

Definition at line 358 of file ip_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 305 of file ip_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 322 of file ip_types.c.

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

◆ ip_prefix_to_fib_prefix()

void ip_prefix_to_fib_prefix ( const ip_prefix_t ip_prefix,
fib_prefix_t fib_prefix 
)

convert from a LISP to a FIB prefix

Definition at line 411 of file ip_types.c.

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

◆ ip_prefix_validate()

bool ip_prefix_validate ( const ip_prefix_t ip)

Definition at line 448 of file ip_types.c.

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

◆ ip_version_to_size()

u16 ip_version_to_size ( ip_address_family_t  af)

Definition at line 178 of file ip_types.c.

+ 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 41 of file ip_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 64 of file ip_types.c.

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