Deleted Added
full compact
in6_proto.c (274223) in6_proto.c (274225)
1/*-
2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 47 unchanged lines hidden (view full) ---

56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
58 * SUCH DAMAGE.
59 *
60 * @(#)in_proto.c 8.1 (Berkeley) 6/10/93
61 */
62
63#include <sys/cdefs.h>
1/*-
2 * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 47 unchanged lines hidden (view full) ---

56 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
57 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
58 * SUCH DAMAGE.
59 *
60 * @(#)in_proto.c 8.1 (Berkeley) 6/10/93
61 */
62
63#include <sys/cdefs.h>
64__FBSDID("$FreeBSD: head/sys/netinet6/in6_proto.c 274223 2014-11-07 08:58:05Z glebius $");
64__FBSDID("$FreeBSD: head/sys/netinet6/in6_proto.c 274225 2014-11-07 09:39:05Z glebius $");
65
66#include "opt_inet.h"
67#include "opt_inet6.h"
68#include "opt_ipsec.h"
69#include "opt_ipstealth.h"
70#include "opt_sctp.h"
71#include "opt_mpath.h"
72#include "opt_route.h"

--- 427 unchanged lines hidden (view full) ---

500 error = SYSCTL_IN(req, arg1, sizeof(int));
501 if (V_ip6_temp_valid_lifetime < V_ip6_temp_preferred_lifetime) {
502 V_ip6_temp_preferred_lifetime = old;
503 return (EINVAL);
504 }
505 return (error);
506}
507
65
66#include "opt_inet.h"
67#include "opt_inet6.h"
68#include "opt_ipsec.h"
69#include "opt_ipstealth.h"
70#include "opt_sctp.h"
71#include "opt_mpath.h"
72#include "opt_route.h"

--- 427 unchanged lines hidden (view full) ---

500 error = SYSCTL_IN(req, arg1, sizeof(int));
501 if (V_ip6_temp_valid_lifetime < V_ip6_temp_preferred_lifetime) {
502 V_ip6_temp_preferred_lifetime = old;
503 return (EINVAL);
504 }
505 return (error);
506}
507
508SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_FORWARDING, forwarding, CTLFLAG_RW,
509 &VNET_NAME(ip6_forwarding), 0, "");
510SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_SENDREDIRECTS, redirect, CTLFLAG_RW,
511 &VNET_NAME(ip6_sendredirects), 0, "");
512SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_DEFHLIM, hlim, CTLFLAG_RW,
508SYSCTL_INT(_net_inet6_ip6, IPV6CTL_FORWARDING, forwarding,
509 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_forwarding), 0, "");
510SYSCTL_INT(_net_inet6_ip6, IPV6CTL_SENDREDIRECTS, redirect,
511 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_sendredirects), 0, "");
512SYSCTL_INT(_net_inet6_ip6, IPV6CTL_DEFHLIM, hlim, CTLFLAG_VNET | CTLFLAG_RW,
513 &VNET_NAME(ip6_defhlim), 0, "");
514SYSCTL_VNET_PCPUSTAT(_net_inet6_ip6, IPV6CTL_STATS, stats, struct ip6stat,
513 &VNET_NAME(ip6_defhlim), 0, "");
514SYSCTL_VNET_PCPUSTAT(_net_inet6_ip6, IPV6CTL_STATS, stats, struct ip6stat,
515 ip6stat, "IP6 statistics (struct ip6stat, netinet6/ip6_var.h)");
516SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGPACKETS, maxfragpackets,
517 CTLFLAG_RW, &VNET_NAME(ip6_maxfragpackets), 0, "");
518SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_ACCEPT_RTADV, accept_rtadv,
519 CTLFLAG_RW, &VNET_NAME(ip6_accept_rtadv), 0,
515 ip6stat, "IP6 statistics (struct ip6stat, netinet6/ip6_var.h)");
516SYSCTL_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGPACKETS, maxfragpackets,
517 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_maxfragpackets), 0, "");
518SYSCTL_INT(_net_inet6_ip6, IPV6CTL_ACCEPT_RTADV, accept_rtadv,
519 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_accept_rtadv), 0,
520 "Default value of per-interface flag for accepting ICMPv6 Router"
521 "Advertisement messages");
520 "Default value of per-interface flag for accepting ICMPv6 Router"
521 "Advertisement messages");
522SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_NO_RADR, no_radr,
523 CTLFLAG_RW, &VNET_NAME(ip6_no_radr), 0,
522SYSCTL_INT(_net_inet6_ip6, IPV6CTL_NO_RADR, no_radr,
523 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_no_radr), 0,
524 "Default value of per-interface flag to control whether routers "
525 "sending ICMPv6 RA messages on that interface are added into the "
526 "default router list.");
524 "Default value of per-interface flag to control whether routers "
525 "sending ICMPv6 RA messages on that interface are added into the "
526 "default router list.");
527SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_NORBIT_RAIF, norbit_raif, CTLFLAG_RW,
528 &VNET_NAME(ip6_norbit_raif), 0,
527SYSCTL_INT(_net_inet6_ip6, IPV6CTL_NORBIT_RAIF, norbit_raif,
528 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_norbit_raif), 0,
529 "Always set 0 to R flag in ICMPv6 NA messages when accepting RA"
530 " on the interface.");
529 "Always set 0 to R flag in ICMPv6 NA messages when accepting RA"
530 " on the interface.");
531SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_RFC6204W3, rfc6204w3,
532 CTLFLAG_RW, &VNET_NAME(ip6_rfc6204w3), 0,
531SYSCTL_INT(_net_inet6_ip6, IPV6CTL_RFC6204W3, rfc6204w3,
532 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_rfc6204w3), 0,
533 "Accept the default router list from ICMPv6 RA messages even "
534 "when packet forwarding enabled.");
533 "Accept the default router list from ICMPv6 RA messages even "
534 "when packet forwarding enabled.");
535SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_KEEPFAITH, keepfaith, CTLFLAG_RW,
536 &VNET_NAME(ip6_keepfaith), 0, "");
537SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_LOG_INTERVAL, log_interval,
538 CTLFLAG_RW, &VNET_NAME(ip6_log_interval), 0, "");
539SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_HDRNESTLIMIT, hdrnestlimit,
540 CTLFLAG_RW, &VNET_NAME(ip6_hdrnestlimit), 0, "");
541SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_DAD_COUNT, dad_count, CTLFLAG_RW,
542 &VNET_NAME(ip6_dad_count), 0, "");
543SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_AUTO_FLOWLABEL, auto_flowlabel,
544 CTLFLAG_RW, &VNET_NAME(ip6_auto_flowlabel), 0, "");
545SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_DEFMCASTHLIM, defmcasthlim,
546 CTLFLAG_RW, &VNET_NAME(ip6_defmcasthlim), 0, "");
535SYSCTL_INT(_net_inet6_ip6, IPV6CTL_KEEPFAITH, keepfaith,
536 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_keepfaith), 0, "");
537SYSCTL_INT(_net_inet6_ip6, IPV6CTL_LOG_INTERVAL, log_interval,
538 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_log_interval), 0, "");
539SYSCTL_INT(_net_inet6_ip6, IPV6CTL_HDRNESTLIMIT, hdrnestlimit,
540 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_hdrnestlimit), 0, "");
541SYSCTL_INT(_net_inet6_ip6, IPV6CTL_DAD_COUNT, dad_count,
542 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_dad_count), 0, "");
543SYSCTL_INT(_net_inet6_ip6, IPV6CTL_AUTO_FLOWLABEL, auto_flowlabel,
544 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_auto_flowlabel), 0, "");
545SYSCTL_INT(_net_inet6_ip6, IPV6CTL_DEFMCASTHLIM, defmcasthlim,
546 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_defmcasthlim), 0, "");
547SYSCTL_STRING(_net_inet6_ip6, IPV6CTL_KAME_VERSION, kame_version,
548 CTLFLAG_RD, __KAME_VERSION, 0, "");
547SYSCTL_STRING(_net_inet6_ip6, IPV6CTL_KAME_VERSION, kame_version,
548 CTLFLAG_RD, __KAME_VERSION, 0, "");
549SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_USE_DEPRECATED, use_deprecated,
550 CTLFLAG_RW, &VNET_NAME(ip6_use_deprecated), 0, "");
551SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_RR_PRUNE, rr_prune, CTLFLAG_RW,
552 &VNET_NAME(ip6_rr_prune), 0, "");
553SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_USETEMPADDR, use_tempaddr,
554 CTLFLAG_RW, &VNET_NAME(ip6_use_tempaddr), 0, "");
555SYSCTL_VNET_PROC(_net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime,
556 CTLTYPE_INT|CTLFLAG_RW, &VNET_NAME(ip6_temp_preferred_lifetime), 0,
549SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USE_DEPRECATED, use_deprecated,
550 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_use_deprecated), 0, "");
551SYSCTL_INT(_net_inet6_ip6, IPV6CTL_RR_PRUNE, rr_prune,
552 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_rr_prune), 0, "");
553SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USETEMPADDR, use_tempaddr,
554 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_use_tempaddr), 0, "");
555SYSCTL_PROC(_net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime,
556 CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW,
557 &VNET_NAME(ip6_temp_preferred_lifetime), 0,
557 sysctl_ip6_temppltime, "I", "");
558 sysctl_ip6_temppltime, "I", "");
558SYSCTL_VNET_PROC(_net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime,
559 CTLTYPE_INT|CTLFLAG_RW, &VNET_NAME(ip6_temp_valid_lifetime), 0,
559SYSCTL_PROC(_net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime,
560 CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW,
561 &VNET_NAME(ip6_temp_valid_lifetime), 0,
560 sysctl_ip6_tempvltime, "I", "");
562 sysctl_ip6_tempvltime, "I", "");
561SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_V6ONLY, v6only, CTLFLAG_RW,
562 &VNET_NAME(ip6_v6only), 0, "");
563SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_AUTO_LINKLOCAL, auto_linklocal,
564 CTLFLAG_RW, &VNET_NAME(ip6_auto_linklocal), 0,
563SYSCTL_INT(_net_inet6_ip6, IPV6CTL_V6ONLY, v6only,
564 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_v6only), 0, "");
565SYSCTL_INT(_net_inet6_ip6, IPV6CTL_AUTO_LINKLOCAL, auto_linklocal,
566 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_auto_linklocal), 0,
565 "Default value of per-interface flag for automatically adding an IPv6"
566 " link-local address to interfaces when attached");
567SYSCTL_VNET_PCPUSTAT(_net_inet6_ip6, IPV6CTL_RIP6STATS, rip6stats,
567 "Default value of per-interface flag for automatically adding an IPv6"
568 " link-local address to interfaces when attached");
569SYSCTL_VNET_PCPUSTAT(_net_inet6_ip6, IPV6CTL_RIP6STATS, rip6stats,
568 struct rip6stat, rip6stat,
569 "Raw IP6 statistics (struct rip6stat, netinet6/raw_ip6.h)");
570SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_PREFER_TEMPADDR, prefer_tempaddr,
571 CTLFLAG_RW, &VNET_NAME(ip6_prefer_tempaddr), 0, "");
572SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_USE_DEFAULTZONE, use_defaultzone,
573 CTLFLAG_RW, &VNET_NAME(ip6_use_defzone), 0,"");
574SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGS, maxfrags, CTLFLAG_RW,
575 &VNET_NAME(ip6_maxfrags), 0, "");
576SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_MCAST_PMTU, mcast_pmtu, CTLFLAG_RW,
577 &VNET_NAME(ip6_mcast_pmtu), 0, "");
570 struct rip6stat, rip6stat,
571 "Raw IP6 statistics (struct rip6stat, netinet6/raw_ip6.h)");
572SYSCTL_INT(_net_inet6_ip6, IPV6CTL_PREFER_TEMPADDR, prefer_tempaddr,
573 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_prefer_tempaddr), 0, "");
574SYSCTL_INT(_net_inet6_ip6, IPV6CTL_USE_DEFAULTZONE, use_defaultzone,
575 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_use_defzone), 0,"");
576SYSCTL_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGS, maxfrags,
577 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_maxfrags), 0, "");
578SYSCTL_INT(_net_inet6_ip6, IPV6CTL_MCAST_PMTU, mcast_pmtu,
579 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(ip6_mcast_pmtu), 0, "");
578#ifdef IPSTEALTH
580#ifdef IPSTEALTH
579SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_STEALTH, stealth, CTLFLAG_RW,
581SYSCTL_INT(_net_inet6_ip6, IPV6CTL_STEALTH, stealth, CTLFLAG_VNET | CTLFLAG_RW,
580 &VNET_NAME(ip6stealth), 0, "");
581#endif
582
583/* net.inet6.icmp6 */
582 &VNET_NAME(ip6stealth), 0, "");
583#endif
584
585/* net.inet6.icmp6 */
584SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRACCEPT, rediraccept,
585 CTLFLAG_RW, &VNET_NAME(icmp6_rediraccept), 0, "");
586SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRTIMEOUT, redirtimeout,
587 CTLFLAG_RW, &VNET_NAME(icmp6_redirtimeout), 0, "");
586SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRACCEPT, rediraccept,
587 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6_rediraccept), 0, "");
588SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRTIMEOUT, redirtimeout,
589 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6_redirtimeout), 0, "");
588SYSCTL_VNET_PCPUSTAT(_net_inet6_icmp6, ICMPV6CTL_STATS, stats,
590SYSCTL_VNET_PCPUSTAT(_net_inet6_icmp6, ICMPV6CTL_STATS, stats,
589 struct icmp6stat, icmp6stat,
590 "ICMPv6 statistics (struct icmp6stat, netinet/icmp6.h)");
591SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_PRUNE, nd6_prune, CTLFLAG_RW,
592 &VNET_NAME(nd6_prune), 0, "");
593SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DELAY, nd6_delay, CTLFLAG_RW,
594 &VNET_NAME(nd6_delay), 0, "");
595SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_UMAXTRIES, nd6_umaxtries,
596 CTLFLAG_RW, &VNET_NAME(nd6_umaxtries), 0, "");
597SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MMAXTRIES, nd6_mmaxtries,
598 CTLFLAG_RW, &VNET_NAME(nd6_mmaxtries), 0, "");
599SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_USELOOPBACK, nd6_useloopback,
600 CTLFLAG_RW, &VNET_NAME(nd6_useloopback), 0, "");
601SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_NODEINFO, nodeinfo, CTLFLAG_RW,
602 &VNET_NAME(icmp6_nodeinfo), 0, "");
603SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_NODEINFO_OLDMCPREFIX,
604 nodeinfo_oldmcprefix, CTLFLAG_RW,
591 struct icmp6stat, icmp6stat,
592 "ICMPv6 statistics (struct icmp6stat, netinet/icmp6.h)");
593SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_PRUNE, nd6_prune,
594 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_prune), 0, "");
595SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DELAY, nd6_delay,
596 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_delay), 0, "");
597SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_UMAXTRIES, nd6_umaxtries,
598 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_umaxtries), 0, "");
599SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MMAXTRIES, nd6_mmaxtries,
600 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_mmaxtries), 0, "");
601SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_USELOOPBACK, nd6_useloopback,
602 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_useloopback), 0, "");
603SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_NODEINFO, nodeinfo,
604 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6_nodeinfo), 0, "");
605SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_NODEINFO_OLDMCPREFIX,
606 nodeinfo_oldmcprefix, CTLFLAG_VNET | CTLFLAG_RW,
605 &VNET_NAME(icmp6_nodeinfo_oldmcprefix), 0,
606 "Join old IPv6 NI group address in draft-ietf-ipngwg-icmp-name-lookup"
607 " for compatibility with KAME implememtation.");
607 &VNET_NAME(icmp6_nodeinfo_oldmcprefix), 0,
608 "Join old IPv6 NI group address in draft-ietf-ipngwg-icmp-name-lookup"
609 " for compatibility with KAME implememtation.");
608SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit,
609 CTLFLAG_RW, &VNET_NAME(icmp6errppslim), 0, "");
610SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MAXNUDHINT, nd6_maxnudhint,
611 CTLFLAG_RW, &VNET_NAME(nd6_maxnudhint), 0, "");
612SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG, nd6_debug, CTLFLAG_RW,
613 &VNET_NAME(nd6_debug), 0, "");
614SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_ONLINKNSRFC4861,
615 nd6_onlink_ns_rfc4861, CTLFLAG_RW, &VNET_NAME(nd6_onlink_ns_rfc4861),
616 0, "Accept 'on-link' nd6 NS in compliance with RFC 4861.");
610SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit,
611 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(icmp6errppslim), 0, "");
612SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MAXNUDHINT, nd6_maxnudhint,
613 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_maxnudhint), 0, "");
614SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG, nd6_debug,
615 CTLFLAG_VNET | CTLFLAG_RW, &VNET_NAME(nd6_debug), 0, "");
616SYSCTL_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_ONLINKNSRFC4861,
617 nd6_onlink_ns_rfc4861, CTLFLAG_VNET | CTLFLAG_RW,
618 &VNET_NAME(nd6_onlink_ns_rfc4861), 0,
619 "Accept 'on-link' nd6 NS in compliance with RFC 4861.");