From 1abffc84e1f1b7accaa7c58361201717dc5b2629 Mon Sep 17 00:00:00 2001 From: Ken Bannister <kb2ma@runbox.com> Date: Sat, 28 Nov 2015 16:11:07 -0500 Subject: [PATCH] Update layer 4 files to fix checksum with inet_csum_slice(). --- sys/net/gnrc/network_layer/icmpv6/gnrc_icmpv6.c | 2 +- sys/net/gnrc/transport_layer/udp/gnrc_udp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/net/gnrc/network_layer/icmpv6/gnrc_icmpv6.c b/sys/net/gnrc/network_layer/icmpv6/gnrc_icmpv6.c index b85e7166db..c2d70fc021 100644 --- a/sys/net/gnrc/network_layer/icmpv6/gnrc_icmpv6.c +++ b/sys/net/gnrc/network_layer/icmpv6/gnrc_icmpv6.c @@ -42,7 +42,7 @@ static inline uint16_t _calc_csum(gnrc_pktsnip_t *hdr, uint16_t len = (uint16_t)hdr->size; while (payload && (payload != hdr)) { - csum = inet_csum(csum, payload->data, payload->size); + csum = inet_csum_slice(csum, payload->data, payload->size, len); len += (uint16_t)payload->size; payload = payload->next; } diff --git a/sys/net/gnrc/transport_layer/udp/gnrc_udp.c b/sys/net/gnrc/transport_layer/udp/gnrc_udp.c index e630d3d088..28034a5380 100644 --- a/sys/net/gnrc/transport_layer/udp/gnrc_udp.c +++ b/sys/net/gnrc/transport_layer/udp/gnrc_udp.c @@ -69,7 +69,7 @@ static uint16_t _calc_csum(gnrc_pktsnip_t *hdr, gnrc_pktsnip_t *pseudo_hdr, /* process the payload */ while (payload && payload != hdr) { - csum = inet_csum(csum, (uint8_t *)(payload->data), payload->size); + csum = inet_csum_slice(csum, (uint8_t *)(payload->data), payload->size, len); len += (uint16_t)payload->size; payload = payload->next; } -- GitLab