Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 May 2015 03:31:58 +0000 (UTC)
From:      Hiroki Sato <hrs@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r282805 - in head: sbin/ifconfig sys/netinet6
Message-ID:  <201505120331.t4C3VwMP075851@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hrs
Date: Tue May 12 03:31:57 2015
New Revision: 282805
URL: https://svnweb.freebsd.org/changeset/base/282805

Log:
  - 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.
  
  Discussed with:	hiren
  MFC after:	3 days

Modified:
  head/sbin/ifconfig/af_inet6.c
  head/sbin/ifconfig/ifconfig.8
  head/sys/netinet6/nd6.h
  head/sys/netinet6/nd6_nbr.c

Modified: head/sbin/ifconfig/af_inet6.c
==============================================================================
--- head/sbin/ifconfig/af_inet6.c	Tue May 12 03:29:50 2015	(r282804)
+++ head/sbin/ifconfig/af_inet6.c	Tue May 12 03:31:57 2015	(r282805)
@@ -486,8 +486,6 @@ static struct cmd inet6_cmds[] = {
 	DEF_CMD("-no_prefer_iface",-ND6_IFF_NO_PREFER_IFACE,setnd6flags),
 	DEF_CMD("no_dad",	ND6_IFF_NO_DAD,		setnd6flags),
 	DEF_CMD("-no_dad",	-ND6_IFF_NO_DAD,	setnd6flags),
-	DEF_CMD("ignoreloop",	ND6_IFF_IGNORELOOP,	setnd6flags),
-	DEF_CMD("-ignoreloop",	-ND6_IFF_IGNORELOOP,	setnd6flags),
 	DEF_CMD_ARG("pltime",        			setip6pltime),
 	DEF_CMD_ARG("vltime",        			setip6vltime),
 	DEF_CMD("eui64",	0,			setip6eui64),

Modified: head/sbin/ifconfig/ifconfig.8
==============================================================================
--- head/sbin/ifconfig/ifconfig.8	Tue May 12 03:29:50 2015	(r282804)
+++ head/sbin/ifconfig/ifconfig.8	Tue May 12 03:31:57 2015	(r282805)
@@ -28,7 +28,7 @@
 .\"     From: @(#)ifconfig.8	8.3 (Berkeley) 1/5/94
 .\" $FreeBSD$
 .\"
-.Dd March 6, 2015
+.Dd May 12, 2015
 .Dt IFCONFIG 8
 .Os
 .Sh NAME
@@ -692,15 +692,6 @@ Set a flag to disable Duplicate Address 
 .It Cm -no_dad
 Clear a flag
 .Cm no_dad .
-.It Cm ignoreloop
-Set a flag to disable loopback detection in Enhanced Duplicate Address
-Detection Algorithm.
-When this flag is set,
-Duplicate Address Detection will stop in a finite number of probings
-even if a loopback configuration is detected.
-.It Cm -ignoreloop
-Clear a flag
-.Cm ignoreloop .
 .El
 .Pp
 The following parameters are specific for IPv6 addresses.

Modified: head/sys/netinet6/nd6.h
==============================================================================
--- head/sys/netinet6/nd6.h	Tue May 12 03:29:50 2015	(r282804)
+++ head/sys/netinet6/nd6.h	Tue May 12 03:31:57 2015	(r282805)
@@ -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

Modified: head/sys/netinet6/nd6_nbr.c
==============================================================================
--- head/sys/netinet6/nd6_nbr.c	Tue May 12 03:29:50 2015	(r282804)
+++ head/sys/netinet6/nd6_nbr.c	Tue May 12 03:31:57 2015	(r282805)
@@ -1445,10 +1445,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.  "
@@ -1457,16 +1456,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.
 			 */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505120331.t4C3VwMP075851>