kern/93526: IPv6 Multicast Listener Reports (MLD6 Reports) are
not being sent on 6.1-PRERELEASE #5
Cristian KLEIN
cristi at net.utcluj.ro
Sat Feb 18 13:30:14 PST 2006
The following reply was made to PR kern/93526; it has been noted by GNATS.
From: Cristian KLEIN <cristi at net.utcluj.ro>
To: bug-followup at FreeBSD.org, cristi at net.utcluj.ro
Cc:
Subject: Re: kern/93526: IPv6 Multicast Listener Reports (MLD6 Reports) are
not being sent on 6.1-PRERELEASE #5
Date: Sat, 18 Feb 2006 23:26:19 +0200
This is a multi-part message in MIME format.
--------------010205060705000004050405
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
I found out that the problema has to do with the timer that sends the
MLD report, but I wasn't able to fix it.
However, I applied a very ugly workaround. Instead of sending MLD
Reports in the next 0 to timer milliseconds, they are sent immediately.
I hope this will be useful.
--------------010205060705000004050405
Content-Type: text/x-patch;
name="mld6.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="mld6.patch"
--- sys/netinet6/mld6.c.orig Sat Feb 18 23:18:27 2006
+++ sys/netinet6/mld6.c Sat Feb 18 23:18:41 2006
@@ -384,9 +384,13 @@
IPV6_ADDR_MC_SCOPE(&in6m->in6m_addr) <
IPV6_ADDR_SCOPE_LINKLOCAL)
continue;
-
+
if (IN6_IS_ADDR_UNSPECIFIED(&mld_addr) ||
IN6_ARE_ADDR_EQUAL(&mld_addr, &in6m->in6m_addr)) {
+
+ /* KC: very ugly hack */
+ mld6_sendpkt(in6m, MLD_LISTENER_REPORT, NULL);
+
if (timer == 0) {
/* send a report immediately */
mld_stoptimer(in6m);
--------------010205060705000004050405--
More information about the freebsd-bugs
mailing list