Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Harmonize vec/pool_get_aligned object sizes and alignment requests
[vpp.git]
/
src
/
plugins
/
acl
/
acl.h
diff --git
a/src/plugins/acl/acl.h
b/src/plugins/acl/acl.h
index
789a075
..
51c5b0c
100644
(file)
--- a/
src/plugins/acl/acl.h
+++ b/
src/plugins/acl/acl.h
@@
-38,8
+38,6
@@
#define TCP_SESSION_IDLE_TIMEOUT_SEC (3600*24)
#define TCP_SESSION_TRANSIENT_TIMEOUT_SEC 120
#define TCP_SESSION_IDLE_TIMEOUT_SEC (3600*24)
#define TCP_SESSION_TRANSIENT_TIMEOUT_SEC 120
-#define ACL_FA_DEFAULT_HEAP_SIZE (2 << 29)
-
#define ACL_PLUGIN_HASH_LOOKUP_HEAP_SIZE (2 << 25)
#define ACL_PLUGIN_HASH_LOOKUP_HASH_BUCKETS 65536
#define ACL_PLUGIN_HASH_LOOKUP_HASH_MEMORY (2 << 25)
#define ACL_PLUGIN_HASH_LOOKUP_HEAP_SIZE (2 << 25)
#define ACL_PLUGIN_HASH_LOOKUP_HASH_BUCKETS 65536
#define ACL_PLUGIN_HASH_LOOKUP_HASH_MEMORY (2 << 25)
@@
-103,6
+101,8
@@
typedef struct
*/
typedef struct
{
*/
typedef struct
{
+ /** Required for pool_get_aligned */
+ CLIB_CACHE_LINE_ALIGN_MARK(cacheline0);
u8 tag[64];
u32 count;
acl_rule_t *rules;
u8 tag[64];
u32 count;
acl_rule_t *rules;
@@
-110,6
+110,8
@@
typedef struct
typedef struct
{
typedef struct
{
+ /** Required for pool_get_aligned */
+ CLIB_CACHE_LINE_ALIGN_MARK(cacheline0);
u8 tag[64];
u32 count;
macip_acl_rule_t *rules;
u8 tag[64];
u32 count;
macip_acl_rule_t *rules;
@@
-129,6
+131,8
@@
typedef struct
*/
typedef struct
{
*/
typedef struct
{
+ /** Required for pool_get_aligned */
+ CLIB_CACHE_LINE_ALIGN_MARK(cacheline0);
fa_5tuple_t mask;
u32 refcount;
} ace_mask_type_entry_t;
fa_5tuple_t mask;
u32 refcount;
} ace_mask_type_entry_t;
@@
-136,7
+140,7
@@
typedef struct
typedef struct {
/* mheap to hold all the ACL module related allocations, other than hash */
void *acl_mheap;
typedef struct {
/* mheap to hold all the ACL module related allocations, other than hash */
void *acl_mheap;
- u
32
acl_mheap_size;
+ u
word
acl_mheap_size;
/* API message ID base */
u16 msg_id_base;
/* API message ID base */
u16 msg_id_base;
@@
-154,7
+158,7
@@
typedef struct {
/* mheap to hold all the miscellaneous allocations related to hash-based lookups */
void *hash_lookup_mheap;
/* mheap to hold all the miscellaneous allocations related to hash-based lookups */
void *hash_lookup_mheap;
- u
32
hash_lookup_mheap_size;
+ u
word
hash_lookup_mheap_size;
int acl_lookup_hash_initialized;
/*
applied_hash_ace_entry_t **input_hash_entry_vec_by_sw_if_index;
int acl_lookup_hash_initialized;
/*
applied_hash_ace_entry_t **input_hash_entry_vec_by_sw_if_index;
@@
-188,6
+192,15
@@
typedef struct {
/* lookup contexts where a given ACL is used */
u32 **lc_index_vec_by_acl;
/* lookup contexts where a given ACL is used */
u32 **lc_index_vec_by_acl;
+ /* input and output policy epochs by interface */
+ u32 *input_policy_epoch_by_sw_if_index;
+ u32 *output_policy_epoch_by_sw_if_index;
+
+ /* whether we need to take the epoch of the session into account */
+ int reclassify_sessions;
+
+
+
/* Total count of interface+direction pairs enabled */
u32 fa_total_enabled_count;
/* Total count of interface+direction pairs enabled */
u32 fa_total_enabled_count;
@@
-355,6
+368,13
@@
AH has a special treatment of its length, it is in 32-bit words, not 64-bit word
extern acl_main_t acl_main;
extern acl_main_t acl_main;
+/*
+ * pointer to the above.
+ * Needed for some gymnastics to be able to provide
+ * the inline functions from this plugin to other plugins.
+ */
+
+extern acl_main_t *p_acl_main;
void *acl_plugin_set_heap();
void *acl_plugin_set_heap();