summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/Kconfig7
-rw-r--r--net/net.c4
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
diff --git a/net/net.c b/net/net.c
index c2992a0908..43e230aeb9 100644
--- a/net/net.c
+++ b/net/net.c
@@ -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,