zephyr/subsys/net/ip
Marcus Shawcroft 0296cdd728 net/dhcpv4: Ensure udp header checksum is computed correctly
The dhcpv4 client code builds ip and udp packets from scratch rather
than using the network stack to do the heavy lifting (why ?).

When it computes the udp checksum of each packet it builds it neglects
to clear any preexisting detritus from the checksum field.  The result
of this is that some packets will be built with correct checksums and
some will be built with incorrect checksums.

This is the underlying reason that the dhcp client often taken many
retransmissions and elapsed time before in order to acquire an IP
address.

Change-Id: Iebd1ed34e06f7f2e53d45f6d1555e22f48490287
Signed-off-by: Marcus Shawcroft <marcus.shawcroft@arm.com>
2017-02-14 08:30:34 +02:00
..
l2 net: Ref net_buf using net_nbuf_ref 2017-02-09 09:43:06 +02:00
6lo_private.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
6lo.c net: nbuf: Fix net_nbuf_compact() API 2017-02-08 10:12:36 +02:00
6lo.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
connection.c net: ip: change some error messages to NET_ERR 2017-02-08 10:12:36 +02:00
connection.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
dhcpv4.c net/dhcpv4: Ensure udp header checksum is computed correctly 2017-02-14 08:30:34 +02:00
icmpv4.c net: nbuf: Add timeout to net_buf getters 2017-02-08 10:12:35 +02:00
icmpv4.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
icmpv6.c net: Convert FOR_EACH macro instances to use CONTAINER 2017-02-10 16:16:15 +00:00
icmpv6.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
ipv4.c net: nbuf: Add timeout to net_buf getters 2017-02-08 10:12:35 +02:00
ipv4.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
ipv6.c net: nbuf: Add timeout to net_buf getters 2017-02-08 10:12:35 +02:00
ipv6.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig net: tcp: Add optional TIME_WAIT support 2017-02-03 15:59:15 +02:00
Kconfig.debug license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig.ipv4 license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig.ipv6 net: Fix leaving NET_MAX_6LO_CONTEXTS set when 6lowpan deselected 2017-01-27 11:59:31 +00:00
Kconfig.mgmt license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig.rpl license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig.samples license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig.stack license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig.stats license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Makefile net: in newlib, ESHUTDOWN is considered an extension 2017-01-20 16:23:20 +02:00
nbr.c net: linkaddr: introduce net_linkaddr_set function 2017-01-20 16:23:16 +02:00
nbr.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
nbuf.c net: nbuf: Fix constness of data param in net_nbuf_append 2017-02-10 11:25:25 +02:00
net_context.c net: context: Fix the multicast address lookup in bind 2017-02-10 11:25:25 +02:00
net_core.c net: stats: Collect bytes sent and received 2017-02-03 15:59:20 +02:00
net_if.c net: Convert FOR_EACH macro instances to use CONTAINER 2017-02-10 16:16:15 +00:00
net_mgmt.c net: Convert FOR_EACH macro instances to use CONTAINER 2017-02-10 16:16:15 +00:00
net_private.h net: nbuf: Add helper to print fragment chain 2017-02-08 10:12:35 +02:00
net_shell.c net/dhcpv4: Remove unused dhcpv4 offer state 2017-02-14 08:30:34 +02:00
net_shell.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
net_stats.c net: stats: Collect bytes sent and received 2017-02-03 15:59:20 +02:00
net_stats.h net: stats: Collect bytes sent and received 2017-02-03 15:59:20 +02:00
route.c net: Convert FOR_EACH macro instances to use CONTAINER 2017-02-10 16:16:15 +00:00
route.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
rpl-mrhof.c license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
rpl-of0.c net: Use lighter printk() instead of printf() 2017-01-27 12:35:51 +02:00
rpl.c net: nbuf: Add timeout to net_buf getters 2017-02-08 10:12:35 +02:00
rpl.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
tcp.c net: Convert FOR_EACH macro instances to use CONTAINER 2017-02-10 16:16:15 +00:00
tcp.h net: tcp: Clean up FIN handling 2017-02-03 15:59:15 +02:00
trickle.c license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
udp.h license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
utils.c net: utils: Add net_addr_ntop() helper function 2017-02-03 15:59:14 +02:00