Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
gbp: Add support for ACL
[vpp.git]
/
src
/
plugins
/
gbp
/
gbp_contract.h
diff --git
a/src/plugins/gbp/gbp_contract.h
b/src/plugins/gbp/gbp_contract.h
index
1964098
..
75f2edc
100644
(file)
--- a/
src/plugins/gbp/gbp_contract.h
+++ b/
src/plugins/gbp/gbp_contract.h
@@
-37,6
+37,25
@@
typedef struct gbp_contract_key_t_
};
} gbp_contract_key_t;
};
} 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
/**
* A Group Based Policy Contract.
* Determines the ACL that applies to traffic pass between two endpoint groups
@@
-51,7
+70,7
@@
typedef struct gbp_contract_t_
/**
* The ACL to apply for packets from the source to the destination EPG
*/
/**
* 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;
/**
} gbp_contract_t;
/**
@@
-78,7
+97,7
@@
extern void gbp_contract_walk (gbp_contract_cb_t bgpe, void *ctx);
*/
extern gbp_contract_db_t gbp_contract_db;
*/
extern gbp_contract_db_t gbp_contract_db;
-always_inline u
32
+always_inline u
64
gbp_acl_lookup (gbp_contract_key_t * key)
{
uword *p;
gbp_acl_lookup (gbp_contract_key_t * key)
{
uword *p;