ip: fix ip zero checksum verification
[vpp.git] / src / vnet / ip / ip4_forward.c
index 0fa9da2..3bf3053 100644 (file)
@@ -2063,7 +2063,7 @@ ip4_ttl_inc (vlib_buffer_t * b, ip4_header_t * ip)
   ttl += 1;
   ip->ttl = ttl;
 
-  ASSERT (ip->checksum == ip4_header_checksum (ip));
+  ASSERT (ip4_header_checksum_is_valid (ip));
 }
 
 /* Decrement TTL & update checksum.
@@ -2104,7 +2104,7 @@ ip4_ttl_and_checksum_check (vlib_buffer_t * b, ip4_header_t * ip, u16 * next,
     }
 
   /* Verify checksum. */
-  ASSERT ((ip->checksum == ip4_header_checksum (ip)) ||
+  ASSERT (ip4_header_checksum_is_valid (ip) ||
          (b->flags & VNET_BUFFER_F_OFFLOAD_IP_CKSUM));
 }
 
@@ -3097,10 +3097,13 @@ ip4_config (vlib_main_t * vm, unformat_input_t * input)
     {
       if (unformat (input, "heap-size %U", unformat_memory_size, &heapsize))
        ;
+      else if (unformat (input, "mtrie-hugetlb %=", &im->mtrie_hugetlb, 1))
+       ;
       else
        return clib_error_return (0,
                                  "invalid heap-size parameter `%U'",
                                  format_unformat_error, input);
+
     }
 
   im->mtrie_heap_size = heapsize;