diff --git a/CHANGELOG b/CHANGELOG index d2682f86..2193b439 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -205,6 +205,9 @@ HISTORY ++ Bugfixes: + 2015-03-04: Simon Goldschmidt + * nd6.c: fixed bug #43784 (a host should send at least one Router Solicitation) + 2015-03-04: Valery Ushakov * ip6.c: fixed bug #41094 (Byte-order bug in IPv6 fragmentation header test) diff --git a/src/core/ipv6/nd6.c b/src/core/ipv6/nd6.c index 380fb020..674672ee 100644 --- a/src/core/ipv6/nd6.c +++ b/src/core/ipv6/nd6.c @@ -376,6 +376,10 @@ nd6_input(struct pbuf *p, struct netif *inp) /* If we are sending RS messages, stop. */ #if LWIP_IPV6_SEND_ROUTER_SOLICIT + if (inp->rs_count == LWIP_ND6_MAX_MULTICAST_SOLICIT) { + /* ensure at least one solicitation is sent */ + nd6_send_rs(inp); + } inp->rs_count = 0; #endif /* LWIP_IPV6_SEND_ROUTER_SOLICIT */