aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/lisp-cp/lisp_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/lisp-cp/lisp_types.h')
-rw-r--r--src/vnet/lisp-cp/lisp_types.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/vnet/lisp-cp/lisp_types.h b/src/vnet/lisp-cp/lisp_types.h
index f5d2a676..b7ad0f27 100644
--- a/src/vnet/lisp-cp/lisp_types.h
+++ b/src/vnet/lisp-cp/lisp_types.h
@@ -102,6 +102,7 @@ typedef enum
LCAF_AFI_LIST_TYPE,
LCAF_INSTANCE_ID,
LCAF_SOURCE_DEST = 12,
+ LCAF_NSH = 17,
LCAF_TYPES
} lcaf_type_t;
@@ -166,6 +167,9 @@ typedef struct
u8 si;
} nsh_t;
+#define nsh_spi(_a) (_a)->spi
+#define nsh_si(_a) (_a)->si
+
typedef struct
{
ip4_address_t addr;
@@ -258,6 +262,8 @@ void gid_address_ip_set (gid_address_t * dst, void *src, u8 version);
#define gid_address_lcaf(_a) (_a)->lcaf
#define gid_address_mac(_a) (_a)->mac
#define gid_address_nsh(_a) (_a)->nsh
+#define gid_address_nsh_spi(_a) nsh_spi(&gid_address_nsh(_a))
+#define gid_address_nsh_si(_a) nsh_si(&gid_address_nsh(_a))
#define gid_address_vni(_a) (_a)->vni
#define gid_address_vni_mask(_a) (_a)->vni_mask
#define gid_address_sd_dst_ippref(_a) sd_dst_ippref(&(_a)->sd)
@@ -275,6 +281,7 @@ void gid_address_ip_set (gid_address_t * dst, void *src, u8 version);
/* 'sub'address functions */
#define foreach_gid_address_type_fcns \
+ _(no_addr) \
_(ip_prefix) \
_(lcaf) \
_(mac) \
@@ -350,7 +357,8 @@ typedef struct
/* valid only for remote mappings */
u8 is_static:1;
u8 pitr_set:1;
- u8 rsvd:4;
+ u8 nsh_set:1;
+ u8 rsvd:3;
u8 *key;