Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
acl-plugin: multicore: session management fixes
[vpp.git]
/
src
/
plugins
/
acl
/
dataplane_node.c
diff --git
a/src/plugins/acl/dataplane_node.c
b/src/plugins/acl/dataplane_node.c
index
351cbbd
..
f1ed4c2
100644
(file)
--- a/
src/plugins/acl/dataplane_node.c
+++ b/
src/plugins/acl/dataplane_node.c
@@
-153,7
+153,8
@@
acl_fa_node_fn (vlib_main_t * vm,
if (acl_fa_ifc_has_sessions (am, sw_if_index0))
{
if (acl_fa_ifc_has_sessions (am, sw_if_index0))
{
- if (acl_fa_find_session (am, sw_if_index0, &fa_5tuple, &value_sess))
+ if (acl_fa_find_session (am, sw_if_index0, &fa_5tuple, &value_sess)
+ && (value_sess.value != ~0ULL))
{
trace_bitmap |= 0x80000000;
error0 = ACL_FA_ERROR_ACL_EXIST_SESSION;
{
trace_bitmap |= 0x80000000;
error0 = ACL_FA_ERROR_ACL_EXIST_SESSION;
@@
-215,10
+216,12
@@
acl_fa_node_fn (vlib_main_t * vm,
sw_if_index0);
vec_elt (pw->fa_session_epoch_change_by_sw_if_index,
sw_if_index0)++;
sw_if_index0);
vec_elt (pw->fa_session_epoch_change_by_sw_if_index,
sw_if_index0)++;
- if (acl_fa_conn_list_delete_session (am, f_sess_id))
+ if (acl_fa_conn_list_delete_session
+ (am, f_sess_id, now))
{
/* delete the session only if we were able to unlink it */
{
/* delete the session only if we were able to unlink it */
- acl_fa_delete_session (am, sw_if_index0, f_sess_id);
+ acl_fa_two_stage_delete_session (am, sw_if_index0,
+ f_sess_id, now);
}
acl_check_needed = 1;
trace_bitmap |= 0x40000000;
}
acl_check_needed = 1;
trace_bitmap |= 0x40000000;
@@
-243,7
+246,7
@@
acl_fa_node_fn (vlib_main_t * vm,
{
if (!acl_fa_can_add_session (am, is_input, sw_if_index0))
acl_fa_try_recycle_session (am, is_input, thread_index,
{
if (!acl_fa_can_add_session (am, is_input, sw_if_index0))
acl_fa_try_recycle_session (am, is_input, thread_index,
- sw_if_index0);
+ sw_if_index0
, now
);
if (acl_fa_can_add_session (am, is_input, sw_if_index0))
{
if (acl_fa_can_add_session (am, is_input, sw_if_index0))
{