X-Git-Url: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip_types.h;h=dc07d23087d5a2836c1152f5a1a1b5169e4a68b3;hp=d292725243409c99b9e5aa943c738cb64865b20d;hb=282872127;hpb=d057625d499525625d60d2207665eaeb755e380e diff --git a/src/vnet/ip/ip_types.h b/src/vnet/ip/ip_types.h index d2927252434..dc07d23087d 100644 --- a/src/vnet/ip/ip_types.h +++ b/src/vnet/ip/ip_types.h @@ -46,11 +46,15 @@ typedef struct ip_address } __clib_packed ip_address_t; /* *INDENT-ON* */ +#define IP_ADDRESS_V4_ALL_0S {.ip.v4.as_u32 = 0, .version = AF_IP4} +#define IP_ADDRESS_V6_ALL_0S {.ip.v4.as_u32 = 0, .version = AF_IP6} + #define ip_addr_addr(_a) (_a)->ip #define ip_addr_v4(_a) (_a)->ip.v4 #define ip_addr_v6(_a) (_a)->ip.v6 #define ip_addr_version(_a) (_a)->version +extern bool ip_address_is_zero (const ip_address_t * ip); extern int ip_address_cmp (const ip_address_t * ip1, const ip_address_t * ip2); extern void ip_address_copy (ip_address_t * dst, const ip_address_t * src); @@ -60,8 +64,10 @@ extern u16 ip_address_size (const ip_address_t * a); extern u16 ip_version_to_size (u8 ver); extern u8 *format_ip_address (u8 * s, va_list * args); extern uword unformat_ip_address (unformat_input_t * input, va_list * args); -extern void ip_address_to_46 (const ip_address_t * addr, - ip46_address_t * a, fib_protocol_t * proto); +extern fib_protocol_t ip_address_to_46 (const ip_address_t * addr, + ip46_address_t * a); +extern void ip_address_from_46 (const ip46_address_t * a, + fib_protocol_t fproto, ip_address_t * addr); /* *INDENT-OFF* */ typedef struct ip_prefix