[PATCH 1/4] Convert CONFIG_KEEP_SERVERADDR to Kconfig

Sean Anderson seanga2 at gmail.com
Sat Dec 18 16:15:08 CET 2021


On 12/18/21 10:08 AM, Simon Glass wrote:
> This converts the following to Kconfig:
>     CONFIG_KEEP_SERVERADDR
> 
> Drop the preprocessor usage also.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
> 
>   README                       | 6 ------
>   include/configs/sandbox.h    | 1 -
>   net/Kconfig                  | 9 +++++++++
>   net/arp.c                    | 5 ++---
>   scripts/config_whitelist.txt | 1 -
>   5 files changed, 11 insertions(+), 11 deletions(-)
> 
> diff --git a/README b/README
> index 056b717557b..eaf9170e952 100644
> --- a/README
> +++ b/README
> @@ -1193,12 +1193,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
>   
>   		Defines a default value for the IP address of the
> diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
> index cd7d99ec69c..1dd21d5e925 100644
> --- a/include/configs/sandbox.h
> +++ b/include/configs/sandbox.h
> @@ -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
> diff --git a/net/Kconfig b/net/Kconfig
> index 7a2d1450188..fb6420f9bbe 100644
> --- a/net/Kconfig
> +++ b/net/Kconfig
> @@ -98,4 +98,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.
> +

This loses a bit of context originally present in the README. Can you note that
this is the TFTP server's address we are keeping?

--Sean

>   endif   # if NET
> diff --git a/net/arp.c b/net/arp.c
> index 1d06ed25722..0b086dc8d21 100644
> --- 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);
>   
> diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
> index 6d961ccb3e6..3285d3cd30e 100644
> --- a/scripts/config_whitelist.txt
> +++ b/scripts/config_whitelist.txt
> @@ -639,7 +639,6 @@ CONFIG_JFFS2_PART_SIZE
>   CONFIG_JFFS2_SUMMARY
>   CONFIG_JRSTARTR_JR0
>   CONFIG_JTAG_CONSOLE
> -CONFIG_KEEP_SERVERADDR
>   CONFIG_KEY_REVOCATION
>   CONFIG_KIRKWOOD_EGIGA_INIT
>   CONFIG_KIRKWOOD_GPIO
> 



More information about the U-Boot mailing list