typedef struct {
/* The mask types present in this ACL */
uword *mask_type_index_bitmap;
+ /* hash ACL applied on these lookup contexts */
+ u32 *lc_index_list;
hash_ace_info_t *rules;
+ /* a boolean flag set when the hash acl info is initialized */
+ int hash_acl_exists;
} hash_acl_info_t;
typedef struct {
* if ~0 then this is entry in the hash.
*/
u32 prev_applied_entry_index;
+ /*
+ * chain tail, if this is the first entry
+ */
+ u32 tail_applied_entry_index;
+ /*
+ * number of hits on this entry
+ */
+ u64 hitcount;
+ /*
+ * acl position in vector of ACLs within lookup context
+ */
+ u32 acl_position;
/*
* Action of this applied ACE
*/
* hash_ace_info_t=>mask_type_index bits set
*/
uword *mask_type_index_bitmap;
+ /* applied ACLs so we can track them independently from main ACL module */
+ u32 *applied_acls;
} applied_hash_acl_info_t;