local traffic is not optional.
ok mikeb@, stsp@, jca@
-.\" $OpenBSD: sysctl.3,v 1.234 2014/05/04 07:01:10 jmc Exp $
+.\" $OpenBSD: sysctl.3,v 1.235 2014/05/07 08:14:59 mpi Exp $
.\"
.\" Copyright (c) 1993
.\" The Regents of the University of California. All rights reserved.
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd $Mdocdate: May 4 2014 $
+.Dd $Mdocdate: May 7 2014 $
.Dt SYSCTL 3
.Os
.Sh NAME
.It icmp6 Ta nd6_mmaxtries Ta integer Ta yes
.It icmp6 Ta nd6_prune Ta integer Ta yes
.It icmp6 Ta nd6_umaxtries Ta integer Ta yes
-.It icmp6 Ta nd6_useloopback Ta integer Ta yes
.It icmp6 Ta nodeinfo Ta integer Ta yes
.It icmp6 Ta rediraccept Ta integer Ta yes
.It icmp6 Ta redirtimeout Ta integer Ta yes
constant in IPv6 neighbor discovery specification
.Pq RFC 4861 .
.Pp
-.It Li icmp6.nd6_useloopback
-If set to non-zero, IPv6 will use the loopback interface for local traffic.
-.Pp
.It Li icmp6.nodeinfo
This variable enables responses to ICMPv6 node information queries.
If set to 0, responses will not be generated for
-.\" $OpenBSD: sysctl.8,v 1.179 2014/05/04 07:01:10 jmc Exp $
+.\" $OpenBSD: sysctl.8,v 1.180 2014/05/07 08:14:59 mpi Exp $
.\" $NetBSD: sysctl.8,v 1.4 1995/09/30 07:12:49 thorpej Exp $
.\"
.\" Copyright (c) 1993
.\"
.\" @(#)sysctl.8 8.2 (Berkeley) 5/9/95
.\"
-.Dd $Mdocdate: May 4 2014 $
+.Dd $Mdocdate: May 7 2014 $
.Dt SYSCTL 8
.Os
.Sh NAME
.It net.inet6.icmp6.nd6_delay Ta integer Ta yes
.It net.inet6.icmp6.nd6_umaxtries Ta integer Ta yes
.It net.inet6.icmp6.nd6_mmaxtries Ta integer Ta yes
-.It net.inet6.icmp6.nd6_useloopback Ta integer Ta yes
.It net.inet6.icmp6.nodeinfo Ta integer Ta yes
.It net.inet6.icmp6.errppslimit Ta integer Ta yes
.It net.inet6.icmp6.nd6_maxnudhint Ta integer Ta yes
-/* $OpenBSD: icmp6.h,v 1.38 2013/10/24 11:20:16 deraadt Exp $ */
+/* $OpenBSD: icmp6.h,v 1.39 2014/05/07 08:14:59 mpi Exp $ */
/* $KAME: icmp6.h,v 1.84 2003/04/23 10:26:51 itojun Exp $ */
/*
#define ICMPV6CTL_ND6_DELAY 8
#define ICMPV6CTL_ND6_UMAXTRIES 9
#define ICMPV6CTL_ND6_MMAXTRIES 10
-#define ICMPV6CTL_ND6_USELOOPBACK 11
#define ICMPV6CTL_NODEINFO 13
#define ICMPV6CTL_ERRPPSLIMIT 14 /* ICMPv6 error pps limitation */
#define ICMPV6CTL_ND6_MAXNUDHINT 15
{ "nd6_delay", CTLTYPE_INT }, \
{ "nd6_umaxtries", CTLTYPE_INT }, \
{ "nd6_mmaxtries", CTLTYPE_INT }, \
- { "nd6_useloopback", CTLTYPE_INT }, \
+ { 0, 0 }, \
{ 0, 0 }, \
{ "nodeinfo", CTLTYPE_INT }, \
{ "errppslimit", CTLTYPE_INT }, \
&nd6_delay, \
&nd6_umaxtries, \
&nd6_mmaxtries, \
- &nd6_useloopback, \
+ NULL, \
NULL, \
&icmp6_nodeinfo, \
&icmp6errppslim, \
-/* $OpenBSD: if_ether.c,v 1.126 2014/05/05 11:44:33 mpi Exp $ */
+/* $OpenBSD: if_ether.c,v 1.127 2014/05/07 08:14:59 mpi Exp $ */
/* $NetBSD: if_ether.c,v 1.31 1996/05/11 12:59:58 mycroft Exp $ */
/*
struct ifqueue arpintrq;
int arp_inuse, arp_allocated;
int arp_maxtries = 5;
-int useloopback = 1; /* use loopback interface for local traffic */
int arpinit_done;
int la_hold_total;
break;
}
if (ifa) {
- /*
- * This test used to be
- * if (lo0ifp->if_flags & IFF_UP)
- * It allowed local traffic to be forced through
- * the hardware by configuring the loopback down.
- * However, it causes problems during network
- * configuration for boards that can't receive
- * packets they send. It is now necessary to clear
- * "useloopback" and remove the route to force
- * traffic out to the hardware.
- *
- * In 4.4BSD, the above "if" statement checked
- * rt->rt_ifa against rt_key(rt). It was changed
- * to the current form so that we can provide a
- * better support for multiple IPv4 addresses on a
- * interface.
- */
rt->rt_expire = 0;
SDL(gate)->sdl_alen = ETHER_ADDR_LEN;
memcpy(LLADDR(SDL(gate)),
* should not (ab)use it for any route related
* to an interface of a different rdomain.
*/
- if (useloopback)
- rt->rt_ifp = lo0ifp;
+ rt->rt_ifp = lo0ifp;
+
/*
* make sure to set rt->rt_ifa to the interface
* address we are using, otherwise we will have trouble
-/* $OpenBSD: nd6.c,v 1.115 2014/05/05 11:44:33 mpi Exp $ */
+/* $OpenBSD: nd6.c,v 1.116 2014/05/07 08:14:59 mpi Exp $ */
/* $KAME: nd6.c,v 1.280 2002/06/08 19:52:07 itojun Exp $ */
/*
int nd6_delay = 5; /* delay first probe time 5 second */
int nd6_umaxtries = 3; /* maximum unicast query */
int nd6_mmaxtries = 3; /* maximum multicast query */
-int nd6_useloopback = 1; /* use loopback interface for local traffic */
int nd6_gctimer = (60 * 60 * 24); /* 1 day: garbage collection timer */
/* preventing too many loops in ND option parsing */
* should not (ab)use it for any route related
* to an interface of a different rdomain.
*/
- if (nd6_useloopback) {
- rt->rt_ifp = lo0ifp;
- /*
- * Make sure rt_ifa be equal to the ifaddr
- * corresponding to the address.
- * We need this because when we refer
- * rt_ifa->ia6_flags in ip6_input, we assume
- * that the rt_ifa points to the address instead
- * of the loopback address.
- */
- if (ifa != rt->rt_ifa) {
- ifafree(rt->rt_ifa);
- ifa->ifa_refcnt++;
- rt->rt_ifa = ifa;
- }
+ rt->rt_ifp = lo0ifp;
+
+ /*
+ * Make sure rt_ifa be equal to the ifaddr
+ * corresponding to the address.
+ * We need this because when we refer
+ * rt_ifa->ia6_flags in ip6_input, we assume
+ * that the rt_ifa points to the address instead
+ * of the loopback address.
+ */
+ if (ifa != rt->rt_ifa) {
+ ifafree(rt->rt_ifa);
+ ifa->ifa_refcnt++;
+ rt->rt_ifa = ifa;
}
} else if (rt->rt_flags & RTF_ANNOUNCE) {
nd6_llinfo_settimer(ln, -1);
-/* $OpenBSD: nd6.h,v 1.36 2014/01/07 17:07:46 mikeb Exp $ */
+/* $OpenBSD: nd6.h,v 1.37 2014/05/07 08:14:59 mpi Exp $ */
/* $KAME: nd6.h,v 1.95 2002/06/08 11:31:06 itojun Exp $ */
/*
extern int nd6_delay;
extern int nd6_umaxtries;
extern int nd6_mmaxtries;
-extern int nd6_useloopback;
extern int nd6_maxnudhint;
extern int nd6_gctimer;
extern struct llinfo_nd6 llinfo_nd6;