zephyr/subsys/net/ip
Tomasz Bursztyka 274db4f33d net/udp: Accept UDP packet with missing checksum
Having a checksum of zeros in UDP means "missing checksum" and is a
valid case as per RFC 768:

"An all zero transmitted checksum value means that the transmitter
generated no checksum (for debugging or for higher level protocols
that don't care)."

Such support is made possible by adding a new Kconfig option named
CONFIG_NET_UDP_MISSING_CHECKSUM.

However, that is valid only for IPv4. For IPv6, see the RFC 2460
section 8.1:

"Unlike IPv4, when UDP packets are originated by an IPv6 node, the UDP
checksum is not optional."

So the UDP checksum will always be verified in IPv6.

Fixes #16375

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2019-05-27 20:58:53 +08:00
..
6lo_private.h
6lo.c all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
6lo.h net/6lo: Add a way to get the difference of hdr size after uncompression 2019-02-23 07:44:59 -05:00
canbus_socket.c net: can: Add CAN handling to net_context 2019-02-07 18:08:27 +02:00
canbus_socket.h net: can: Add CAN handling to net_context 2019-02-07 18:08:27 +02:00
CMakeLists.txt cmake: Don't have users call zephyr_link_interface on mbedTLS 2019-05-11 08:35:26 -04:00
connection.c net/connection: Final cleanup 2019-05-07 15:40:53 +03:00
connection.h net/connection: Merge rank bits into flags attribute 2019-05-07 15:40:53 +03:00
dhcpv4.c net/ip/dhcpv4: Set source IP address in DHCP Request 2019-04-17 10:35:38 -05:00
dhcpv4.h net/dhcpv4: Avoid ifdefs when using net_dhcpv4_init() 2019-04-03 09:32:39 -04:00
icmpv4.c net: ipv4: Send multicast ICMPv4 reply with correct src address 2019-05-21 15:37:53 +03:00
icmpv4.h net/icmpv4: Allow for arbitrary payload data in ICMP echo 2019-04-26 09:05:14 +03:00
icmpv6.c net/icmpv6: Allow for arbitrary payload data in ICMP echo 2019-04-26 09:05:14 +03:00
icmpv6.h net/icmpv6: Allow for arbitrary payload data in ICMP echo 2019-04-26 09:05:14 +03:00
ipv4_autoconf_internal.h
ipv4_autoconf.c all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
ipv4.c net: ipv4: Allow UDP packets with broadcast dst address 2019-05-20 14:11:11 +03:00
ipv4.h net/ipv4: Replace legacy net_ipv4_create by the new one 2019-03-20 10:27:14 -05:00
ipv6_fragment.c net: ipv6: Trivial changes in fragmentation debug 2019-04-26 10:45:45 +03:00
ipv6_mld.c all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
ipv6_nbr.c net: if: Add access functions for network interface flags 2019-04-23 13:11:03 +03:00
ipv6.c all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
ipv6.h net: ipv6: Fix IPv6 neighbor table 2019-03-25 22:49:52 -04:00
Kconfig net/udp: Accept UDP packet with missing checksum 2019-05-27 20:58:53 +08:00
Kconfig.debug doc: fix docs, include, and Kconfig misspellings 2019-02-28 09:32:12 +01:00
Kconfig.ipv4 net: ipv4: Allow UDP packets with broadcast dst address 2019-05-20 14:11:11 +03:00
Kconfig.ipv6 net: bt: Add multi-link support 2019-05-07 11:16:29 +03:00
Kconfig.mgmt net: increase mgmt event stack size 2019-04-09 15:35:41 -04:00
Kconfig.stack net: rpl: Remove the deprecated code 2019-01-13 09:40:36 -05:00
Kconfig.stats net: rpl: Remove the deprecated code 2019-01-13 09:40:36 -05:00
nbr.c
nbr.h
net_context.c net/context: Reordering some ipv4/6 logic to follow all other places 2019-05-07 15:40:33 +03:00
net_core.c net: core: In RX check if the pkt is for loopback interface 2019-04-30 09:56:01 -07:00
net_if.c net: if: Select global IPv4 address if needed 2019-05-21 15:37:53 +03:00
net_mgmt.c kernel: demote K_THREAD_STACK_BUFFER() to private 2019-04-05 16:10:02 -04:00
net_pkt.c net: Allow to disable native IP stack with socket offloading 2019-05-10 10:07:05 +03:00
net_private.h net/udp: Computed checksum field should not be 0 2019-05-27 20:58:53 +08:00
net_shell.c net: shell: Refactor help information for ping command 2019-05-23 22:12:23 +03:00
net_shell.h
net_stats.c net: rpl: Remove the deprecated code 2019-01-13 09:40:36 -05:00
net_stats.h net: rpl: Remove the deprecated code 2019-01-13 09:40:36 -05:00
net_tc_mapping.h
net_tc.c net: rpl: Remove the deprecated code 2019-01-13 09:40:36 -05:00
packet_socket.c net: sockets: Add socket api to support AF_PACKET 2019-02-07 14:43:30 +02:00
packet_socket.h net: core: Handle packets when packet sockets are enabled 2019-02-07 14:43:30 +02:00
promiscuous.c
route.c all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
route.h net: Fix the function API documentation generation 2019-02-15 16:39:06 -05:00
tcp_internal.h net/context: Remove token parameter from net_context_send/sendto 2019-03-20 10:27:14 -05:00
tcp.c Revert "net: tcp: Fix ref counting for the net_pkt" 2019-04-01 12:39:32 -04:00
trickle.c net: trickle: Re-init trickle timer for multiple triggerings 2019-04-24 12:54:48 +03:00
udp_internal.h net/udp: Remove net_udp_insert legacy function 2019-03-20 10:27:14 -05:00
udp.c net/udp: Accept UDP packet with missing checksum 2019-05-27 20:58:53 +08:00
utils.c all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00