[PATCH] net: dhcp: make tftp work again

Oleksij Rempel linux at rempel-privat.de
Sat Dec 9 01:31:44 PST 2017


This regression was introduced by the patch "net: dhcp: rework"
My patch should restore previous behavior where tftp server name
will overwrite serverip if the first one is present.

On most consumer devices users don't have enough control to set
DHCP as needed. At least on LEDE/OpenWRT we can configure extra
fields by adding for example "66,192.168.1.100" to set tftp server name.
At the same time, DHCP, DNS and Gateware are provided by 192.168.1.1.

Signed-off-by: Oleksij Rempel <linux at rempel-privat.de>
---
 net/dhcp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/dhcp.c b/net/dhcp.c
index 76dab5ef5..18f347d2f 100644
--- a/net/dhcp.c
+++ b/net/dhcp.c
@@ -574,14 +574,14 @@ int dhcp_set_result(struct eth_device *edev, struct dhcp_result *res)
 	if (res->domainname)
 		net_set_domainname(res->domainname);
 
-	if (res->serverip) {
-		net_set_serverip_empty(res->serverip);
-	} else if (res->tftp_server_name) {
+	if (res->tftp_server_name) {
 		IPaddr_t ip;
 
 		ip = resolv(res->tftp_server_name);
 		if (ip)
 			net_set_serverip_empty(ip);
+	} else if (res->serverip) {
+		net_set_serverip_empty(res->serverip);
 	}
 
 	return 0;
-- 
2.14.1




More information about the barebox mailing list