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 <andre.kalb@sma.de>
Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
[trini: Guard extern so that !CONFIG_NET platforms will build]
Signed-off-by: Tom Rini <trini@konsulko.com>
diff --git a/include/net.h b/include/net.h
index e3889a0..c06b577 100644
--- a/include/net.h
+++ b/include/net.h
@@ -536,7 +536,9 @@
 #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 564ea8b..52e2618 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -168,6 +168,12 @@
 	  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 a544bfc..b260d5d 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -59,7 +59,7 @@
 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;