common/sfc_efx/base: add interrupts module for Riverhead
[dpdk.git] / lib / librte_ipsec / ipsec_sqn.h
index 4ba079d..2636cb1 100644 (file)
@@ -128,10 +128,10 @@ esn_outb_update_sqn(struct rte_ipsec_sa *sa, uint32_t *num)
 
        n = *num;
        if (SQN_ATOMIC(sa))
-               sqn = (uint64_t)rte_atomic64_add_return(&sa->sqn.outb.atom, n);
+               sqn = __atomic_add_fetch(&sa->sqn.outb, n, __ATOMIC_RELAXED);
        else {
-               sqn = sa->sqn.outb.raw + n;
-               sa->sqn.outb.raw = sqn;
+               sqn = sa->sqn.outb + n;
+               sa->sqn.outb = sqn;
        }
 
        /* overflow */
@@ -152,10 +152,6 @@ esn_inb_update_sqn(struct replay_sqn *rsn, const struct rte_ipsec_sa *sa,
 {
        uint32_t bit, bucket, last_bucket, new_bucket, diff, i;
 
-       /* replay not enabled */
-       if (sa->replay.win_sz == 0)
-               return 0;
-
        /* handle ESN */
        if (IS_ESN(sa))
                sqn = reconstruct_esn(rsn->sqn, sqn, sa->replay.win_sz);