Update code to compute checksum for buffer chains
[vpp.git] / src / plugins / nat / out2in.c
index 985333f..67d831a 100755 (executable)
@@ -508,9 +508,11 @@ icmp_out2in (snat_main_t * sm,
 
   if (PREDICT_TRUE (!ip4_is_fragment (ip0)))
     {
-      sum0 = ip_incremental_checksum (0, icmp0,
-                                     ntohs (ip0->length) -
-                                     ip4_header_bytes (ip0));
+      sum0 = ip_incremental_checksum_buffer (sm->vlib_main, b0, (u8 *) icmp0 -
+                                            (u8 *)
+                                            vlib_buffer_get_current (b0),
+                                            ntohs (ip0->length) -
+                                            ip4_header_bytes (ip0), 0);
       checksum0 = ~ip_csum_fold (sum0);
       if (checksum0 != 0 && checksum0 != 0xffff)
        {