X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Facl%2Fsession_inlines.h;h=18d5dc8122b6c19b8c39c95a572246c83488d51e;hb=87ee947d0b053b33571c5e33617b138236bada59;hp=6ac5983e086e305ac0ae09e5ecb1586fc36e015e;hpb=fae833799f0c3398a18d1c0823e395345cdb9aa1;p=vpp.git diff --git a/src/plugins/acl/session_inlines.h b/src/plugins/acl/session_inlines.h index 6ac5983e086..18d5dc8122b 100644 --- a/src/plugins/acl/session_inlines.h +++ b/src/plugins/acl/session_inlines.h @@ -290,7 +290,7 @@ reverse_l4_u64_fastpath (u64 l4, int is_ip6) l4o.port[0] = l4i.port[1]; l4o.non_port_l4_data = l4i.non_port_l4_data; - l4o.is_input = 1 - l4i.is_input; + l4o.l4_flags = l4i.l4_flags ^ FA_SK_L4_FLAG_IS_INPUT; return l4o.as_u64; } @@ -331,7 +331,7 @@ reverse_l4_u64_slowpath_valid (u64 l4, int is_ip6, u64 * out) && icmp_invmap[is_ip6][type]); if (valid_reverse_sess) { - l4o.is_input = 1 - l4i.is_input; + l4o.l4_flags = l4i.l4_flags ^ FA_SK_L4_FLAG_IS_INPUT; l4o.port[0] = icmp_invmap[is_ip6][type] - 1; } @@ -355,7 +355,7 @@ reverse_session_add_del_ip6 (acl_main_t * am, kv2.key[3] = pkv->key[1]; /* the last u64 needs special treatment (ports, etc.) so we do it last */ kv2.value = pkv->value; - if (PREDICT_FALSE (((fa_session_l4_key_t) pkv->key[4]).is_slowpath)) + if (PREDICT_FALSE (is_session_l4_key_u64_slowpath (pkv->key[4]))) { if (reverse_l4_u64_slowpath_valid (pkv->key[4], 1, &kv2.key[4])) clib_bihash_add_del_40_8 (&am->fa_ip6_sessions_hash, &kv2, is_add); @@ -376,7 +376,7 @@ reverse_session_add_del_ip4 (acl_main_t * am, ((pkv->key[0] & 0xffffffff) << 32) | ((pkv->key[0] >> 32) & 0xffffffff); /* the last u64 needs special treatment (ports, etc.) so we do it last */ kv2.value = pkv->value; - if (PREDICT_FALSE (((fa_session_l4_key_t) pkv->key[1]).is_slowpath)) + if (PREDICT_FALSE (is_session_l4_key_u64_slowpath (pkv->key[1]))) { if (reverse_l4_u64_slowpath_valid (pkv->key[1], 0, &kv2.key[1])) clib_bihash_add_del_16_8 (&am->fa_ip4_sessions_hash, &kv2, is_add); @@ -410,7 +410,7 @@ acl_fa_deactivate_session (acl_main_t * am, u32 sw_if_index, } sess->deleted = 1; - clib_smp_atomic_add (&am->fa_session_total_deactivations, 1); + clib_atomic_fetch_add (&am->fa_session_total_deactivations, 1); clib_mem_set_heap (oldheap); } @@ -432,7 +432,7 @@ acl_fa_put_session (acl_main_t * am, u32 sw_if_index, vec_validate (pw->fa_session_dels_by_sw_if_index, sw_if_index); clib_mem_set_heap (oldheap); pw->fa_session_dels_by_sw_if_index[sw_if_index]++; - clib_smp_atomic_add (&am->fa_session_total_dels, 1); + clib_atomic_fetch_add (&am->fa_session_total_dels, 1); } always_inline int @@ -571,7 +571,7 @@ acl_fa_add_session (acl_main_t * am, int is_input, int is_ip6, vec_validate (pw->fa_session_adds_by_sw_if_index, sw_if_index); clib_mem_set_heap (oldheap); pw->fa_session_adds_by_sw_if_index[sw_if_index]++; - clib_smp_atomic_add (&am->fa_session_total_adds, 1); + clib_atomic_fetch_add (&am->fa_session_total_adds, 1); return sess; }