提交 3df6cd4d 编写于 作者: S Simon Glass 提交者: Tom Rini

Convert CONFIG_KEEP_SERVERADDR to Kconfig

This converts the following to Kconfig:
   CONFIG_KEEP_SERVERADDR

Drop the preprocessor usage also.
Signed-off-by: NSimon Glass <sjg@chromium.org>
上级 2d7a463e
......@@ -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
......
......@@ -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
......
......@@ -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
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册