summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--net/checksum.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/checksum.c b/net/checksum.c
index aaa4000238..5cb8b2c368 100644
--- a/net/checksum.c
+++ b/net/checksum.c
@@ -106,6 +106,10 @@ void net_checksum_calculate(uint8_t *data, int length)
         return; /* not IPv4 */
     }
 
+    if (IP4_IS_FRAGMENT(ip)) {
+        return; /* a fragmented IP packet */
+    }
+
     ip_len = lduw_be_p(&ip->ip_len);
 
     /* Last, check that we have enough data for the all IP frame */