ipsec: FIx feature ordering
[vpp.git] / src / vnet / ip / ip4_reassembly.c
index 8586102..b82bafe 100644 (file)
@@ -294,12 +294,6 @@ ip4_reass_add_trace (vlib_main_t * vm, vlib_node_runtime_t * node,
 {
   vlib_buffer_t *b = vlib_get_buffer (vm, bi);
   vnet_buffer_opaque_t *vnb = vnet_buffer (b);
-  if (pool_is_free_index (vm->trace_main.trace_buffer_pool, b->trace_index))
-    {
-      // this buffer's trace is gone
-      b->flags &= ~VLIB_BUFFER_IS_TRACED;
-      return;
-    }
   ip4_reass_trace_t *t = vlib_add_trace (vm, node, b, sizeof (t[0]));
   t->reass_id = reass->id;
   t->action = action;
@@ -1208,7 +1202,8 @@ VLIB_REGISTER_NODE (ip4_reass_node_feature) = {
 VNET_FEATURE_INIT (ip4_reassembly_feature, static) = {
     .arc_name = "ip4-unicast",
     .node_name = "ip4-reassembly-feature",
-    .runs_before = VNET_FEATURES ("ip4-lookup"),
+    .runs_before = VNET_FEATURES ("ip4-lookup",
+                                  "ipsec4-input-feature"),
     .runs_after = 0,
 };
 /* *INDENT-ON* */
@@ -1297,6 +1292,7 @@ ip4_reass_set (u32 timeout_ms, u32 max_reassemblies,
          clib_bihash_free_16_8 (&ip4_reass_main.hash);
          clib_memcpy_fast (&ip4_reass_main.hash, &new_hash,
                            sizeof (ip4_reass_main.hash));
+         clib_bihash_copied (&ip4_reass_main.hash, &new_hash);
        }
     }
   return 0;