reassembly: handle ip6 atomic fragments 86/17686/2
authorKlement Sekera <ksekera@cisco.com>
Tue, 19 Feb 2019 13:47:25 +0000 (14:47 +0100)
committerOle Trøan <otroan@employees.org>
Tue, 19 Feb 2019 17:08:51 +0000 (17:08 +0000)
Change-Id: Ide3425f144fb17201dcde7ba89f39e460048100d
Signed-off-by: Klement Sekera <ksekera@cisco.com>
src/vnet/ip/ip6_reassembly.c

index 631556e..012f3d2 100644 (file)
@@ -718,13 +718,9 @@ ip6_reass_update (vlib_main_t * vm, vlib_node_runtime_t * node,
       // starting a new reassembly
       ip6_reass_insert_range_in_chain (vm, rm, rt, reass, prev_range_bi,
                                       *bi0);
-      if (PREDICT_FALSE (fb->flags & VLIB_BUFFER_IS_TRACED))
-       {
-         ip6_reass_add_trace (vm, node, rm, reass, *bi0, RANGE_NEW, 0);
-       }
       reass->min_fragment_length = clib_net_to_host_u16 (fip->payload_length);
-      *bi0 = ~0;
-      return IP6_REASS_RC_OK;
+      consumed = 1;
+      goto check_if_done_maybe;
     }
   reass->min_fragment_length =
     clib_min (clib_net_to_host_u16 (fip->payload_length),
@@ -777,6 +773,7 @@ ip6_reass_update (vlib_main_t * vm, vlib_node_runtime_t * node,
        }
       break;
     }
+check_if_done_maybe:
   if (consumed)
     {
       if (PREDICT_FALSE (fb->flags & VLIB_BUFFER_IS_TRACED))