From: Peng Fan <van.freenix@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH V2] net: bootp: Ignore packets whose yiaddr is 0
Date: Thu, 7 Jan 2016 15:28:23 +0800 [thread overview]
Message-ID: <1452151703-30647-1-git-send-email-van.freenix@gmail.com> (raw)
From: Peng Fan <peng.fan@nxp.com>
When doing `dhcp`, there is a bad dhcp server in my network
which always reply dhcp request with yiaddr 0, which cause
uboot can not successfully get ipaddr from the good dhcp server.
But the Linux PC can get the ip address even if there is a bad
dhcp server. This patch is to fix that even if there is a bad
dhcp server, uboot can still get ipaddr and tftp work ok.
The way is to ignore the packets from the bad dhcp server by filtering
out the yiaddr whose value is 0.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>
---
Changes V2:
Take Wolfgang's suggestion, move the code after debug message.
net/bootp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/bootp.c b/net/bootp.c
index 8aeddb0..8da2e9b 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -995,6 +995,9 @@ static void dhcp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
debug("DHCPHandler: got DHCP packet: (src=%d, dst=%d, len=%d) state: "
"%d\n", src, dest, len, dhcp_state);
+ if (net_read_ip(&bp->bp_yiaddr).s_addr == 0)
+ return;
+
switch (dhcp_state) {
case SELECTING:
/*
--
2.6.2
next reply other threads:[~2016-01-07 7:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-07 7:28 Peng Fan [this message]
2016-01-07 16:09 ` [U-Boot] [PATCH V2] net: bootp: Ignore packets whose yiaddr is 0 Wolfgang Denk
2016-01-25 1:50 ` Peng Fan
2016-01-25 14:59 ` Joe Hershberger
2016-01-29 21:26 ` [U-Boot] " Joe Hershberger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1452151703-30647-1-git-send-email-van.freenix@gmail.com \
--to=van.freenix@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox