[pkg-ntp-maintainers] [PATCH] Ignore IPV6 Dynamic addresses

Stephen Hemminger shemminger at vyatta.com
Mon Mar 9 21:55:30 UTC 2009


This fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=411250

From 67b71a1559883b33b446ee1e42ade6fa10260be2 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen.hemminger at vyatta.com>
Date: Mon, 9 Mar 2009 14:04:17 -0700
Subject: [PATCH] Ignore IPV6 Dynamic addresses

During boot link-local addresses are generated dynamically.
These addresses are in a tentative state until after resolution occurs.
While in the tentative state, the address can not be bound to.
NTP daemon will see the address become available later when it rescans.
---
 libisc/ifiter_ioctl.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/libisc/ifiter_ioctl.c b/libisc/ifiter_ioctl.c
index e069560..45d4813 100644
--- a/libisc/ifiter_ioctl.c
+++ b/libisc/ifiter_ioctl.c
@@ -110,6 +110,7 @@ struct isc_interfaceiter {
 #  define IF_NAMESIZE 16
 # endif
 #endif
+#include <linux/if_addr.h>
 #endif
 
 static isc_result_t
@@ -479,6 +480,10 @@ linux_if_inet6_current(isc_interfaceiter_t *iter) {
 			      "/proc/net/if_inet6:strlen(%s) != 32", address);
 		return (ISC_R_FAILURE);
 	}
+	/* Ignore DAD addresses -- can't bind to them till resolved */
+	if (flags & IFA_F_TENTATIVE)
+		return (ISC_R_IGNORE);
+
 	for (i = 0; i < 16; i++) {
 		unsigned char byte;
 		static const char hex[] = "0123456789abcdef";
-- 
1.6.0.4




More information about the pkg-ntp-maintainers mailing list