Here is the radvdump of the RA sent by Vista:

  interface lan
  {
          AdvSendAdvert on;
          # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
          AdvManagedFlag off;
          AdvOtherConfigFlag on;
          AdvReachableTime 0;
          AdvRetransTimer 0;
          AdvCurHopLimit 0;
          AdvDefaultLifetime 65535;
          AdvHomeAgentFlag off;
          AdvDefaultPreference medium;
          AdvSourceLLAddress on;
          AdvLinkMTU 1500;
  }; # End of interface definition

I found no way to disable this, other than to enable the flag on the
router, which I don't want.

I don't see the grounds for a warning, especially not when operating
systems like Windows and OS X flood networks with desperate attempts
to make plug-n-play connectivity work for end users. In fact, I'd
argue they should be informational or even debug information,
because while they /might/ cause problems, in my experience they do
not, and there is nothing we can do against it anyway thanks to the
proprietary OSs.

Attached is the patch to turn the warnings into debug messages.

-- 
 .''`.   martin f. krafft <madd...@d.o>      Related projects:
: :'  :  proud Debian developer               http://debiansystem.info
`. `'`   http://people.debian.org/~madduck    http://vcs-pkg.org
  `-  Debian - when you have better things to do than fixing systems
diffstat for radvd_1.6-1 radvd_1.6-1.1

 process.c                  |   16 ++++++++--------
 radvd-1.6/debian/changelog |    7 +++++++
 2 files changed, 15 insertions(+), 8 deletions(-)

diff -u radvd-1.6/debian/changelog radvd-1.6/debian/changelog
--- radvd-1.6/debian/changelog
+++ radvd-1.6/debian/changelog
@@ -1,3 +1,10 @@
+radvd (1:1.6-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Disable warnings caused by spurious broken hosts spouting RAs.
+
+ -- martin f. krafft <madd...@debian.org>  Tue, 23 Mar 2010 09:39:12 +0100
+
 radvd (1:1.6-1) unstable; urgency=low
 
   * New upstream release
only in patch2:
unchanged:
--- radvd-1.6.orig/process.c
+++ radvd-1.6/process.c
@@ -230,19 +230,19 @@
 	if ((radvert->nd_ra_curhoplimit && iface->AdvCurHopLimit) && 
 	   (radvert->nd_ra_curhoplimit != iface->AdvCurHopLimit))
 	{
-		flog(LOG_WARNING, "our AdvCurHopLimit on %s doesn't agree with %s",
+		flog(LOG_DEBUG, "our AdvCurHopLimit on %s doesn't agree with %s",
 			iface->Name, addr_str);
 	}
 
 	if ((radvert->nd_ra_flags_reserved & ND_RA_FLAG_MANAGED) && !iface->AdvManagedFlag)
 	{
-		flog(LOG_WARNING, "our AdvManagedFlag on %s doesn't agree with %s",
+		flog(LOG_DEBUG, "our AdvManagedFlag on %s doesn't agree with %s",
 			iface->Name, addr_str);
 	}
 	
 	if ((radvert->nd_ra_flags_reserved & ND_RA_FLAG_OTHER) && !iface->AdvOtherConfigFlag)
 	{
-		flog(LOG_WARNING, "our AdvOtherConfigFlag on %s doesn't agree with %s",
+		flog(LOG_DEBUG, "our AdvOtherConfigFlag on %s doesn't agree with %s",
 			iface->Name, addr_str);
 	}
 
@@ -251,14 +251,14 @@
 	if ((radvert->nd_ra_reachable && iface->AdvReachableTime) &&
 	   (ntohl(radvert->nd_ra_reachable) != iface->AdvReachableTime))
 	{
-		flog(LOG_WARNING, "our AdvReachableTime on %s doesn't agree with %s",
+		flog(LOG_DEBUG, "our AdvReachableTime on %s doesn't agree with %s",
 			iface->Name, addr_str);
 	}
 	
 	if ((radvert->nd_ra_retransmit && iface->AdvRetransTimer) &&
 	   (ntohl(radvert->nd_ra_retransmit) != iface->AdvRetransTimer))
 	{
-		flog(LOG_WARNING, "our AdvRetransTimer on %s doesn't agree with %s",
+		flog(LOG_DEBUG, "our AdvRetransTimer on %s doesn't agree with %s",
 			iface->Name, addr_str);
 	}
 
@@ -311,7 +311,7 @@
 
 			if (iface->AdvLinkMTU && (ntohl(mtu->nd_opt_mtu_mtu) != iface->AdvLinkMTU))
 			{
-				flog(LOG_WARNING, "our AdvLinkMTU on %s doesn't agree with %s",
+				flog(LOG_DEBUG, "our AdvLinkMTU on %s doesn't agree with %s",
 					iface->Name, addr_str);
 			}
 			break;
@@ -332,7 +332,7 @@
 
 					if (valid != prefix->AdvValidLifetime)
 					{
-						flog(LOG_WARNING, "our AdvValidLifetime on"
+						flog(LOG_DEBUG, "our AdvValidLifetime on"
 						 " %s for %s doesn't agree with %s",
 						 iface->Name,
 						 prefix_str,
@@ -341,7 +341,7 @@
 					}
 					if (preferred != prefix->AdvPreferredLifetime)
 					{
-						flog(LOG_WARNING, "our AdvPreferredLifetime on"
+						flog(LOG_DEBUG, "our AdvPreferredLifetime on"
 						 " %s for %s doesn't agree with %s",
 						 iface->Name,
 						 prefix_str,

Attachment: digital_signature_gpg.asc
Description: Digital signature (see http://martin-krafft.net/gpg/)

Reply via email to