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