16 #ifndef __GBP_CONTRACT_H__ 17 #define __GBP_CONTRACT_H__ gbp_contract_key_t gc_key
source and destination EPGs
struct gbp_contract_key_t_ gbp_contract_key_t
The key for an Contract.
EPG src,dst pair to ACL mapping table, aka contract DB.
void gbp_contract_update(epg_id_t src_epg, epg_id_t dst_epg, u32 acl_index)
struct gbp_contract_db_t_ gbp_contract_db_t
EPG src,dst pair to ACL mapping table, aka contract DB.
void gbp_contract_walk(gbp_contract_cb_t bgpe, void *ctx)
gbp_contract_db_t gbp_contract_db
DP functions and databases.
gbp_contract_value_t gc_value
The ACL to apply for packets from the source to the destination EPG.
uword * gc_hash
We can form a u64 key from the pair, so use a simple hash table.
u32 gc_lc_index
lookup context and acl index
The value for an Contract.
static u64 gbp_acl_lookup(gbp_contract_key_t *key)
epg_id_t gck_src
source and destination EPGs for which the ACL applies
struct gbp_contract_t_ gbp_contract_t
A Group Based Policy Contract.
void gbp_contract_delete(epg_id_t src_epg, epg_id_t dst_epg)
struct gbp_contract_value_t_ gbp_contract_value_t
The value for an Contract.
A Group Based Policy Contract.
int(* gbp_contract_cb_t)(gbp_contract_t *gbpe, void *ctx)