diff options
Diffstat (limited to 'net')
| -rw-r--r-- | net/bootp.c | 34 | ||||
| -rw-r--r-- | net/net.c | 30 | ||||
| -rw-r--r-- | net/rarp.c | 18 | 
3 files changed, 33 insertions, 49 deletions
| diff --git a/net/bootp.c b/net/bootp.c index b703f428c..b789eec0d 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -138,36 +138,6 @@ static int truncate_sz (const char *name, int maxlen, int curlen)  	return (curlen);  } -/* - * Check if autoload is enabled. If so, use either NFS or TFTP to download - * the boot file. - */ -static void auto_load(void) -{ -	const char *s = getenv("autoload"); - -	if (s != NULL) { -		if (*s == 'n') { -			/* -			 * Just use BOOTP to configure system; -			 * Do not use TFTP to load the bootfile. -			 */ -			NetState = NETLOOP_SUCCESS; -			return; -		} -#if defined(CONFIG_CMD_NFS) -		if (strcmp(s, "NFS") == 0) { -			/* -			 * Use NFS to load the bootfile. -			 */ -			NfsStart(); -			return; -		} -#endif -	} -	TftpStart(TFTPGET); -} -  #if !defined(CONFIG_CMD_DHCP)  static void BootpVendorFieldProcess (u8 * ext) @@ -354,7 +324,7 @@ BootpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src,  	debug("Got good BOOTP\n"); -	auto_load(); +	net_auto_load();  }  #endif @@ -979,7 +949,7 @@ DhcpHandler(uchar *pkt, unsigned dest, IPaddr_t sip, unsigned src,  			dhcp_state = BOUND;  			printf ("DHCP client bound to address %pI4\n", &NetOurIP); -			auto_load(); +			net_auto_load();  			return;  		}  		break; @@ -309,6 +309,36 @@ void ArpTimeoutCheck(void)  	}  } +/* + * Check if autoload is enabled. If so, use either NFS or TFTP to download + * the boot file. + */ +void net_auto_load(void) +{ +	const char *s = getenv("autoload"); + +	if (s != NULL) { +		if (*s == 'n') { +			/* +			 * Just use BOOTP/RARP to configure system; +			 * Do not use TFTP to load the bootfile. +			 */ +			NetState = NETLOOP_SUCCESS; +			return; +		} +#if defined(CONFIG_CMD_NFS) +		if (strcmp(s, "NFS") == 0) { +			/* +			 * Use NFS to load the bootfile. +			 */ +			NfsStart(); +			return; +		} +#endif +	} +	TftpStart(TFTPGET); +} +  static void NetInitLoop(enum proto_t protocol)  {  	static int env_changed_id; diff --git a/net/rarp.c b/net/rarp.c index 94c86d342..097f970f4 100644 --- a/net/rarp.c +++ b/net/rarp.c @@ -46,24 +46,8 @@ static void  RarpHandler(uchar *dummi0, unsigned dummi1, IPaddr_t sip, unsigned dummi2,  	    unsigned dummi3)  { -	char *s;  	debug("Got good RARP\n"); -	if ((s = getenv("autoload")) != NULL) { -		if (*s == 'n') { -			/* -			 * Just use RARP to configure system; -			 * Do not use TFTP/NFS to to load the bootfile. -			 */ -			NetState = NETLOOP_SUCCESS; -			return; -#if defined(CONFIG_CMD_NFS) -		} else if ((s != NULL) && !strcmp(s, "NFS")) { -			NfsStart(); -			return; -#endif -		} -	} -	TftpStart (); +	net_auto_load();  } |