mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-16 14:08:45 +00:00
Allow to force TFTP to use a fixed UDP port
(Add a configuration option CONFIG_TFTP_PORT and optional env variable tftpport) Patch by Jerry Van Baren, 10 Jan 2005
This commit is contained in:
parent
4bc12f1ccf
commit
ecb0ccd9c2
3 changed files with 34 additions and 0 deletions
|
@ -2,6 +2,11 @@
|
||||||
Changes for U-Boot 1.1.4:
|
Changes for U-Boot 1.1.4:
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
* Allow to force TFTP to use a fixed UDP port
|
||||||
|
(Add a configuration option CONFIG_TFTP_PORT and optional env
|
||||||
|
variable tftpport)
|
||||||
|
Patch by Jerry Van Baren, 10 Jan 2005
|
||||||
|
|
||||||
* Fix ethernet timeouts on dbau1550 and other au1x00 systems
|
* Fix ethernet timeouts on dbau1550 and other au1x00 systems
|
||||||
Patch by Leif Lindholm, 29 Dec 2004
|
Patch by Leif Lindholm, 29 Dec 2004
|
||||||
|
|
||||||
|
|
19
README
19
README
|
@ -1487,6 +1487,22 @@ The following options need to be configured:
|
||||||
When SystemACE support is added, the "ace" device type
|
When SystemACE support is added, the "ace" device type
|
||||||
becomes available to the fat commands, i.e. fatls.
|
becomes available to the fat commands, i.e. fatls.
|
||||||
|
|
||||||
|
- TFTP Fixed UDP Port:
|
||||||
|
CONFIG_TFTP_PORT
|
||||||
|
|
||||||
|
If this is defined, the environment variable tftpport
|
||||||
|
is used to supply the TFTP UDP source port value.
|
||||||
|
If tftpport isn't defined, the normal pseudo-random port
|
||||||
|
number generator is used.
|
||||||
|
|
||||||
|
The purpose for this 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
|
||||||
|
the remainder of the TFTP transfer to proceed normally.
|
||||||
|
A better solution is to properly configure the firewall,
|
||||||
|
but sometimes that is not allowed.
|
||||||
|
|
||||||
- Show boot progress:
|
- Show boot progress:
|
||||||
CONFIG_SHOW_BOOT_PROGRESS
|
CONFIG_SHOW_BOOT_PROGRESS
|
||||||
|
|
||||||
|
@ -2452,6 +2468,9 @@ Some configuration options can be set using Environment Variables:
|
||||||
Useful on scripts which control the retry operation
|
Useful on scripts which control the retry operation
|
||||||
themselves.
|
themselves.
|
||||||
|
|
||||||
|
tftpport - If this is set, the value is used for TFTP's
|
||||||
|
UDP source port.
|
||||||
|
|
||||||
vlan - When set to a value < 4095 the traffic over
|
vlan - When set to a value < 4095 the traffic over
|
||||||
ethernet is encapsulated/received over 802.1q
|
ethernet is encapsulated/received over 802.1q
|
||||||
VLAN tagged frames.
|
VLAN tagged frames.
|
||||||
|
|
10
net/tftp.c
10
net/tftp.c
|
@ -313,6 +313,10 @@ TftpTimeout (void)
|
||||||
void
|
void
|
||||||
TftpStart (void)
|
TftpStart (void)
|
||||||
{
|
{
|
||||||
|
#ifdef CONFIG_TFTP_PORT
|
||||||
|
char *ep; /* Environment pointer */
|
||||||
|
#endif
|
||||||
|
|
||||||
if (BootFile[0] == '\0') {
|
if (BootFile[0] == '\0') {
|
||||||
sprintf(default_filename, "%02lX%02lX%02lX%02lX.img",
|
sprintf(default_filename, "%02lX%02lX%02lX%02lX.img",
|
||||||
NetOurIP & 0xFF,
|
NetOurIP & 0xFF,
|
||||||
|
@ -364,7 +368,13 @@ TftpStart (void)
|
||||||
TftpServerPort = WELL_KNOWN_PORT;
|
TftpServerPort = WELL_KNOWN_PORT;
|
||||||
TftpTimeoutCount = 0;
|
TftpTimeoutCount = 0;
|
||||||
TftpState = STATE_RRQ;
|
TftpState = STATE_RRQ;
|
||||||
|
/* Use a pseudo-random port unless a specific port is set */
|
||||||
TftpOurPort = 1024 + (get_timer(0) % 3072);
|
TftpOurPort = 1024 + (get_timer(0) % 3072);
|
||||||
|
#ifdef CONFIG_TFTP_PORT
|
||||||
|
if ((ep = getenv("tftpport")) != NULL) {
|
||||||
|
TftpOurPort= simple_strtol(ep, NULL, 10);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
TftpBlock = 0;
|
TftpBlock = 0;
|
||||||
|
|
||||||
/* zero out server ether in case the server ip has changed */
|
/* zero out server ether in case the server ip has changed */
|
||||||
|
|
Loading…
Add table
Reference in a new issue