From 72dcdb76558c4c123f4973acf8d9918457a25c09 Mon Sep 17 00:00:00 2001 From: sg Date: Wed, 4 Mar 2015 21:21:49 +0100 Subject: [PATCH] fixed bug #43784 (a host should send at least one Router Solicitation) --- CHANGELOG | 3 +++ src/core/ipv6/nd6.c | 4 ++++ 2 files changed, 7 insertions(+) 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 */