IPIP and IPv6 fragmentation
[vpp.git] / src / plugins / map / ip6_map.c
index 5cdd9d9..5b80209 100644 (file)
@@ -174,7 +174,7 @@ ip6_map (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame)
     vlib_node_get_runtime (vm, ip6_map_node.index);
   map_main_t *mm = &map_main;
   vlib_combined_counter_main_t *cm = mm->domain_counters;
-  u32 thread_index = vlib_get_thread_index ();
+  u32 thread_index = vm->thread_index;
 
   from = vlib_frame_vector_args (frame);
   n_left_from = frame->n_vectors;
@@ -308,7 +308,6 @@ ip6_map (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame)
                      (d0->mtu
                       && (clib_host_to_net_u16 (ip40->length) > d0->mtu)))
                    {
-                     vnet_buffer (p0)->ip_frag.header_offset = 0;
                      vnet_buffer (p0)->ip_frag.flags = 0;
                      vnet_buffer (p0)->ip_frag.next_index =
                        IP4_FRAG_NEXT_IP4_LOOKUP;
@@ -341,7 +340,6 @@ ip6_map (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame)
                      (d1->mtu
                       && (clib_host_to_net_u16 (ip41->length) > d1->mtu)))
                    {
-                     vnet_buffer (p1)->ip_frag.header_offset = 0;
                      vnet_buffer (p1)->ip_frag.flags = 0;
                      vnet_buffer (p1)->ip_frag.next_index =
                        IP4_FRAG_NEXT_IP4_LOOKUP;
@@ -495,7 +493,6 @@ ip6_map (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame)
                      (d0->mtu
                       && (clib_host_to_net_u16 (ip40->length) > d0->mtu)))
                    {
-                     vnet_buffer (p0)->ip_frag.header_offset = 0;
                      vnet_buffer (p0)->ip_frag.flags = 0;
                      vnet_buffer (p0)->ip_frag.next_index =
                        IP4_FRAG_NEXT_IP4_LOOKUP;
@@ -825,7 +822,7 @@ ip6_map_ip4_reass (vlib_main_t * vm,
     vlib_node_get_runtime (vm, ip6_map_ip4_reass_node.index);
   map_main_t *mm = &map_main;
   vlib_combined_counter_main_t *cm = mm->domain_counters;
-  u32 thread_index = vlib_get_thread_index ();
+  u32 thread_index = vm->thread_index;
   u32 *fragments_to_drop = NULL;
   u32 *fragments_to_loopback = NULL;
 
@@ -935,7 +932,6 @@ ip6_map_ip4_reass (vlib_main_t * vm,
              (d0->mtu && (clib_host_to_net_u16 (ip40->length) > d0->mtu)
               && error0 == MAP_ERROR_NONE && !cached))
            {
-             vnet_buffer (p0)->ip_frag.header_offset = 0;
              vnet_buffer (p0)->ip_frag.flags = 0;
              vnet_buffer (p0)->ip_frag.next_index = IP4_FRAG_NEXT_IP4_LOOKUP;
              vnet_buffer (p0)->ip_frag.mtu = d0->mtu;
@@ -1018,7 +1014,7 @@ ip6_map_icmp_relay (vlib_main_t * vm,
   vlib_node_runtime_t *error_node =
     vlib_node_get_runtime (vm, ip6_map_icmp_relay_node.index);
   map_main_t *mm = &map_main;
-  u32 thread_index = vlib_get_thread_index ();
+  u32 thread_index = vm->thread_index;
   u16 *fragment_ids, *fid;
 
   from = vlib_frame_vector_args (frame);