ipsec: Store thread-index in buffer meta-data during SA handoff
[vpp.git] / src / vnet / ipsec / ah_decrypt.c
index 22f9a09..107ccd2 100644 (file)
@@ -176,17 +176,18 @@ ah_decrypt_inline (vlib_main_t * vm,
                                          thread_index, current_sa_index);
        }
 
-      if (PREDICT_FALSE (~0 == sa0->decrypt_thread_index))
+      if (PREDICT_FALSE (~0 == sa0->thread_index))
        {
          /* this is the first packet to use this SA, claim the SA
           * for this thread. this could happen simultaneously on
           * another thread */
-         clib_atomic_cmp_and_swap (&sa0->decrypt_thread_index, ~0,
+         clib_atomic_cmp_and_swap (&sa0->thread_index, ~0,
                                    ipsec_sa_assign_thread (thread_index));
        }
 
-      if (PREDICT_TRUE (thread_index != sa0->decrypt_thread_index))
+      if (PREDICT_TRUE (thread_index != sa0->thread_index))
        {
+         vnet_buffer (b[0])->ipsec.thread_index = sa0->thread_index;
          next[0] = AH_DECRYPT_NEXT_HANDOFF;
          goto next;
        }
@@ -440,7 +441,7 @@ VLIB_REGISTER_NODE (ah4_decrypt_node) = {
     [AH_DECRYPT_NEXT_DROP] = "ip4-drop",
     [AH_DECRYPT_NEXT_IP4_INPUT] = "ip4-input-no-checksum",
     [AH_DECRYPT_NEXT_IP6_INPUT] = "ip6-input",
-    [AH_DECRYPT_NEXT_HANDOFF] = "esp4-decrypt-tun-handoff",
+    [AH_DECRYPT_NEXT_HANDOFF] = "ah4-decrypt-handoff",
   },
 };
 /* *INDENT-ON* */
@@ -467,7 +468,7 @@ VLIB_REGISTER_NODE (ah6_decrypt_node) = {
     [AH_DECRYPT_NEXT_DROP] = "ip6-drop",
     [AH_DECRYPT_NEXT_IP4_INPUT] = "ip4-input-no-checksum",
     [AH_DECRYPT_NEXT_IP6_INPUT] = "ip6-input",
-    [AH_DECRYPT_NEXT_HANDOFF] = "esp6-decrypt-handoff",
+    [AH_DECRYPT_NEXT_HANDOFF] = "ah6-decrypt-handoff",
   },
 };
 /* *INDENT-ON* */