Convert CONFIG_KEEP_SERVERADDR to Kconfig
authorSimon Glass <sjg@chromium.org>
Sat, 18 Dec 2021 18:27:48 +0000 (11:27 -0700)
committerTom Rini <trini@konsulko.com>
Fri, 21 Jan 2022 19:01:34 +0000 (14:01 -0500)
This converts the following to Kconfig:
   CONFIG_KEEP_SERVERADDR

Drop the preprocessor usage also.

Signed-off-by: Simon Glass <sjg@chromium.org>
README
include/configs/sandbox.h
net/Kconfig
net/arp.c

diff --git a/README b/README
index 5549849..560a181 100644 (file)
--- a/README
+++ b/README
@@ -1138,11 +1138,6 @@ The following options need to be configured:
                server to contact when using the "tftboot" command.
                (Environment variable "serverip")
 
-               CONFIG_KEEP_SERVERADDR
-
-               Keeps the server's MAC address, in the env 'serveraddr'
-               for passing to bootargs (like Linux's netconsole option)
-
 - Gateway IP address:
                CONFIG_GATEWAYIP
 
index cd7d99e..1dd21d5 100644 (file)
@@ -25,7 +25,6 @@
 #define CONFIG_SYS_BAUDRATE_TABLE      {4800, 9600, 19200, 38400, 57600,\
                                        115200}
 
-#define CONFIG_KEEP_SERVERADDR
 #define CONFIG_UDP_CHECKSUM
 #define CONFIG_TIMESTAMP
 #define CONFIG_BOOTP_SERVERIP
index cabe93c..8e9579a 100644 (file)
@@ -99,4 +99,13 @@ config SERVERIP_FROM_PROXYDHCP_DELAY_MS
                receiving response from main DHCP server. Has no effect if
                SERVERIP_FROM_PROXYDHCP is false.
 
+config KEEP_SERVERADDR
+       bool "Write the server's MAC address to 'serveraddr'"
+       default y if SANDBOX
+       help
+         Keeps the server's MAC address, in the env 'serveraddr'
+         for passing to bootargs (like Linux's netconsole option). If this is
+         enabled, when an ARP reply is received, the server's IP address is
+         written there.
+
 endif   # if NET
index 1d06ed2..0b086dc 100644 (file)
--- a/net/arp.c
+++ b/net/arp.c
@@ -196,13 +196,12 @@ void arp_receive(struct ethernet_hdr *et, struct ip_udp_hdr *ip, int len)
                if (!arp_is_waiting())
                        break;
 
-#ifdef CONFIG_KEEP_SERVERADDR
-               if (net_server_ip.s_addr == net_arp_wait_packet_ip.s_addr) {
+               if (IS_ENABLED(CONFIG_KEEP_SERVERADDR) &&
+                   net_server_ip.s_addr == net_arp_wait_packet_ip.s_addr) {
                        char buf[20];
                        sprintf(buf, "%pM", &arp->ar_sha);
                        env_set("serveraddr", buf);
                }
-#endif
 
                reply_ip_addr = net_read_ip(&arp->ar_spa);