X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=vnet%2Fvnet%2Flisp-cp%2Flisp_types.h;h=709d415deca5423ea9874bf257cb41e96f478589;hb=b0ccf03b6e1d29b473e092d42768ced9f2ae8508;hp=235d4701d46a5bf45fb0fb987f03ec6b348710f3;hpb=fa42e25c4e498c57e15ebb0ded56502a61b7dc08;p=vpp.git diff --git a/vnet/vnet/lisp-cp/lisp_types.h b/vnet/vnet/lisp-cp/lisp_types.h index 235d4701d46..709d415deca 100644 --- a/vnet/vnet/lisp-cp/lisp_types.h +++ b/vnet/vnet/lisp-cp/lisp_types.h @@ -64,6 +64,7 @@ typedef enum GID_ADDR_IP_PREFIX, GID_ADDR_LCAF, GID_ADDR_MAC, + GID_ADDR_SRC_DST, GID_ADDR_NO_ADDRESS, GID_ADDR_TYPES } gid_address_type_t; @@ -87,6 +88,10 @@ typedef struct struct _gid_address_t *dst; } source_dest_t; +#define SD_CAST (source_dest_t *) +#define sd_dst_gid(_a) (SD_CAST _a)->dst +#define sd_src_gid(_a) (SD_CAST _a)->src + typedef struct { u8 vni_mask_len; @@ -172,6 +177,10 @@ u32 gid_address_parse (u8 * offset, gid_address_t *a); #define gid_address_mac(_a) (_a)->mac #define gid_address_vni(_a) (_a)->vni #define gid_address_vni_mask(_a) (_a)->vni_mask +#define gid_address_sd_dest_pref(_a) \ + gid_address_ippref(sd_dst_gid(_a)) +#define gid_address_sd_source_pref(_a) \ + gid_address_ippref(sd_src_gid(_a)) /* 'sub'address functions */ #define foreach_gid_address_type_fcns \