From 5e6e41b3bab32f2ee258a76fda68b703e8f10cc3 Mon Sep 17 00:00:00 2001 From: Andre Kalb Date: Fri, 28 Jan 2022 09:40:32 +0100 Subject: [PATCH] net: bootp: Make root path (option 17) length configurable to adjust the root path length. Eg to 256 from Linux Kernel Signed-off-by: Andre Kalb Reviewed-by: Ramon Fried [trini: Guard extern so that !CONFIG_NET platforms will build] Signed-off-by: Tom Rini --- include/net.h | 4 +++- net/Kconfig | 6 ++++++ net/bootp.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/include/net.h b/include/net.h index e3889a0bc8..c06b577808 100644 --- a/include/net.h +++ b/include/net.h @@ -536,7 +536,9 @@ extern struct in_addr net_dns_server2; #endif extern char net_nis_domain[32]; /* Our IS domain */ extern char net_hostname[32]; /* Our hostname */ -extern char net_root_path[64]; /* Our root path */ +#ifdef CONFIG_NET +extern char net_root_path[CONFIG_BOOTP_MAX_ROOT_PATH_LEN]; /* Our root path */ +#endif /** END OF BOOTP EXTENTIONS **/ extern u8 net_ethaddr[ARP_HLEN]; /* Our ethernet address */ extern u8 net_server_ethaddr[ARP_HLEN]; /* Boot server enet address */ diff --git a/net/Kconfig b/net/Kconfig index 564ea8b2d2..52e261884d 100644 --- a/net/Kconfig +++ b/net/Kconfig @@ -168,6 +168,12 @@ config BOOTP_SERVERIP variable, not the BOOTP server. This affects the operation of both bootp and tftp. +config BOOTP_MAX_ROOT_PATH_LEN + int "Option 17 root path length" + default 64 + help + Select maximal length of option 17 root path. + endif # if NET config SYS_RX_ETH_BUFFER diff --git a/net/bootp.c b/net/bootp.c index a544bfcc23..b260d5d09e 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -59,7 +59,7 @@ ulong bootp_start; ulong bootp_timeout; char net_nis_domain[32] = {0,}; /* Our NIS domain */ char net_hostname[32] = {0,}; /* Our hostname */ -char net_root_path[64] = {0,}; /* Our bootpath */ +char net_root_path[CONFIG_BOOTP_MAX_ROOT_PATH_LEN] = {0,}; /* Our bootpath */ static ulong time_taken_max;