aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/acl/acl.h
diff options
context:
space:
mode:
authorAndrew Yourtchenko <ayourtch@gmail.com>2017-05-17 21:27:03 +0200
committerDamjan Marion <dmarion.lists@gmail.com>2017-06-07 13:37:46 +0000
commit5dbfbb7110a52595915acd5ec034f82ce517846a (patch)
tree1214c5cb0904a5ca3eadba59f587a12af531364a /src/plugins/acl/acl.h
parenta62699954a9f57c8407ba10d08636c79166f56ed (diff)
acl-plugin: make the ACL plugin multicore-capable
Add the logic to be able to use stateful ACLs in a multithreaded setup. Change-Id: I3b0cfa6ca4ea8f46f61648611c3e97b00c3376b6 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Diffstat (limited to 'src/plugins/acl/acl.h')
-rw-r--r--src/plugins/acl/acl.h11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/plugins/acl/acl.h b/src/plugins/acl/acl.h
index eb074a7b6a2..e35e0ea753a 100644
--- a/src/plugins/acl/acl.h
+++ b/src/plugins/acl/acl.h
@@ -138,9 +138,7 @@ typedef struct {
/* bitmap, when set the hash is initialized */
uword *fa_sessions_on_sw_if_index;
clib_bihash_40_8_t *fa_sessions_by_sw_if_index;
- /* pool for FA session data. See fa_node.h */
- fa_session_t *fa_sessions_pool;
- /* The process node which is responsible to deleting the sessions */
+ /* The process node which orcherstrates the cleanup */
u32 fa_cleaner_node_index;
/* FA session timeouts, in seconds */
u32 session_timeout_sec[ACL_N_TIMEOUTS];
@@ -192,8 +190,9 @@ typedef struct {
f64 fa_cleaner_wait_time_increment;
u64 fa_current_cleaner_timer_wait_interval;
- u32 fa_conn_list_head[ACL_N_TIMEOUTS];
- u32 fa_conn_list_tail[ACL_N_TIMEOUTS];
+
+ /* per-worker data related t conn management */
+ acl_fa_per_worker_data_t *per_worker_data;
/* Configured session timeout */
u64 session_timeout[ACL_N_TIMEOUTS];
@@ -205,12 +204,10 @@ typedef struct {
_(fa_cleaner_cnt_delete_by_sw_index, "delete_by_sw_index events") \
_(fa_cleaner_cnt_delete_by_sw_index_ok, "delete_by_sw_index handled ok") \
_(fa_cleaner_cnt_unknown_event, "unknown events received") \
- _(fa_cleaner_cnt_deleted_sessions, "sessions deleted") \
_(fa_cleaner_cnt_timer_restarted, "session idle timers restarted") \
_(fa_cleaner_cnt_wait_with_timeout, "event wait with timeout called") \
_(fa_cleaner_cnt_wait_without_timeout, "event wait w/o timeout called") \
_(fa_cleaner_cnt_event_cycles, "total event cycles") \
- _(fa_cleaner_cnt_already_deleted, "try to delete already deleted conn") \
/* end of counters */
#define _(id, desc) u32 id;
foreach_fa_cleaner_counter