acl-plugin: acl-as-a-service: VPP-1248: fix the error if exports.h included in more...
[vpp.git] / src / plugins / acl / hash_lookup_types.h
index 1c04459..1a20ebf 100644 (file)
@@ -38,7 +38,11 @@ typedef struct {
 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 {
@@ -57,6 +61,18 @@ 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
    */
@@ -69,6 +85,8 @@ typedef struct {
     *                            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;