From 5d110f0aa69f065ee386ec1840dfee1e8cc46bc1 Mon Sep 17 00:00:00 2001
From: Wilson Callan <wcallan@savantav.com>
Date: Sat, 28 Jul 2007 10:56:13 -0400
Subject: [PATCH] New CONFIG_BOOTP_SERVERIP option

Added CONFIG_BOOTP_SERVERIP to allow the tftp server to be different
from the bootp server

Signed-off-by: Wilson Callan <wcallan@savantav.com>
Signed-off-by: Ben Warren <bwarren@qstreams.com>
---
 README      | 5 ++++-
 net/bootp.c | 2 ++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/README b/README
index 398ea7e791c..6af6aaa02f1 100644
--- a/README
+++ b/README
@@ -1102,6 +1102,9 @@ The following options need to be configured:
 		CONFIG_BOOTP_TIMEOFFSET
 		CONFIG_BOOTP_VENDOREX
 
+		CONFIG_BOOTP_SERVERIP - TFTP server will be the serverip
+		environment variable, not the BOOTP server.
+
 		CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
 		serverip from a DHCP server, it is possible that more
 		than one DNS serverip is offered to the client.
@@ -1114,7 +1117,7 @@ The following options need to be configured:
 		CONFIG_BOOTP_SEND_HOSTNAME - Some DHCP servers are capable
 		to do a dynamic update of a DNS server. To do this, they
 		need the hostname of the DHCP requester.
-		If CONFIG_BOOP_SEND_HOSTNAME is defined, the content
+		If CONFIG_BOOTP_SEND_HOSTNAME is defined, the content
 		of the "hostname" environment variable is passed as
 		option 12 to the DHCP server.
 
diff --git a/net/bootp.c b/net/bootp.c
index 80f53bc8863..be1ee332a5f 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -120,10 +120,12 @@ static void BootpCopyNetParams(Bootp_t *bp)
 	IPaddr_t tmp_ip;
 
 	NetCopyIP(&NetOurIP, &bp->bp_yiaddr);
+#if !defined(CONFIG_BOOTP_SERVERIP)
 	NetCopyIP(&tmp_ip, &bp->bp_siaddr);
 	if (tmp_ip != 0)
 		NetCopyIP(&NetServerIP, &bp->bp_siaddr);
 	memcpy (NetServerEther, ((Ethernet_t *)NetRxPkt)->et_src, 6);
+#endif
 	if (strlen(bp->bp_file) > 0)
 		copy_filename (BootFile, bp->bp_file, sizeof(BootFile));
 
-- 
GitLab