diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/Kconfig | 7 | ||||
-rw-r--r-- | net/net.c | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/net/Kconfig b/net/Kconfig index 8e9579afb2..8ddea2823a 100644 --- a/net/Kconfig +++ b/net/Kconfig @@ -108,4 +108,11 @@ config KEEP_SERVERADDR enabled, when an ARP reply is received, the server's IP address is written there. +config UDP_CHECKSUM + bool "Check the UDP checksum" + help + Enable this to verify the checksum on UDP packets. If the checksum + is wrong then the packet is discussed and an error is shown, like + "UDP wrong checksum 29374a23 30ff3826" + endif # if NET @@ -1264,8 +1264,7 @@ void net_process_received_packet(uchar *in_packet, int len) "received UDP (to=%pI4, from=%pI4, len=%d)\n", &dst_ip, &src_ip, len); -#ifdef CONFIG_UDP_CHECKSUM - if (ip->udp_xsum != 0) { + if (IS_ENABLED(CONFIG_UDP_CHECKSUM) && ip->udp_xsum != 0) { ulong xsum; u8 *sumptr; ushort sumlen; @@ -1298,7 +1297,6 @@ void net_process_received_packet(uchar *in_packet, int len) return; } } -#endif #if defined(CONFIG_NETCONSOLE) && !defined(CONFIG_SPL_BUILD) nc_input_packet((uchar *)ip + IP_UDP_HDR_SIZE, |