- 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:
parent
6a1e2e9a1c
commit
59333867ff
@ -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),
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user