From 22d32d916f4f3806501cf39b324be19e06b89c12 Mon Sep 17 00:00:00 2001 From: Andrew Yourtchenko Date: Wed, 2 Aug 2017 06:36:07 -0400 Subject: acl-plugin: multicore: CSIT c100k 2-core stateful ACL test does not pass (VPP-912) Fix several threading-related issues uncovered by the CSIT scale/performance test: - make the per-interface add/del counters per-thread - preallocate the per-worker session pools rather than attempting to resize them within the datapath - move the bihash initialization to the moment of ACL being applied rather than later during the connection creation - adjust the connection cleaning logic to not require the signaling from workers to main thread - make the connection lists check in the main thread robust against workers updating the list heads at the same time - add more information to "show acl-plugin sessions" to aid in debugging Change-Id: If82ef715e4993614df11db5e9afa7fa6b522d9bc Signed-off-by: Andrew Yourtchenko (cherry picked from commit 8e4222fc7e23a478b021930ade3cb7d20938e398) --- src/plugins/acl/acl.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/plugins/acl/acl.h') diff --git a/src/plugins/acl/acl.h b/src/plugins/acl/acl.h index c9f403e9..b84ed7a4 100644 --- a/src/plugins/acl/acl.h +++ b/src/plugins/acl/acl.h @@ -144,6 +144,9 @@ typedef struct { u32 **input_sw_if_index_vec_by_acl; u32 **output_sw_if_index_vec_by_acl; + /* Total count of interface+direction pairs enabled */ + u32 fa_total_enabled_count; + /* Do we use hash-based ACL matching or linear */ int use_hash_acl_matching; @@ -172,9 +175,6 @@ typedef struct { u32 fa_cleaner_node_index; /* FA session timeouts, in seconds */ u32 session_timeout_sec[ACL_N_TIMEOUTS]; - /* session add/delete counters */ - u64 *fa_session_adds_by_sw_if_index; - u64 *fa_session_dels_by_sw_if_index; /* total session adds/dels */ u64 fa_session_total_adds; u64 fa_session_total_dels; -- cgit 1.2.3-korg