epg_id_t gck_src;
epg_id_t gck_dst;
};
- u64 as_u64;
+ u32 as_u32;
};
} gbp_contract_key_t;
+/**
+ * The value for an Contract
+ */
+typedef struct gbp_contract_value_t_
+{
+ union
+ {
+ struct
+ {
+ /**
+ * lookup context and acl index
+ */
+ u32 gc_lc_index;
+ u32 gc_acl_index;
+ };
+ u64 as_u64;
+ };
+} gbp_contract_value_t;
+
/**
* A Group Based Policy Contract.
* Determines the ACL that applies to traffic pass between two endpoint groups
/**
* The ACL to apply for packets from the source to the destination EPG
*/
- u32 gc_acl_index;;
+ gbp_contract_value_t gc_value;
} gbp_contract_t;
/**
*/
extern gbp_contract_db_t gbp_contract_db;
-always_inline u32
+always_inline u64
gbp_acl_lookup (gbp_contract_key_t * key)
{
uword *p;
- p = hash_get (gbp_contract_db.gc_hash, key->as_u64);
+ p = hash_get (gbp_contract_db.gc_hash, key->as_u32);
if (NULL != p)
return (p[0]);