ip: add the missing offload check
[vpp.git] / src / vnet / ip / ip4_forward.c
index 33ab341..35ebaa4 100644 (file)
@@ -1479,10 +1479,10 @@ ip4_local_check_l4_csum_x2 (vlib_main_t * vm, vlib_buffer_t ** b,
   if (PREDICT_FALSE (ip4_local_need_csum_check (is_tcp_udp[0], b[0])
                     || ip4_local_need_csum_check (is_tcp_udp[1], b[1])))
     {
-      if (is_tcp_udp[0])
+      if (is_tcp_udp[0] && !ip4_local_csum_is_offloaded (b[0]))
        ip4_local_l4_csum_validate (vm, b[0], ih[0], is_udp[0], &error[0],
                                    &good_tcp_udp[0]);
-      if (is_tcp_udp[1])
+      if (is_tcp_udp[1] && !ip4_local_csum_is_offloaded (b[1]))
        ip4_local_l4_csum_validate (vm, b[1], ih[1], is_udp[1], &error[1],
                                    &good_tcp_udp[1]);
     }
@@ -1880,7 +1880,7 @@ VLIB_REGISTER_NODE (ip4_local_node) =
   .vector_size = sizeof (u32),
   .format_trace = format_ip4_forward_next_trace,
   .n_errors = IP4_N_ERROR,
-  .error_strings = ip4_error_strings,
+  .error_counters = ip4_error_counters,
   .n_next_nodes = IP_LOCAL_N_NEXT,
   .next_nodes =
   {