aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/lisp-cp/lisp_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'vnet/vnet/lisp-cp/lisp_types.h')
-rw-r--r--vnet/vnet/lisp-cp/lisp_types.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/vnet/vnet/lisp-cp/lisp_types.h b/vnet/vnet/lisp-cp/lisp_types.h
index 21e24fb3aee..c4e84e165c6 100644
--- a/vnet/vnet/lisp-cp/lisp_types.h
+++ b/vnet/vnet/lisp-cp/lisp_types.h
@@ -35,9 +35,15 @@ typedef CLIB_PACKED(struct ip_address
u8 version;
}) ip_address_t;
+#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
+
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);
+void ip_address_set(ip_address_t * dst, void * src, u8 version);
typedef CLIB_PACKED(struct ip_prefix
{
@@ -45,11 +51,6 @@ typedef CLIB_PACKED(struct ip_prefix
u8 len;
}) ip_prefix_t;
-#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
-
#define ip_prefix_addr(_a) (_a)->addr
#define ip_prefix_version(_a) ip_addr_version(&ip_prefix_addr(_a))
#define ip_prefix_len(_a) (_a)->len
@@ -162,6 +163,7 @@ u32 gid_address_parse (u8 * offset, gid_address_t *a);
#define gid_address_ippref(_a) (_a)->ippref
#define gid_address_ippref_len(_a) (_a)->ippref.len
#define gid_address_ip(_a) ip_prefix_addr(&gid_address_ippref(_a))
+#define gid_address_ip_version(_a) ip_addr_version(&gid_address_ip(_a))
#define gid_address_lcaf(_a) (_a)->lcaf
#define gid_address_vni(_a) ( (GID_ADDR_LCAF == gid_address_type(_a)) ? \
lcaf_vni(&gid_address_lcaf(_a)) : 0)