Update for TFTP using a fixed UDP port
Use the approved environment variable names. Added "tftpdstp" to
allow ports other than 69 per Tolunay Orkun's recommendation.
Patch by Jerry Van Baren, 12 Jan 2005
diff --git a/CHANGELOG b/CHANGELOG
index bc194ff..4994701 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,11 @@
 Changes for U-Boot 1.1.4:
 ======================================================================
 
+* Update for TFTP using a fixed UDP port
+  Use the approved environment variable names. Added "tftpdstp" to
+  allow ports other than 69 per Tolunay Orkun's recommendation.
+  Patch by Jerry Van Baren, 12 Jan 2005
+
 * Allow to force TFTP to use a fixed UDP port
   (Add a configuration option CONFIG_TFTP_PORT and optional env
   variable tftpport)
diff --git a/README b/README
index 3b36e50..9c3ff38 100644
--- a/README
+++ b/README
@@ -1490,12 +1490,16 @@
 - TFTP Fixed UDP Port:
 		CONFIG_TFTP_PORT
 
-		If this is defined, the environment variable tftpport
+		If this is defined, the environment variable tftpsrcp
 		is used to supply the TFTP UDP source port value.
-		If tftpport isn't defined, the normal pseudo-random port
+		If tftpsrcp isn't defined, the normal pseudo-random port
 		number generator is used.
 
-		The purpose for this is to allow a TFTP server to
+		Also, the environment variable tftpdstp is used to supply
+		the TFTP UDP destination port value.  If tftpdstp isn't
+		defined, the normal port 69 is used.
+
+		The purpose for tftpsrcp is to allow a TFTP server to
 		blindly start the TFTP transfer using the pre-configured
 		target IP address and UDP port. This has the effect of
 		"punching through" the (Windows XP) firewall, allowing
@@ -2468,9 +2472,12 @@
 		  Useful on scripts which control the retry operation
 		  themselves.
 
-  tftpport	- If this is set, the value is used for TFTP's
+  tftpsrcport	- If this is set, the value is used for TFTP's
 		  UDP source port.
 
+  tftpdstport	- If this is set, the value is used for TFTP's UDP
+		  destination port instead of the Well Know Port 69.
+
    vlan		- When set to a value < 4095 the traffic over
 		  ethernet is encapsulated/received over 802.1q
 		  VLAN tagged frames.
diff --git a/net/tftp.c b/net/tftp.c
index a7c246a..748628c 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -371,7 +371,10 @@
 	/* Use a pseudo-random port unless a specific port is set */
 	TftpOurPort = 1024 + (get_timer(0) % 3072);
 #ifdef CONFIG_TFTP_PORT
-	if ((ep = getenv("tftpport")) != NULL) {
+	if ((ep = getenv("tftpdstp")) != NULL) {
+		TftpServerPort = simple_strtol(ep, NULL, 10);
+	}
+	if ((ep = getenv("tftpsrcp")) != NULL) {
 		TftpOurPort= simple_strtol(ep, NULL, 10);
 	}
 #endif