summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2015-07-23 19:58:56 +0000
committerhrs <hrs@FreeBSD.org>2015-07-23 19:58:56 +0000
commitb037e0b55c16f636335c9ca9e8b9c8eccff3becf (patch)
tree05fef495ac36b386126333d0eaf5d796af098e0d /sys/netinet6
parent123cf5c769836859569e81e835ffd3506691c4b4 (diff)
downloadFreeBSD-src-b037e0b55c16f636335c9ca9e8b9c8eccff3becf.zip
FreeBSD-src-b037e0b55c16f636335c9ca9e8b9c8eccff3becf.tar.gz
MFC r282805:
- Remove ND6_IFF_IGNORELOOP. This functionality was useless in practice because a link where looped back NS messages are permanently observed does not work with either NDP or ARP for IPv4. - draft-ietf-6man-enhanced-dad is now RFC 7527. Approved by: re (gjb)
Diffstat (limited to 'sys/netinet6')
-rw-r--r--sys/netinet6/nd6.h3
-rw-r--r--sys/netinet6/nd6_nbr.c17
2 files changed, 4 insertions, 16 deletions
diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h
index d664a94..7a83681 100644
--- a/sys/netinet6/nd6.h
+++ b/sys/netinet6/nd6.h
@@ -87,8 +87,7 @@ struct nd_ifinfo {
#define ND6_IFF_AUTO_LINKLOCAL 0x20
#define ND6_IFF_NO_RADR 0x40
#define ND6_IFF_NO_PREFER_IFACE 0x80 /* XXX: not related to ND. */
-#define ND6_IFF_IGNORELOOP 0x100
-#define ND6_IFF_NO_DAD 0x200
+#define ND6_IFF_NO_DAD 0x100
#define ND6_CREATE LLE_CREATE
#define ND6_EXCLUSIVE LLE_EXCLUSIVE
diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c
index d5f40f9..2272cd0 100644
--- a/sys/netinet6/nd6_nbr.c
+++ b/sys/netinet6/nd6_nbr.c
@@ -1450,10 +1450,9 @@ nd6_dad_timer(struct dadq *dp)
dp->dad_ns_lcount > 0 &&
dp->dad_ns_lcount > dp->dad_loopbackprobe) {
/*
- * A looped back probe is detected,
- * Sec. 4.1 in draft-ietf-6man-enhanced-dad-13
- * requires transmission of additional probes until
- * the loopback condition becomes clear.
+ * Sec. 4.1 in RFC 7527 requires transmission of
+ * additional probes until the loopback condition
+ * becomes clear when a looped back probe is detected.
*/
log(LOG_ERR, "%s: a looped back NS message is "
"detected during DAD for %s. "
@@ -1462,16 +1461,6 @@ nd6_dad_timer(struct dadq *dp)
ip6_sprintf(ip6buf, IFA_IN6(ifa)));
dp->dad_loopbackprobe = dp->dad_ns_lcount;
/*
- * An interface with IGNORELOOP is one which a
- * loopback is permanently expected while regular
- * traffic works. In that case, stop DAD after
- * MAX_MULTICAST_SOLICIT number of NS messages
- * regardless of the number of received loopback NS
- * by increasing dad_loopbackprobe in advance.
- */
- if (ND_IFINFO(ifa->ifa_ifp)->flags & ND6_IFF_IGNORELOOP)
- dp->dad_loopbackprobe += V_nd6_mmaxtries;
- /*
* Send an NS immediately and increase dad_count by
* V_nd6_mmaxtries - 1.
*/
OpenPOWER on IntegriCloud