diff mbox

[U-Boot] net: bootp: as CONFIG_BOOTP_SERVERIP is defined, keep bootfile not changed

Message ID 1416287228-12354-1-git-send-email-josh.wu@atmel.com
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Josh Wu Nov. 18, 2014, 5:07 a.m. UTC
Currenly when CONFIG_BOOTP_SERVERIP is defined, the SERVERIP is not changed
when receive the BOOTP packet. But BOOTFILE is changed via BOOTP packet.

As we will load the BOOTFILE from SERVERIP, if the BOOTFILE is modified
by bootp packet but SERVERIP is not, that is not make sense.

This patch make SERVERIP and BOOTFILE be consistent. If we define the
CONFIG_BOOTP_SERVERIP, then SERVERIP and BOOTFILE will not changed by
BOOTP packet. Only IP address is changed.

Signed-off-by: Josh Wu <josh.wu@atmel.com>
---
 net/bootp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Josh Wu Dec. 4, 2014, 2:38 a.m. UTC | #1
Hi,

Any feedback for this patch?

Best Regards,
Josh Wu

On 11/18/2014 1:07 PM, Josh Wu wrote:
> Currenly when CONFIG_BOOTP_SERVERIP is defined, the SERVERIP is not changed
> when receive the BOOTP packet. But BOOTFILE is changed via BOOTP packet.
>
> As we will load the BOOTFILE from SERVERIP, if the BOOTFILE is modified
> by bootp packet but SERVERIP is not, that is not make sense.
>
> This patch make SERVERIP and BOOTFILE be consistent. If we define the
> CONFIG_BOOTP_SERVERIP, then SERVERIP and BOOTFILE will not changed by
> BOOTP packet. Only IP address is changed.
>
> Signed-off-by: Josh Wu <josh.wu@atmel.com>
> ---
>   net/bootp.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/net/bootp.c b/net/bootp.c
> index 189a003..479bb20 100644
> --- a/net/bootp.c
> +++ b/net/bootp.c
> @@ -104,8 +104,6 @@ static void BootpCopyNetParams(struct Bootp_t *bp)
>   	if (tmp_ip != 0)
>   		NetCopyIP(&NetServerIP, &bp->bp_siaddr);
>   	memcpy(NetServerEther, ((struct ethernet_hdr *)NetRxPacket)->et_src, 6);
> -#endif
> -	NetCopyIP(&NetOurIP, &bp->bp_yiaddr);
>   	if (strlen(bp->bp_file) > 0)
>   		copy_filename(BootFile, bp->bp_file, sizeof(BootFile));
>   
> @@ -117,6 +115,8 @@ static void BootpCopyNetParams(struct Bootp_t *bp)
>   	 */
>   	if (*BootFile)
>   		setenv("bootfile", BootFile);
> +#endif
> +	NetCopyIP(&NetOurIP, &bp->bp_yiaddr);
>   }
>   
>   static int truncate_sz(const char *name, int maxlen, int curlen)
Tom Rini Dec. 8, 2014, 9:41 p.m. UTC | #2
On Tue, Nov 18, 2014 at 01:07:08PM +0800, Wu, Josh wrote:

> Currenly when CONFIG_BOOTP_SERVERIP is defined, the SERVERIP is not changed
> when receive the BOOTP packet. But BOOTFILE is changed via BOOTP packet.
> 
> As we will load the BOOTFILE from SERVERIP, if the BOOTFILE is modified
> by bootp packet but SERVERIP is not, that is not make sense.
> 
> This patch make SERVERIP and BOOTFILE be consistent. If we define the
> CONFIG_BOOTP_SERVERIP, then SERVERIP and BOOTFILE will not changed by
> BOOTP packet. Only IP address is changed.
> 
> Signed-off-by: Josh Wu <josh.wu@atmel.com>

Applied to u-boot/master, thanks!
diff mbox

Patch

diff --git a/net/bootp.c b/net/bootp.c
index 189a003..479bb20 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -104,8 +104,6 @@  static void BootpCopyNetParams(struct Bootp_t *bp)
 	if (tmp_ip != 0)
 		NetCopyIP(&NetServerIP, &bp->bp_siaddr);
 	memcpy(NetServerEther, ((struct ethernet_hdr *)NetRxPacket)->et_src, 6);
-#endif
-	NetCopyIP(&NetOurIP, &bp->bp_yiaddr);
 	if (strlen(bp->bp_file) > 0)
 		copy_filename(BootFile, bp->bp_file, sizeof(BootFile));
 
@@ -117,6 +115,8 @@  static void BootpCopyNetParams(struct Bootp_t *bp)
 	 */
 	if (*BootFile)
 		setenv("bootfile", BootFile);
+#endif
+	NetCopyIP(&NetOurIP, &bp->bp_yiaddr);
 }
 
 static int truncate_sz(const char *name, int maxlen, int curlen)