- 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
This commit is contained in:
Hiroki Sato 2015-05-12 03:31:57 +00:00
parent 6a1e2e9a1c
commit 59333867ff
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=282805
4 changed files with 5 additions and 28 deletions

View File

@ -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),

View File

@ -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 Detection.
.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.

View File

@ -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

View File

@ -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. "
@ -1456,16 +1455,6 @@ nd6_dad_timer(struct dadq *dp)
if_name(ifa->ifa_ifp),
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.