fixed IP64 so that it sets correct UDP length and calculates a correct checksum
This commit is contained in:
parent
3b5bfadaad
commit
88ed3b82a0
@ -861,6 +861,8 @@ ip64_4to6(const uint8_t *ipv4packet, const uint16_t ipv4packet_len,
|
|||||||
break;
|
break;
|
||||||
case IP_PROTO_UDP:
|
case IP_PROTO_UDP:
|
||||||
udphdr->udpchksum = 0;
|
udphdr->udpchksum = 0;
|
||||||
|
/* As the udplen might have changed (DNS) we need to update it also */
|
||||||
|
udphdr->udplen = uip_htons(ipv6_packet_len);
|
||||||
udphdr->udpchksum = ~(ipv6_transport_checksum(resultpacket,
|
udphdr->udpchksum = ~(ipv6_transport_checksum(resultpacket,
|
||||||
ipv6len,
|
ipv6len,
|
||||||
IP_PROTO_UDP));
|
IP_PROTO_UDP));
|
||||||
|
Loading…
Reference in New Issue
Block a user