Squashed commit of the following:

net/mld: Checksum calculation needs to know the full size of the IPv6 header, including the size of the extension headers.  The payload size in the IPv64 header must include the extension headers (not considered part of the header in this case).  Fixes a few additional errors in size, endian-ness and checksum calculations.  Wireshark now reports the the outgoing Report has a good checksum.

    net/mld/mld_query.c:  Add a cast to assure that the left shift does not overflow.
This commit is contained in:
Gregory Nutt
2018-11-05 08:56:07 -06:00
parent c6156818b0
commit 33ed27ae65
16 changed files with 75 additions and 49 deletions
+1 -1
View File
@@ -518,7 +518,7 @@ int ipv6_input(FAR struct net_driver_s *dev)
case IP_PROTO_ICMP6: /* ICMP6 input */
/* Forward the ICMPv6 packet */
icmpv6_input(dev, (FAR struct icmpv6_hdr_s *)payload);
icmpv6_input(dev, iphdrlen);
#ifdef CONFIG_NET_6LOWPAN
/* All outgoing ICMPv6 messages come through one of two mechanisms: