From 121268d320f965ce4ed65fb01a3fb0b1754bcaf5 Mon Sep 17 00:00:00 2001 From: sg Date: Wed, 23 Sep 2015 21:56:34 +0200 Subject: [PATCH] Added ip_addr_set_zero_ip4() to explicitly set the type to IPv4 for dual-stack --- src/core/dhcp.c | 2 +- src/include/lwip/ip_addr.h | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/dhcp.c b/src/core/dhcp.c index 1881b930..bf110acd 100644 --- a/src/core/dhcp.c +++ b/src/core/dhcp.c @@ -1215,7 +1215,7 @@ dhcp_release(struct netif *netif) /* idle DHCP client */ dhcp_set_state(dhcp, DHCP_STATE_OFF); /* clean old DHCP offer */ - ip_addr_set_zero(&dhcp->server_ip_addr); + ip_addr_set_zero_ip4(&dhcp->server_ip_addr); ip4_addr_set_zero(&dhcp->offered_ip_addr); ip4_addr_set_zero(&dhcp->offered_sn_mask); ip4_addr_set_zero(&dhcp->offered_gw_addr); diff --git a/src/include/lwip/ip_addr.h b/src/include/lwip/ip_addr.h index eab3171e..e7875889 100644 --- a/src/include/lwip/ip_addr.h +++ b/src/include/lwip/ip_addr.h @@ -113,6 +113,8 @@ static const ip4_addr_t* ip_2_ip4_c(const ip_addr_t *ipaddr) ip4_addr_set(ip_2_ip4(dest), ip_2_ip4_c(src)); IP_SET_TYPE(dest, IPADDR_TYPE_V4); }}while(0) #define ip_addr_set_zero(ipaddr) do{ \ ip6_addr_set_zero(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, 0); }while(0) +#define ip_addr_set_zero_ip4(ipaddr) do{ \ + ip6_addr_set_zero(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, IPADDR_TYPE_V4); }while(0) #define ip_addr_set_zero_ip6(ipaddr) do{ \ ip6_addr_set_zero(ip_2_ip6(ipaddr)); IP_SET_TYPE(ipaddr, IPADDR_TYPE_V6); }while(0) #define ip_addr_set_any(is_ipv6, ipaddr) do{if(is_ipv6){ \ @@ -187,6 +189,7 @@ typedef ip4_addr_t ip_addr_t; #define ip_addr_set(dest, src) ip4_addr_set(dest, src) #define ip_addr_set_ipaddr(dest, src) ip4_addr_set(dest, src) #define ip_addr_set_zero(ipaddr) ip4_addr_set_zero(ipaddr) +#define ip_addr_set_zero_ip4(ipaddr) ip4_addr_set_zero(ipaddr) #define ip_addr_set_any(is_ipv6, ipaddr) ip4_addr_set_any(ipaddr) #define ip_addr_set_loopback(is_ipv6, ipaddr) ip4_addr_set_loopback(ipaddr) #define ip_addr_set_hton(dest, src) ip4_addr_set_hton(dest, src)