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)
- 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
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.
/* 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