浏览代码

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>
Wilson Callan 18 年之前
父节点
当前提交
5d110f0aa6
共有 2 个文件被更改,包括 6 次插入1 次删除
  1. 4 1
      README
  2. 2 0
      net/bootp.c

+ 4 - 1
README

@@ -1102,6 +1102,9 @@ The following options need to be configured:
 		CONFIG_BOOTP_TIMEOFFSET
 		CONFIG_BOOTP_TIMEOFFSET
 		CONFIG_BOOTP_VENDOREX
 		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
 		CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
 		serverip from a DHCP server, it is possible that more
 		serverip from a DHCP server, it is possible that more
 		than one DNS serverip is offered to the client.
 		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
 		CONFIG_BOOTP_SEND_HOSTNAME - Some DHCP servers are capable
 		to do a dynamic update of a DNS server. To do this, they
 		to do a dynamic update of a DNS server. To do this, they
 		need the hostname of the DHCP requester.
 		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
 		of the "hostname" environment variable is passed as
 		option 12 to the DHCP server.
 		option 12 to the DHCP server.
 
 

+ 2 - 0
net/bootp.c

@@ -120,10 +120,12 @@ static void BootpCopyNetParams(Bootp_t *bp)
 	IPaddr_t tmp_ip;
 	IPaddr_t tmp_ip;
 
 
 	NetCopyIP(&NetOurIP, &bp->bp_yiaddr);
 	NetCopyIP(&NetOurIP, &bp->bp_yiaddr);
+#if !defined(CONFIG_BOOTP_SERVERIP)
 	NetCopyIP(&tmp_ip, &bp->bp_siaddr);
 	NetCopyIP(&tmp_ip, &bp->bp_siaddr);
 	if (tmp_ip != 0)
 	if (tmp_ip != 0)
 		NetCopyIP(&NetServerIP, &bp->bp_siaddr);
 		NetCopyIP(&NetServerIP, &bp->bp_siaddr);
 	memcpy (NetServerEther, ((Ethernet_t *)NetRxPkt)->et_src, 6);
 	memcpy (NetServerEther, ((Ethernet_t *)NetRxPkt)->et_src, 6);
+#endif
 	if (strlen(bp->bp_file) > 0)
 	if (strlen(bp->bp_file) > 0)
 		copy_filename (BootFile, bp->bp_file, sizeof(BootFile));
 		copy_filename (BootFile, bp->bp_file, sizeof(BootFile));