Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Nov 2012 22:20:24 -0800 (PST)
From:      Garrett Cooper <yanegomi@gmail.com>
To:        bruce@toaster.local
Cc:        freebsd-net@FreeBSD.org
Subject:   Re: [RFC] Better document net.inet6 sysctls and prune dead sysctls (fwd)
Message-ID:  <alpine.BSF.2.00.1211302204460.57210@toaster.local>

next in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--967339439-1681226068-1354342829=:57210
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

On Tue, 27 Nov 2012, Bruce Evans wrote:

> On Mon, 26 Nov 2012, Garrett Cooper wrote:
>
>> 	As noted in a previous thread, I set out to better document the 
>> net.inet6 sysctls after having to tweak the knobs to get things to work for 
>> TAHI, and this is the resulting draft (so far). I also took the liberty of 
>> removing the ip6_rr_prune and icmp6_redirtimeout sysctls because they 
>> weren't in use anywhere else in the sys/... portion of the tree. I was 
>> wondering if there are any points that should be corrected/clarified before 
>> I submit a PR with the resulting patch.
> 
> It would be good to fix the style bugs when changing lots.
> 
>> Index: sys/netinet6/in6_proto.c
>> ===================================================================
>> --- sys/netinet6/in6_proto.c	(revision 242903)
>> +++ sys/netinet6/in6_proto.c	(working copy)
>> @@ -443,7 +441,6 @@
>> 
>> /* ICMPV6 parameters */
>> VNET_DEFINE(int, icmp6_rediraccept) = 1;/* accept and process redirects */
>> -VNET_DEFINE(int, icmp6_redirtimeout) = 10 * 60;	/* 10 minutes */
>> VNET_DEFINE(int, icmp6errppslim) = 100;		/* 100pps */
>> /* control how to respond to NI queries */
>> VNET_DEFINE(int, icmp6_nodeinfo) =
>> @@ -515,15 +512,20 @@
>> }
>> 
>> SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_FORWARDING, forwarding, CTLFLAG_RW,
>> -	&VNET_NAME(ip6_forwarding), 0, "");
>> +	&VNET_NAME(ip6_forwarding), 0,
>> +	"Forward IPv6 packets via node.");
> 
> All the sysctl names spell ipv6 without a v.  This is hard to fix.  This
> bug is missing in the names of the sysctl numbers, but it is a bug to
> used named numbers instead of OID_AUTO in code newer than OID_AUTO, and
> ipv6 is much newer.
> 
> New style bug in almost every description.  Sysctl descriptions are not
> normally terminated by a ".".
> 
> Old style bug in almost every ipv6 sysctl.  Large SYSCTL declarations are
> normally normally-indented, with 4-space continuation indents.  This rule
> is broken farily consistenly in ipv6 sysctl.  More ivp4 SYSCTL descriptions
> are actually formatted normally.
> 
>> @@ -594,35 +613,45 @@
>> #define	V_ip6_output_flowtable_size VNET(ip6_output_flowtable_size)
>> 
>> SYSCTL_VNET_INT(_net_inet6_ip6, OID_AUTO, output_flowtable_size, 
>> CTLFLAG_RDTUN,
>> -    &VNET_NAME(ip6_output_flowtable_size), 2048,
>> -    "number of entries in the per-cpu output flow caches");
>> +	&VNET_NAME(ip6_output_flowtable_size), 2048,
>> +	"number of entries in the per-cpu output flow caches");
>> ...
> 
> Here the formatting change is backwards (from normal continuation indent
> to abnormal ipv6 continuation indent.
> 
> This and some other old sysctl descriptions have differnent style bugs:
> they are normally terminated (not with a '.'), but are not normally
> capitalized (with capaitals).
> 
>> SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_PRUNE, nd6_prune, 
>> CTLFLAG_RW,
> 
> Some mailer mangled the formatting (the line isn't too long and shouldn't
> have been mangled).
> 
>> -	&VNET_NAME(nd6_prune), 0, "");
>> +	&VNET_NAME(nd6_prune), 0,
>> +	"Period (in seconds) for performing nd6 expiration checks of default "
> 
> More mangling by some mailer.
> 
>> +	"routes and prefix lists");
> 
> However, the string is too long.  The message is obfuscated by splitting it.
> This keeps the line length short in the source code, but it is still too
> long in the output.  Sysctl descriptions should be no longer than 50 or
> 60 characters, since the sysctl name will expand the output by 20 or 30
> characters.  sysctl names longer than 20 or 30 are a larger bug, since
> they are hard to write as well as hard to read.
> 
> This sysctl description is normally terminated (not with a ".").
> 
>> ...
>> SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_UMAXTRIES, nd6_umaxtries,
>> -	CTLFLAG_RW, &VNET_NAME(nd6_umaxtries), 0, "");
>> +	CTLFLAG_RW, &VNET_NAME(nd6_umaxtries), 0,
>> +	"Maximum number of unicast queries to perform via nd6.");
> 
> Another type of sysctl misformatting is generated by names that are so
> verbose that CTLFLAG* cannot be formatted normally (on the first line).
> 
> I missed earlier instances of these bugs.
> 
> Statistic on output style in sysctl descriptions: on freefall now:
> sysctl -da:                    3546 lines
> sysctl -da | grep -v ': *$':   3192 lines
>    [this filters out sysctls with null descriptions.  The output is
>    misformatted with a space before the null description]
> sysctl -nda:                   3546 lines
> sysctl -nda | grep -v '^: *$': 3192 lines
>    [since this 3192 is the same as the number of sysctls with non-null
>    descreiptions, there must be no multi-line descriptions with embedded
>    newlines]
> sysctl -nda | grep -v '^: *$' | grep -v '^[A-Z]':
>                               1555 lines
>    [most of non-capitalizations are style bugs.  The last 1395 of them
>    are automatically generated for device sysctls.  This is part of 5
>    lines of automatically generated spam for device sysctls (descriptions
>    are duplicated ad spamium for %desc, %driver, %location, %pnpinfo and
>    %parent).  A few are correct because they are for a proper name or
>    keyword or a number]
> sysctl -nda | grep -v '^: *$' | grep '\.$':
>                                 74 lines
>    [the style bug of terminating with a '.' is uncommon.  In a few cases
>    it goes with the larger style bug of a multi-line description]
> sysctl -nda | grep -v '^: *$' | grep '.... [81 dots]':
>                                 11 lines
>    [these lines are too long even without the sysctl names.  Abnormal
>    termination is denser than usual in these lines (8 of 11)]
> sysctl -nda | grep -v '^: *$' | grep '\..*\.':
>                                  8 lines
>    [2 of these are for multi-sentence descriptions].

Bruce,
 	Is this better? I tried to be consistent about using v6 properly 
when dealing with protocols in order to match what the IETF did and I 
believe I properly integrated in your comments.
Thanks!
-Garrett

Index: sys/netinet6/in6_proto.c
===================================================================
--- sys/netinet6/in6_proto.c	(revision 243557)
+++ sys/netinet6/in6_proto.c	(working copy)
@@ -131,7 +131,7 @@
  #endif

  /*
- * TCP/IP protocol family: IP6, ICMP6, UDP, TCP.
+ * TCP/IP protocol family: IPv6, ICMPv6, UDPv6, TCPv6.
   */
  FEATURE(inet6, "Internet Protocol version 6");

@@ -382,9 +382,9 @@
   */
  #ifndef	IPV6FORWARDING
  #ifdef GATEWAY6
-#define	IPV6FORWARDING	1	/* forward IP6 packets not for us */
+#define	IPV6FORWARDING	1	/* forward IPv6 packets */
  #else
-#define	IPV6FORWARDING	0	/* don't forward IP6 packets not for us 
*/
+#define	IPV6FORWARDING	0	/* don't forward IPv6 packets */
  #endif /* GATEWAY6 */
  #endif /* !IPV6FORWARDING */

@@ -409,8 +409,6 @@
  VNET_DEFINE(int, ip6_auto_flowlabel) = 1;
  VNET_DEFINE(int, ip6_use_deprecated) = 1;/* allow deprecated addr
  					 * (RFC2462 5.5.4) */
-VNET_DEFINE(int, ip6_rr_prune) = 5;	/* router renumbering prefix
-					 * walk list every 5 sec. */
  VNET_DEFINE(int, ip6_mcast_pmtu) = 0;	/* enable pMTU discovery for multicast? 
*/
  VNET_DEFINE(int, ip6_v6only) = 1;

@@ -431,7 +429,7 @@
  VNET_DEFINE(int, pmtu_expire) = 60*10;
  VNET_DEFINE(int, pmtu_probe) = 60*2;

-/* raw IP6 parameters */
+/* raw IPV6 parameters */
  /*
   * Nominal space allocated to a raw ip socket.
   */
@@ -443,13 +441,12 @@

  /* ICMPV6 parameters */
  VNET_DEFINE(int, icmp6_rediraccept) = 1;/* accept and process redirects */
-VNET_DEFINE(int, icmp6_redirtimeout) = 10 * 60;	/* 10 minutes */
  VNET_DEFINE(int, icmp6errppslim) = 100;		/* 100pps */
  /* control how to respond to NI queries */
  VNET_DEFINE(int, icmp6_nodeinfo) =
      (ICMP6_NODEINFO_FQDNOK|ICMP6_NODEINFO_NODEADDROK);

-/* UDP on IP6 parameters */
+/* UDP on IPv6 parameters */
  VNET_DEFINE(int, udp6_sendspace) = 9216;/* really max datagram size */
  VNET_DEFINE(int, udp6_recvspace) = 40 * (1024 + sizeof(struct sockaddr_in6));
  					/* 40 1K datagrams */
@@ -461,12 +458,12 @@
  	"Internet6 Family");

  /* net.inet6 */
-SYSCTL_NODE(_net_inet6,	IPPROTO_IPV6,	ip6,	CTLFLAG_RW, 0,	"IP6");
-SYSCTL_NODE(_net_inet6,	IPPROTO_ICMPV6,	icmp6,	CTLFLAG_RW, 0, 
"ICMP6");
-SYSCTL_NODE(_net_inet6,	IPPROTO_UDP,	udp6,	CTLFLAG_RW, 0, 
"UDP6");
-SYSCTL_NODE(_net_inet6,	IPPROTO_TCP,	tcp6,	CTLFLAG_RW, 0, 
"TCP6");
+SYSCTL_NODE(_net_inet6,	IPPROTO_IPV6,	ip6,	CTLFLAG_RW, 0, 
"IPv6");
+SYSCTL_NODE(_net_inet6,	IPPROTO_ICMPV6,	icmp6,	CTLFLAG_RW, 0, 
"ICMPv6");
+SYSCTL_NODE(_net_inet6,	IPPROTO_UDP,	udp6,	CTLFLAG_RW, 0, 
"UDPv6");
+SYSCTL_NODE(_net_inet6,	IPPROTO_TCP,	tcp6,	CTLFLAG_RW, 0, 
"TCPv6");
  #ifdef SCTP
-SYSCTL_NODE(_net_inet6,	IPPROTO_SCTP,	sctp6,	CTLFLAG_RW, 0, 
"SCTP6");
+SYSCTL_NODE(_net_inet6,	IPPROTO_SCTP,	sctp6,	CTLFLAG_RW, 0, 
"SCTPv6");
  #endif
  #ifdef IPSEC
  SYSCTL_NODE(_net_inet6,	IPPROTO_ESP,	ipsec6,	CTLFLAG_RW, 0, 
"IPSEC6");
@@ -515,77 +512,99 @@
  }

  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_FORWARDING, forwarding, CTLFLAG_RW,
-	&VNET_NAME(ip6_forwarding), 0, "");
+    &VNET_NAME(ip6_forwarding), 0,
+    "Forward IPv6 packets via node");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_SENDREDIRECTS, redirect, CTLFLAG_RW,
-	&VNET_NAME(ip6_sendredirects), 0, "");
+    &VNET_NAME(ip6_sendredirects), 0,
+    "Redirect IPv6 packets via node");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_DEFHLIM, hlim, CTLFLAG_RW,
-	&VNET_NAME(ip6_defhlim), 0, "");
+    &VNET_NAME(ip6_defhlim), 0,
+    "Default hop limit for IPv6 unicast packets");
  SYSCTL_VNET_STRUCT(_net_inet6_ip6, IPV6CTL_STATS, stats, CTLFLAG_RW,
-	&VNET_NAME(ip6stat), ip6stat, "");
+    &VNET_NAME(ip6stat), ip6stat,
+    "IPv6 statistics");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGPACKETS, maxfragpackets,
-	CTLFLAG_RW, &VNET_NAME(ip6_maxfragpackets), 0, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_maxfragpackets), 0,
+    "Maximum number of fragmented packets to process");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_ACCEPT_RTADV, accept_rtadv,
-	CTLFLAG_RW, &VNET_NAME(ip6_accept_rtadv), 0,
-	"Default value of per-interface flag for accepting ICMPv6 Router"
-	"Advertisement messages");
+    CTLFLAG_RW, &VNET_NAME(ip6_accept_rtadv), 0,
+    "Default value of per-interface flag for accepting ICMPv6 Router"
+    "Advertisement messages");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_NO_RADR, no_radr,
-	CTLFLAG_RW, &VNET_NAME(ip6_no_radr), 0,
-	"Default value of per-interface flag to control whether routers "
-	"sending ICMPv6 RA messages on that interface are added into the "
-	"default router list.");
+    CTLFLAG_RW, &VNET_NAME(ip6_no_radr), 0,
+    "Default value of per-interface flag to control whether routers "
+    "sending ICMPv6 RA messages on that interface are added into the "
+    "default router list");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_NORBIT_RAIF, norbit_raif, CTLFLAG_RW,
-	&VNET_NAME(ip6_norbit_raif), 0,
-	"Always set 0 to R flag in ICMPv6 NA messages when accepting RA"
-	" on the interface.");
+    &VNET_NAME(ip6_norbit_raif), 0,
+    "Always set 0 to R flag in ICMPv6 NA messages when accepting RA "
+    "on the interface");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_RFC6204W3, rfc6204w3,
-	CTLFLAG_RW, &VNET_NAME(ip6_rfc6204w3), 0,
-	"Accept the default router list from ICMPv6 RA messages even "
-	"when packet forwarding enabled.");
+    CTLFLAG_RW, &VNET_NAME(ip6_rfc6204w3), 0,
+    "Accept the default router list from ICMPv6 RA messages even when packet "
+    "forwarding enabled");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_KEEPFAITH, keepfaith, CTLFLAG_RW,
-	&VNET_NAME(ip6_keepfaith), 0, "");
+    &VNET_NAME(ip6_keepfaith), 0,
+    "");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_LOG_INTERVAL, log_interval,
-	CTLFLAG_RW, &VNET_NAME(ip6_log_interval), 0, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_log_interval), 0,
+    "Period (in secs) for throttling logging for high-traffic operations");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_HDRNESTLIMIT, hdrnestlimit,
-	CTLFLAG_RW, &VNET_NAME(ip6_hdrnestlimit), 0, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_hdrnestlimit), 0,
+    "Maximum number of nested header options to process");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_DAD_COUNT, dad_count, CTLFLAG_RW,
-	&VNET_NAME(ip6_dad_count), 0, "");
+    &VNET_NAME(ip6_dad_count), 0,
+    "Number of Duplicate Address Detection attempts to try before "
+    "disabling interface.  Setting the value to 0 disables DAD");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_AUTO_FLOWLABEL, auto_flowlabel,
-	CTLFLAG_RW, &VNET_NAME(ip6_auto_flowlabel), 0, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_auto_flowlabel), 0,
+    "Automatically attach a flowlabel to IPv6 packets");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_DEFMCASTHLIM, defmcasthlim,
-	CTLFLAG_RW, &VNET_NAME(ip6_defmcasthlim), 0, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_defmcasthlim), 0,
+    "Default hop limit for ip6 multicast packets");
  SYSCTL_STRING(_net_inet6_ip6, IPV6CTL_KAME_VERSION, kame_version,
-	CTLFLAG_RD, __KAME_VERSION, 0, "");
+    CTLFLAG_RD, __KAME_VERSION, 0,
+    "");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_USE_DEPRECATED, use_deprecated,
-	CTLFLAG_RW, &VNET_NAME(ip6_use_deprecated), 0, "");
-SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_RR_PRUNE, rr_prune, CTLFLAG_RW,
-	&VNET_NAME(ip6_rr_prune), 0, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_use_deprecated), 0,
+    "Use deprecated IPv6 support");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_USETEMPADDR, use_tempaddr,
-	CTLFLAG_RW, &VNET_NAME(ip6_use_tempaddr), 0, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_use_tempaddr), 0,
+    "Use a temporary address when establishing address via SLAAC");
  SYSCTL_VNET_PROC(_net_inet6_ip6, IPV6CTL_TEMPPLTIME, temppltime,
-	CTLTYPE_INT|CTLFLAG_RW, &VNET_NAME(ip6_temp_preferred_lifetime), 0,
-   	sysctl_ip6_temppltime, "I", "");
+    CTLTYPE_INT|CTLFLAG_RW, &VNET_NAME(ip6_temp_preferred_lifetime), 0,
+    sysctl_ip6_temppltime, "I",
+    "Preferred lifetime (in secs) for a temporary address");
  SYSCTL_VNET_PROC(_net_inet6_ip6, IPV6CTL_TEMPVLTIME, tempvltime,
-	CTLTYPE_INT|CTLFLAG_RW, &VNET_NAME(ip6_temp_valid_lifetime), 0,
-   	sysctl_ip6_tempvltime, "I", "");
+    CTLTYPE_INT|CTLFLAG_RW, &VNET_NAME(ip6_temp_valid_lifetime), 0,
+    sysctl_ip6_tempvltime, "I",
+    "Valid lifetime (in secs) for a temporary address");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_V6ONLY, v6only,	CTLFLAG_RW,
-	&VNET_NAME(ip6_v6only), 0, "");
+    &VNET_NAME(ip6_v6only), 0,
+    "Allow IPv4-mapped ip6 addresses per RFC 3493");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_AUTO_LINKLOCAL, auto_linklocal,
-	CTLFLAG_RW, &VNET_NAME(ip6_auto_linklocal), 0,
-	"Default value of per-interface flag for automatically adding an IPv6"
-	" link-local address to interfaces when attached");
-SYSCTL_VNET_STRUCT(_net_inet6_ip6, IPV6CTL_RIP6STATS, rip6stats, CTLFLAG_RW,
-	&VNET_NAME(rip6stat), rip6stat, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_auto_linklocal), 0,
+    "Default value of per-interface flag for automatically adding an ip6 "
+    "link-local address to interfaces when attached");
+SYSCTL_VNET_STRUCT(_net_inet6_ip6, IPV6CTL_RIPV6STATS, rip6stats, CTLFLAG_RW,
+    &VNET_NAME(rip6stat), rip6stat,
+    "RIP6 statistics");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_PREFER_TEMPADDR, prefer_tempaddr,
-	CTLFLAG_RW, &VNET_NAME(ip6_prefer_tempaddr), 0, "");
+    CTLFLAG_RW, &VNET_NAME(ip6_prefer_tempaddr), 0,
+    "Prefer the temporary address assigned when performing NUD");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_USE_DEFAULTZONE, use_defaultzone,
-	CTLFLAG_RW, &VNET_NAME(ip6_use_defzone), 0,"");
+    CTLFLAG_RW, &VNET_NAME(ip6_use_defzone), 0,
+    "Use the default scope zone if not explicitly provided");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_MAXFRAGS, maxfrags, CTLFLAG_RW,
-	&VNET_NAME(ip6_maxfrags), 0, "");
+    &VNET_NAME(ip6_maxfrags), 0,
+    "Maximum number of fragments to hold in the reassembly queue");
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_MCAST_PMTU, mcast_pmtu, CTLFLAG_RW,
-	&VNET_NAME(ip6_mcast_pmtu), 0, "");
+    &VNET_NAME(ip6_mcast_pmtu), 0,
+    "Enable multicast pMTU discovery");
  #ifdef IPSTEALTH
  SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_STEALTH, stealth, CTLFLAG_RW,
-	&VNET_NAME(ip6stealth), 0, "");
+    &VNET_NAME(ip6stealth), 0,
+    "IPv6 stealth mode. No hop limit decrementation on forwarding");
  #endif

  #ifdef FLOWTABLE
@@ -600,29 +619,39 @@

  /* net.inet6.icmp6 */
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRACCEPT, rediraccept,
-	CTLFLAG_RW, &VNET_NAME(icmp6_rediraccept), 0, "");
-SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_REDIRTIMEOUT, redirtimeout,
-	CTLFLAG_RW, &VNET_NAME(icmp6_redirtimeout), 0, "");
+    CTLFLAG_RW, &VNET_NAME(icmp6_rediraccept), 0,
+    "Accept and process router redirects");
  SYSCTL_VNET_STRUCT(_net_inet6_icmp6, ICMPV6CTL_STATS, stats, CTLFLAG_RW,
-	&VNET_NAME(icmp6stat), icmp6stat, "");
+    &VNET_NAME(icmp6stat), icmp6stat,
+    "ICMPv6 statistics");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_PRUNE, nd6_prune, CTLFLAG_RW,
-	&VNET_NAME(nd6_prune), 0, "");
+    &VNET_NAME(nd6_prune), 0,
+    "Period (in secs) for checking for stale router entries via nd6");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DELAY, nd6_delay, CTLFLAG_RW,
-	&VNET_NAME(nd6_delay), 0, "");
+    &VNET_NAME(nd6_delay), 0,
+    "Delay (in secs) before performing NUD on stale nodes");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_UMAXTRIES, nd6_umaxtries,
-	CTLFLAG_RW, &VNET_NAME(nd6_umaxtries), 0, "");
+    CTLFLAG_RW, &VNET_NAME(nd6_umaxtries), 0,
+    "Maximum number of unicast queries to perform via nd6");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MMAXTRIES, nd6_mmaxtries,
-	CTLFLAG_RW, &VNET_NAME(nd6_mmaxtries), 0, "");
+    CTLFLAG_RW, &VNET_NAME(nd6_mmaxtries), 0,
+    "Maximum number of multicast queries to perform via nd6");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_USELOOPBACK, nd6_useloopback,
-	CTLFLAG_RW, &VNET_NAME(nd6_useloopback), 0, "");
+    CTLFLAG_RW, &VNET_NAME(nd6_useloopback), 0,
+    "Use loopback interface for local traffic");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_NODEINFO, nodeinfo, CTLFLAG_RW,
-	&VNET_NAME(icmp6_nodeinfo), 0, "");
+    &VNET_NAME(icmp6_nodeinfo), 0,
+    "Node information state");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ERRPPSLIMIT, errppslimit,
-	CTLFLAG_RW, &VNET_NAME(icmp6errppslim), 0, "");
+    CTLFLAG_RW, &VNET_NAME(icmp6errppslim), 0,
+    "Packets per second limit for ICMPv6 queries");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_MAXNUDHINT, nd6_maxnudhint,
-	CTLFLAG_RW, &VNET_NAME(nd6_maxnudhint), 0, "");
+    CTLFLAG_RW, &VNET_NAME(nd6_maxnudhint), 0,
+    "Maximum number of upper layer hints");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_DEBUG, nd6_debug, CTLFLAG_RW,
-	&VNET_NAME(nd6_debug), 0, "");
+    &VNET_NAME(nd6_debug), 0,
+    "");
  SYSCTL_VNET_INT(_net_inet6_icmp6, ICMPV6CTL_ND6_ONLINKNSRFC4861,
-	nd6_onlink_ns_rfc4861, CTLFLAG_RW, &VNET_NAME(nd6_onlink_ns_rfc4861),
-	0, "Accept 'on-link' nd6 NS in compliance with RFC 4861.");
+    nd6_onlink_ns_rfc4861,
+    CTLFLAG_RW, &VNET_NAME(nd6_onlink_ns_rfc4861), 0,
+    "Accept 'on-link' nd6 NS in compliance with RFC 4861");
--967339439-1681226068-1354342829=:57210
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=document-netinet6_sysctls.patch.txt
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.BSF.2.00.1211302220240.57210@toaster.local>
Content-Description: 
Content-Disposition: attachment; filename=document-netinet6_sysctls.patch.txt

SW5kZXg6IHN5cy9uZXRpbmV0Ni9pbjZfcHJvdG8uYw0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIHN5cy9uZXRpbmV0Ni9pbjZfcHJvdG8uYwkocmV2
aXNpb24gMjQzNTU3KQ0KKysrIHN5cy9uZXRpbmV0Ni9pbjZfcHJvdG8uYwko
d29ya2luZyBjb3B5KQ0KQEAgLTEzMSw3ICsxMzEsNyBAQA0KICNlbmRpZg0K
IA0KIC8qDQotICogVENQL0lQIHByb3RvY29sIGZhbWlseTogSVA2LCBJQ01Q
NiwgVURQLCBUQ1AuDQorICogVENQL0lQIHByb3RvY29sIGZhbWlseTogSVB2
NiwgSUNNUHY2LCBVRFB2NiwgVENQdjYuDQogICovDQogRkVBVFVSRShpbmV0
NiwgIkludGVybmV0IFByb3RvY29sIHZlcnNpb24gNiIpOw0KIA0KQEAgLTM4
Miw5ICszODIsOSBAQA0KICAqLw0KICNpZm5kZWYJSVBWNkZPUldBUkRJTkcN
CiAjaWZkZWYgR0FURVdBWTYNCi0jZGVmaW5lCUlQVjZGT1JXQVJESU5HCTEJ
LyogZm9yd2FyZCBJUDYgcGFja2V0cyBub3QgZm9yIHVzICovDQorI2RlZmlu
ZQlJUFY2Rk9SV0FSRElORwkxCS8qIGZvcndhcmQgSVB2NiBwYWNrZXRzICov
DQogI2Vsc2UNCi0jZGVmaW5lCUlQVjZGT1JXQVJESU5HCTAJLyogZG9uJ3Qg
Zm9yd2FyZCBJUDYgcGFja2V0cyBub3QgZm9yIHVzICovDQorI2RlZmluZQlJ
UFY2Rk9SV0FSRElORwkwCS8qIGRvbid0IGZvcndhcmQgSVB2NiBwYWNrZXRz
ICovDQogI2VuZGlmIC8qIEdBVEVXQVk2ICovDQogI2VuZGlmIC8qICFJUFY2
Rk9SV0FSRElORyAqLw0KIA0KQEAgLTQwOSw4ICs0MDksNiBAQA0KIFZORVRf
REVGSU5FKGludCwgaXA2X2F1dG9fZmxvd2xhYmVsKSA9IDE7DQogVk5FVF9E
RUZJTkUoaW50LCBpcDZfdXNlX2RlcHJlY2F0ZWQpID0gMTsvKiBhbGxvdyBk
ZXByZWNhdGVkIGFkZHINCiAJCQkJCSAqIChSRkMyNDYyIDUuNS40KSAqLw0K
LVZORVRfREVGSU5FKGludCwgaXA2X3JyX3BydW5lKSA9IDU7CS8qIHJvdXRl
ciByZW51bWJlcmluZyBwcmVmaXgNCi0JCQkJCSAqIHdhbGsgbGlzdCBldmVy
eSA1IHNlYy4gKi8NCiBWTkVUX0RFRklORShpbnQsIGlwNl9tY2FzdF9wbXR1
KSA9IDA7CS8qIGVuYWJsZSBwTVRVIGRpc2NvdmVyeSBmb3IgbXVsdGljYXN0
PyAqLw0KIFZORVRfREVGSU5FKGludCwgaXA2X3Y2b25seSkgPSAxOw0KIA0K
QEAgLTQzMSw3ICs0MjksNyBAQA0KIFZORVRfREVGSU5FKGludCwgcG10dV9l
eHBpcmUpID0gNjAqMTA7DQogVk5FVF9ERUZJTkUoaW50LCBwbXR1X3Byb2Jl
KSA9IDYwKjI7DQogDQotLyogcmF3IElQNiBwYXJhbWV0ZXJzICovDQorLyog
cmF3IElQVjYgcGFyYW1ldGVycyAqLw0KIC8qDQogICogTm9taW5hbCBzcGFj
ZSBhbGxvY2F0ZWQgdG8gYSByYXcgaXAgc29ja2V0Lg0KICAqLw0KQEAgLTQ0
MywxMyArNDQxLDEyIEBADQogDQogLyogSUNNUFY2IHBhcmFtZXRlcnMgKi8N
CiBWTkVUX0RFRklORShpbnQsIGljbXA2X3JlZGlyYWNjZXB0KSA9IDE7Lyog
YWNjZXB0IGFuZCBwcm9jZXNzIHJlZGlyZWN0cyAqLw0KLVZORVRfREVGSU5F
KGludCwgaWNtcDZfcmVkaXJ0aW1lb3V0KSA9IDEwICogNjA7CS8qIDEwIG1p
bnV0ZXMgKi8NCiBWTkVUX0RFRklORShpbnQsIGljbXA2ZXJycHBzbGltKSA9
IDEwMDsJCS8qIDEwMHBwcyAqLw0KIC8qIGNvbnRyb2wgaG93IHRvIHJlc3Bv
bmQgdG8gTkkgcXVlcmllcyAqLw0KIFZORVRfREVGSU5FKGludCwgaWNtcDZf
bm9kZWluZm8pID0NCiAgICAgKElDTVA2X05PREVJTkZPX0ZRRE5PS3xJQ01Q
Nl9OT0RFSU5GT19OT0RFQUREUk9LKTsNCiANCi0vKiBVRFAgb24gSVA2IHBh
cmFtZXRlcnMgKi8NCisvKiBVRFAgb24gSVB2NiBwYXJhbWV0ZXJzICovDQog
Vk5FVF9ERUZJTkUoaW50LCB1ZHA2X3NlbmRzcGFjZSkgPSA5MjE2Oy8qIHJl
YWxseSBtYXggZGF0YWdyYW0gc2l6ZSAqLw0KIFZORVRfREVGSU5FKGludCwg
dWRwNl9yZWN2c3BhY2UpID0gNDAgKiAoMTAyNCArIHNpemVvZihzdHJ1Y3Qg
c29ja2FkZHJfaW42KSk7DQogCQkJCQkvKiA0MCAxSyBkYXRhZ3JhbXMgKi8N
CkBAIC00NjEsMTIgKzQ1OCwxMiBAQA0KIAkiSW50ZXJuZXQ2IEZhbWlseSIp
Ow0KIA0KIC8qIG5ldC5pbmV0NiAqLw0KLVNZU0NUTF9OT0RFKF9uZXRfaW5l
dDYsCUlQUFJPVE9fSVBWNiwJaXA2LAlDVExGTEFHX1JXLCAwLAkiSVA2Iik7
DQotU1lTQ1RMX05PREUoX25ldF9pbmV0NiwJSVBQUk9UT19JQ01QVjYsCWlj
bXA2LAlDVExGTEFHX1JXLCAwLAkiSUNNUDYiKTsNCi1TWVNDVExfTk9ERShf
bmV0X2luZXQ2LAlJUFBST1RPX1VEUCwJdWRwNiwJQ1RMRkxBR19SVywgMCwJ
IlVEUDYiKTsNCi1TWVNDVExfTk9ERShfbmV0X2luZXQ2LAlJUFBST1RPX1RD
UCwJdGNwNiwJQ1RMRkxBR19SVywgMCwJIlRDUDYiKTsNCitTWVNDVExfTk9E
RShfbmV0X2luZXQ2LAlJUFBST1RPX0lQVjYsCWlwNiwJQ1RMRkxBR19SVywg
MCwJIklQdjYiKTsNCitTWVNDVExfTk9ERShfbmV0X2luZXQ2LAlJUFBST1RP
X0lDTVBWNiwJaWNtcDYsCUNUTEZMQUdfUlcsIDAsCSJJQ01QdjYiKTsNCitT
WVNDVExfTk9ERShfbmV0X2luZXQ2LAlJUFBST1RPX1VEUCwJdWRwNiwJQ1RM
RkxBR19SVywgMCwJIlVEUHY2Iik7DQorU1lTQ1RMX05PREUoX25ldF9pbmV0
NiwJSVBQUk9UT19UQ1AsCXRjcDYsCUNUTEZMQUdfUlcsIDAsCSJUQ1B2NiIp
Ow0KICNpZmRlZiBTQ1RQDQotU1lTQ1RMX05PREUoX25ldF9pbmV0NiwJSVBQ
Uk9UT19TQ1RQLAlzY3RwNiwJQ1RMRkxBR19SVywgMCwJIlNDVFA2Iik7DQor
U1lTQ1RMX05PREUoX25ldF9pbmV0NiwJSVBQUk9UT19TQ1RQLAlzY3RwNiwJ
Q1RMRkxBR19SVywgMCwJIlNDVFB2NiIpOw0KICNlbmRpZg0KICNpZmRlZiBJ
UFNFQw0KIFNZU0NUTF9OT0RFKF9uZXRfaW5ldDYsCUlQUFJPVE9fRVNQLAlp
cHNlYzYsCUNUTEZMQUdfUlcsIDAsCSJJUFNFQzYiKTsNCkBAIC01MTUsNzcg
KzUxMiw5OSBAQA0KIH0NCiANCiBTWVNDVExfVk5FVF9JTlQoX25ldF9pbmV0
Nl9pcDYsIElQVjZDVExfRk9SV0FSRElORywgZm9yd2FyZGluZywgQ1RMRkxB
R19SVywNCi0JJlZORVRfTkFNRShpcDZfZm9yd2FyZGluZyksIDAsICIiKTsN
CisgICAgJlZORVRfTkFNRShpcDZfZm9yd2FyZGluZyksIDAsDQorICAgICJG
b3J3YXJkIElQdjYgcGFja2V0cyB2aWEgbm9kZSIpOw0KIFNZU0NUTF9WTkVU
X0lOVChfbmV0X2luZXQ2X2lwNiwgSVBWNkNUTF9TRU5EUkVESVJFQ1RTLCBy
ZWRpcmVjdCwgQ1RMRkxBR19SVywNCi0JJlZORVRfTkFNRShpcDZfc2VuZHJl
ZGlyZWN0cyksIDAsICIiKTsNCisgICAgJlZORVRfTkFNRShpcDZfc2VuZHJl
ZGlyZWN0cyksIDAsDQorICAgICJSZWRpcmVjdCBJUHY2IHBhY2tldHMgdmlh
IG5vZGUiKTsNCiBTWVNDVExfVk5FVF9JTlQoX25ldF9pbmV0Nl9pcDYsIElQ
VjZDVExfREVGSExJTSwgaGxpbSwgQ1RMRkxBR19SVywNCi0JJlZORVRfTkFN
RShpcDZfZGVmaGxpbSksIDAsICIiKTsNCisgICAgJlZORVRfTkFNRShpcDZf
ZGVmaGxpbSksIDAsDQorICAgICJEZWZhdWx0IGhvcCBsaW1pdCBmb3IgSVB2
NiB1bmljYXN0IHBhY2tldHMiKTsNCiBTWVNDVExfVk5FVF9TVFJVQ1QoX25l
dF9pbmV0Nl9pcDYsIElQVjZDVExfU1RBVFMsIHN0YXRzLCBDVExGTEFHX1JX
LA0KLQkmVk5FVF9OQU1FKGlwNnN0YXQpLCBpcDZzdGF0LCAiIik7DQorICAg
ICZWTkVUX05BTUUoaXA2c3RhdCksIGlwNnN0YXQsDQorICAgICJJUHY2IHN0
YXRpc3RpY3MiKTsNCiBTWVNDVExfVk5FVF9JTlQoX25ldF9pbmV0Nl9pcDYs
IElQVjZDVExfTUFYRlJBR1BBQ0tFVFMsIG1heGZyYWdwYWNrZXRzLA0KLQlD
VExGTEFHX1JXLCAmVk5FVF9OQU1FKGlwNl9tYXhmcmFncGFja2V0cyksIDAs
ICIiKTsNCisgICAgQ1RMRkxBR19SVywgJlZORVRfTkFNRShpcDZfbWF4ZnJh
Z3BhY2tldHMpLCAwLA0KKyAgICAiTWF4aW11bSBudW1iZXIgb2YgZnJhZ21l
bnRlZCBwYWNrZXRzIHRvIHByb2Nlc3MiKTsNCiBTWVNDVExfVk5FVF9JTlQo
X25ldF9pbmV0Nl9pcDYsIElQVjZDVExfQUNDRVBUX1JUQURWLCBhY2NlcHRf
cnRhZHYsDQotCUNUTEZMQUdfUlcsICZWTkVUX05BTUUoaXA2X2FjY2VwdF9y
dGFkdiksIDAsDQotCSJEZWZhdWx0IHZhbHVlIG9mIHBlci1pbnRlcmZhY2Ug
ZmxhZyBmb3IgYWNjZXB0aW5nIElDTVB2NiBSb3V0ZXIiDQotCSJBZHZlcnRp
c2VtZW50IG1lc3NhZ2VzIik7DQorICAgIENUTEZMQUdfUlcsICZWTkVUX05B
TUUoaXA2X2FjY2VwdF9ydGFkdiksIDAsDQorICAgICJEZWZhdWx0IHZhbHVl
IG9mIHBlci1pbnRlcmZhY2UgZmxhZyBmb3IgYWNjZXB0aW5nIElDTVB2NiBS
b3V0ZXIiDQorICAgICJBZHZlcnRpc2VtZW50IG1lc3NhZ2VzIik7DQogU1lT
Q1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaXA2LCBJUFY2Q1RMX05PX1JBRFIs
IG5vX3JhZHIsDQotCUNUTEZMQUdfUlcsICZWTkVUX05BTUUoaXA2X25vX3Jh
ZHIpLCAwLA0KLQkiRGVmYXVsdCB2YWx1ZSBvZiBwZXItaW50ZXJmYWNlIGZs
YWcgdG8gY29udHJvbCB3aGV0aGVyIHJvdXRlcnMgIg0KLQkic2VuZGluZyBJ
Q01QdjYgUkEgbWVzc2FnZXMgb24gdGhhdCBpbnRlcmZhY2UgYXJlIGFkZGVk
IGludG8gdGhlICINCi0JImRlZmF1bHQgcm91dGVyIGxpc3QuIik7DQorICAg
IENUTEZMQUdfUlcsICZWTkVUX05BTUUoaXA2X25vX3JhZHIpLCAwLA0KKyAg
ICAiRGVmYXVsdCB2YWx1ZSBvZiBwZXItaW50ZXJmYWNlIGZsYWcgdG8gY29u
dHJvbCB3aGV0aGVyIHJvdXRlcnMgIg0KKyAgICAic2VuZGluZyBJQ01QdjYg
UkEgbWVzc2FnZXMgb24gdGhhdCBpbnRlcmZhY2UgYXJlIGFkZGVkIGludG8g
dGhlICINCisgICAgImRlZmF1bHQgcm91dGVyIGxpc3QiKTsNCiBTWVNDVExf
Vk5FVF9JTlQoX25ldF9pbmV0Nl9pcDYsIElQVjZDVExfTk9SQklUX1JBSUYs
IG5vcmJpdF9yYWlmLCBDVExGTEFHX1JXLA0KLQkmVk5FVF9OQU1FKGlwNl9u
b3JiaXRfcmFpZiksIDAsDQotCSJBbHdheXMgc2V0IDAgdG8gUiBmbGFnIGlu
IElDTVB2NiBOQSBtZXNzYWdlcyB3aGVuIGFjY2VwdGluZyBSQSINCi0JIiBv
biB0aGUgaW50ZXJmYWNlLiIpOw0KKyAgICAmVk5FVF9OQU1FKGlwNl9ub3Ji
aXRfcmFpZiksIDAsDQorICAgICJBbHdheXMgc2V0IDAgdG8gUiBmbGFnIGlu
IElDTVB2NiBOQSBtZXNzYWdlcyB3aGVuIGFjY2VwdGluZyBSQSAiDQorICAg
ICJvbiB0aGUgaW50ZXJmYWNlIik7DQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRf
aW5ldDZfaXA2LCBJUFY2Q1RMX1JGQzYyMDRXMywgcmZjNjIwNHczLA0KLQlD
VExGTEFHX1JXLCAmVk5FVF9OQU1FKGlwNl9yZmM2MjA0dzMpLCAwLA0KLQki
QWNjZXB0IHRoZSBkZWZhdWx0IHJvdXRlciBsaXN0IGZyb20gSUNNUHY2IFJB
IG1lc3NhZ2VzIGV2ZW4gIg0KLQkid2hlbiBwYWNrZXQgZm9yd2FyZGluZyBl
bmFibGVkLiIpOw0KKyAgICBDVExGTEFHX1JXLCAmVk5FVF9OQU1FKGlwNl9y
ZmM2MjA0dzMpLCAwLA0KKyAgICAiQWNjZXB0IHRoZSBkZWZhdWx0IHJvdXRl
ciBsaXN0IGZyb20gSUNNUHY2IFJBIG1lc3NhZ2VzIGV2ZW4gd2hlbiBwYWNr
ZXQgIg0KKyAgICAiZm9yd2FyZGluZyBlbmFibGVkIik7DQogU1lTQ1RMX1ZO
RVRfSU5UKF9uZXRfaW5ldDZfaXA2LCBJUFY2Q1RMX0tFRVBGQUlUSCwga2Vl
cGZhaXRoLCBDVExGTEFHX1JXLA0KLQkmVk5FVF9OQU1FKGlwNl9rZWVwZmFp
dGgpLCAwLCAiIik7DQorICAgICZWTkVUX05BTUUoaXA2X2tlZXBmYWl0aCks
IDAsDQorICAgICIiKTsNCiBTWVNDVExfVk5FVF9JTlQoX25ldF9pbmV0Nl9p
cDYsIElQVjZDVExfTE9HX0lOVEVSVkFMLCBsb2dfaW50ZXJ2YWwsDQotCUNU
TEZMQUdfUlcsICZWTkVUX05BTUUoaXA2X2xvZ19pbnRlcnZhbCksIDAsICIi
KTsNCisgICAgQ1RMRkxBR19SVywgJlZORVRfTkFNRShpcDZfbG9nX2ludGVy
dmFsKSwgMCwNCisgICAgIlBlcmlvZCAoaW4gc2VjcykgZm9yIHRocm90dGxp
bmcgbG9nZ2luZyBmb3IgaGlnaC10cmFmZmljIG9wZXJhdGlvbnMiKTsNCiBT
WVNDVExfVk5FVF9JTlQoX25ldF9pbmV0Nl9pcDYsIElQVjZDVExfSERSTkVT
VExJTUlULCBoZHJuZXN0bGltaXQsDQotCUNUTEZMQUdfUlcsICZWTkVUX05B
TUUoaXA2X2hkcm5lc3RsaW1pdCksIDAsICIiKTsNCisgICAgQ1RMRkxBR19S
VywgJlZORVRfTkFNRShpcDZfaGRybmVzdGxpbWl0KSwgMCwNCisgICAgIk1h
eGltdW0gbnVtYmVyIG9mIG5lc3RlZCBoZWFkZXIgb3B0aW9ucyB0byBwcm9j
ZXNzIik7DQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaXA2LCBJUFY2
Q1RMX0RBRF9DT1VOVCwgZGFkX2NvdW50LCBDVExGTEFHX1JXLA0KLQkmVk5F
VF9OQU1FKGlwNl9kYWRfY291bnQpLCAwLCAiIik7DQorICAgICZWTkVUX05B
TUUoaXA2X2RhZF9jb3VudCksIDAsDQorICAgICJOdW1iZXIgb2YgRHVwbGlj
YXRlIEFkZHJlc3MgRGV0ZWN0aW9uIGF0dGVtcHRzIHRvIHRyeSBiZWZvcmUg
Ig0KKyAgICAiZGlzYWJsaW5nIGludGVyZmFjZS4gIFNldHRpbmcgdGhlIHZh
bHVlIHRvIDAgZGlzYWJsZXMgREFEIik7DQogU1lTQ1RMX1ZORVRfSU5UKF9u
ZXRfaW5ldDZfaXA2LCBJUFY2Q1RMX0FVVE9fRkxPV0xBQkVMLCBhdXRvX2Zs
b3dsYWJlbCwNCi0JQ1RMRkxBR19SVywgJlZORVRfTkFNRShpcDZfYXV0b19m
bG93bGFiZWwpLCAwLCAiIik7DQorICAgIENUTEZMQUdfUlcsICZWTkVUX05B
TUUoaXA2X2F1dG9fZmxvd2xhYmVsKSwgMCwNCisgICAgIkF1dG9tYXRpY2Fs
bHkgYXR0YWNoIGEgZmxvd2xhYmVsIHRvIElQdjYgcGFja2V0cyIpOw0KIFNZ
U0NUTF9WTkVUX0lOVChfbmV0X2luZXQ2X2lwNiwgSVBWNkNUTF9ERUZNQ0FT
VEhMSU0sIGRlZm1jYXN0aGxpbSwNCi0JQ1RMRkxBR19SVywgJlZORVRfTkFN
RShpcDZfZGVmbWNhc3RobGltKSwgMCwgIiIpOw0KKyAgICBDVExGTEFHX1JX
LCAmVk5FVF9OQU1FKGlwNl9kZWZtY2FzdGhsaW0pLCAwLA0KKyAgICAiRGVm
YXVsdCBob3AgbGltaXQgZm9yIGlwNiBtdWx0aWNhc3QgcGFja2V0cyIpOw0K
IFNZU0NUTF9TVFJJTkcoX25ldF9pbmV0Nl9pcDYsIElQVjZDVExfS0FNRV9W
RVJTSU9OLCBrYW1lX3ZlcnNpb24sDQotCUNUTEZMQUdfUkQsIF9fS0FNRV9W
RVJTSU9OLCAwLCAiIik7DQorICAgIENUTEZMQUdfUkQsIF9fS0FNRV9WRVJT
SU9OLCAwLA0KKyAgICAiIik7DQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5l
dDZfaXA2LCBJUFY2Q1RMX1VTRV9ERVBSRUNBVEVELCB1c2VfZGVwcmVjYXRl
ZCwNCi0JQ1RMRkxBR19SVywgJlZORVRfTkFNRShpcDZfdXNlX2RlcHJlY2F0
ZWQpLCAwLCAiIik7DQotU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaXA2
LCBJUFY2Q1RMX1JSX1BSVU5FLCBycl9wcnVuZSwgQ1RMRkxBR19SVywNCi0J
JlZORVRfTkFNRShpcDZfcnJfcHJ1bmUpLCAwLCAiIik7DQorICAgIENUTEZM
QUdfUlcsICZWTkVUX05BTUUoaXA2X3VzZV9kZXByZWNhdGVkKSwgMCwNCisg
ICAgIlVzZSBkZXByZWNhdGVkIElQdjYgc3VwcG9ydCIpOw0KIFNZU0NUTF9W
TkVUX0lOVChfbmV0X2luZXQ2X2lwNiwgSVBWNkNUTF9VU0VURU1QQUREUiwg
dXNlX3RlbXBhZGRyLA0KLQlDVExGTEFHX1JXLCAmVk5FVF9OQU1FKGlwNl91
c2VfdGVtcGFkZHIpLCAwLCAiIik7DQorICAgIENUTEZMQUdfUlcsICZWTkVU
X05BTUUoaXA2X3VzZV90ZW1wYWRkciksIDAsDQorICAgICJVc2UgYSB0ZW1w
b3JhcnkgYWRkcmVzcyB3aGVuIGVzdGFibGlzaGluZyBhZGRyZXNzIHZpYSBT
TEFBQyIpOw0KIFNZU0NUTF9WTkVUX1BST0MoX25ldF9pbmV0Nl9pcDYsIElQ
VjZDVExfVEVNUFBMVElNRSwgdGVtcHBsdGltZSwNCi0JQ1RMVFlQRV9JTlR8
Q1RMRkxBR19SVywgJlZORVRfTkFNRShpcDZfdGVtcF9wcmVmZXJyZWRfbGlm
ZXRpbWUpLCAwLA0KLSAgIAlzeXNjdGxfaXA2X3RlbXBwbHRpbWUsICJJIiwg
IiIpOw0KKyAgICBDVExUWVBFX0lOVHxDVExGTEFHX1JXLCAmVk5FVF9OQU1F
KGlwNl90ZW1wX3ByZWZlcnJlZF9saWZldGltZSksIDAsDQorICAgIHN5c2N0
bF9pcDZfdGVtcHBsdGltZSwgIkkiLA0KKyAgICAiUHJlZmVycmVkIGxpZmV0
aW1lIChpbiBzZWNzKSBmb3IgYSB0ZW1wb3JhcnkgYWRkcmVzcyIpOw0KIFNZ
U0NUTF9WTkVUX1BST0MoX25ldF9pbmV0Nl9pcDYsIElQVjZDVExfVEVNUFZM
VElNRSwgdGVtcHZsdGltZSwNCi0JQ1RMVFlQRV9JTlR8Q1RMRkxBR19SVywg
JlZORVRfTkFNRShpcDZfdGVtcF92YWxpZF9saWZldGltZSksIDAsDQotICAg
CXN5c2N0bF9pcDZfdGVtcHZsdGltZSwgIkkiLCAiIik7DQorICAgIENUTFRZ
UEVfSU5UfENUTEZMQUdfUlcsICZWTkVUX05BTUUoaXA2X3RlbXBfdmFsaWRf
bGlmZXRpbWUpLCAwLA0KKyAgICBzeXNjdGxfaXA2X3RlbXB2bHRpbWUsICJJ
IiwNCisgICAgIlZhbGlkIGxpZmV0aW1lIChpbiBzZWNzKSBmb3IgYSB0ZW1w
b3JhcnkgYWRkcmVzcyIpOw0KIFNZU0NUTF9WTkVUX0lOVChfbmV0X2luZXQ2
X2lwNiwgSVBWNkNUTF9WNk9OTFksIHY2b25seSwJQ1RMRkxBR19SVywNCi0J
JlZORVRfTkFNRShpcDZfdjZvbmx5KSwgMCwgIiIpOw0KKyAgICAmVk5FVF9O
QU1FKGlwNl92Nm9ubHkpLCAwLA0KKyAgICAiQWxsb3cgSVB2NC1tYXBwZWQg
aXA2IGFkZHJlc3NlcyBwZXIgUkZDIDM0OTMiKTsNCiBTWVNDVExfVk5FVF9J
TlQoX25ldF9pbmV0Nl9pcDYsIElQVjZDVExfQVVUT19MSU5LTE9DQUwsIGF1
dG9fbGlua2xvY2FsLA0KLQlDVExGTEFHX1JXLCAmVk5FVF9OQU1FKGlwNl9h
dXRvX2xpbmtsb2NhbCksIDAsDQotCSJEZWZhdWx0IHZhbHVlIG9mIHBlci1p
bnRlcmZhY2UgZmxhZyBmb3IgYXV0b21hdGljYWxseSBhZGRpbmcgYW4gSVB2
NiINCi0JIiBsaW5rLWxvY2FsIGFkZHJlc3MgdG8gaW50ZXJmYWNlcyB3aGVu
IGF0dGFjaGVkIik7DQotU1lTQ1RMX1ZORVRfU1RSVUNUKF9uZXRfaW5ldDZf
aXA2LCBJUFY2Q1RMX1JJUDZTVEFUUywgcmlwNnN0YXRzLCBDVExGTEFHX1JX
LA0KLQkmVk5FVF9OQU1FKHJpcDZzdGF0KSwgcmlwNnN0YXQsICIiKTsNCisg
ICAgQ1RMRkxBR19SVywgJlZORVRfTkFNRShpcDZfYXV0b19saW5rbG9jYWwp
LCAwLA0KKyAgICAiRGVmYXVsdCB2YWx1ZSBvZiBwZXItaW50ZXJmYWNlIGZs
YWcgZm9yIGF1dG9tYXRpY2FsbHkgYWRkaW5nIGFuIGlwNiAiDQorICAgICJs
aW5rLWxvY2FsIGFkZHJlc3MgdG8gaW50ZXJmYWNlcyB3aGVuIGF0dGFjaGVk
Iik7DQorU1lTQ1RMX1ZORVRfU1RSVUNUKF9uZXRfaW5ldDZfaXA2LCBJUFY2
Q1RMX1JJUFY2U1RBVFMsIHJpcDZzdGF0cywgQ1RMRkxBR19SVywNCisgICAg
JlZORVRfTkFNRShyaXA2c3RhdCksIHJpcDZzdGF0LA0KKyAgICAiUklQNiBz
dGF0aXN0aWNzIik7DQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaXA2
LCBJUFY2Q1RMX1BSRUZFUl9URU1QQUREUiwgcHJlZmVyX3RlbXBhZGRyLA0K
LQlDVExGTEFHX1JXLCAmVk5FVF9OQU1FKGlwNl9wcmVmZXJfdGVtcGFkZHIp
LCAwLCAiIik7DQorICAgIENUTEZMQUdfUlcsICZWTkVUX05BTUUoaXA2X3By
ZWZlcl90ZW1wYWRkciksIDAsDQorICAgICJQcmVmZXIgdGhlIHRlbXBvcmFy
eSBhZGRyZXNzIGFzc2lnbmVkIHdoZW4gcGVyZm9ybWluZyBOVUQiKTsNCiBT
WVNDVExfVk5FVF9JTlQoX25ldF9pbmV0Nl9pcDYsIElQVjZDVExfVVNFX0RF
RkFVTFRaT05FLCB1c2VfZGVmYXVsdHpvbmUsDQotCUNUTEZMQUdfUlcsICZW
TkVUX05BTUUoaXA2X3VzZV9kZWZ6b25lKSwgMCwiIik7DQorICAgIENUTEZM
QUdfUlcsICZWTkVUX05BTUUoaXA2X3VzZV9kZWZ6b25lKSwgMCwNCisgICAg
IlVzZSB0aGUgZGVmYXVsdCBzY29wZSB6b25lIGlmIG5vdCBleHBsaWNpdGx5
IHByb3ZpZGVkIik7DQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaXA2
LCBJUFY2Q1RMX01BWEZSQUdTLCBtYXhmcmFncywgQ1RMRkxBR19SVywNCi0J
JlZORVRfTkFNRShpcDZfbWF4ZnJhZ3MpLCAwLCAiIik7DQorICAgICZWTkVU
X05BTUUoaXA2X21heGZyYWdzKSwgMCwNCisgICAgIk1heGltdW0gbnVtYmVy
IG9mIGZyYWdtZW50cyB0byBob2xkIGluIHRoZSByZWFzc2VtYmx5IHF1ZXVl
Iik7DQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaXA2LCBJUFY2Q1RM
X01DQVNUX1BNVFUsIG1jYXN0X3BtdHUsIENUTEZMQUdfUlcsDQotCSZWTkVU
X05BTUUoaXA2X21jYXN0X3BtdHUpLCAwLCAiIik7DQorICAgICZWTkVUX05B
TUUoaXA2X21jYXN0X3BtdHUpLCAwLA0KKyAgICAiRW5hYmxlIG11bHRpY2Fz
dCBwTVRVIGRpc2NvdmVyeSIpOw0KICNpZmRlZiBJUFNURUFMVEgNCiBTWVND
VExfVk5FVF9JTlQoX25ldF9pbmV0Nl9pcDYsIElQVjZDVExfU1RFQUxUSCwg
c3RlYWx0aCwgQ1RMRkxBR19SVywNCi0JJlZORVRfTkFNRShpcDZzdGVhbHRo
KSwgMCwgIiIpOw0KKyAgICAmVk5FVF9OQU1FKGlwNnN0ZWFsdGgpLCAwLA0K
KyAgICAiSVB2NiBzdGVhbHRoIG1vZGUuIE5vIGhvcCBsaW1pdCBkZWNyZW1l
bnRhdGlvbiBvbiBmb3J3YXJkaW5nIik7DQogI2VuZGlmDQogDQogI2lmZGVm
IEZMT1dUQUJMRQ0KQEAgLTYwMCwyOSArNjE5LDM5IEBADQogDQogLyogbmV0
LmluZXQ2LmljbXA2ICovDQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZf
aWNtcDYsIElDTVBWNkNUTF9SRURJUkFDQ0VQVCwgcmVkaXJhY2NlcHQsDQot
CUNUTEZMQUdfUlcsICZWTkVUX05BTUUoaWNtcDZfcmVkaXJhY2NlcHQpLCAw
LCAiIik7DQotU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaWNtcDYsIElD
TVBWNkNUTF9SRURJUlRJTUVPVVQsIHJlZGlydGltZW91dCwNCi0JQ1RMRkxB
R19SVywgJlZORVRfTkFNRShpY21wNl9yZWRpcnRpbWVvdXQpLCAwLCAiIik7
DQorICAgIENUTEZMQUdfUlcsICZWTkVUX05BTUUoaWNtcDZfcmVkaXJhY2Nl
cHQpLCAwLA0KKyAgICAiQWNjZXB0IGFuZCBwcm9jZXNzIHJvdXRlciByZWRp
cmVjdHMiKTsNCiBTWVNDVExfVk5FVF9TVFJVQ1QoX25ldF9pbmV0Nl9pY21w
NiwgSUNNUFY2Q1RMX1NUQVRTLCBzdGF0cywgQ1RMRkxBR19SVywNCi0JJlZO
RVRfTkFNRShpY21wNnN0YXQpLCBpY21wNnN0YXQsICIiKTsNCisgICAgJlZO
RVRfTkFNRShpY21wNnN0YXQpLCBpY21wNnN0YXQsDQorICAgICJJQ01QdjYg
c3RhdGlzdGljcyIpOw0KIFNZU0NUTF9WTkVUX0lOVChfbmV0X2luZXQ2X2lj
bXA2LCBJQ01QVjZDVExfTkQ2X1BSVU5FLCBuZDZfcHJ1bmUsIENUTEZMQUdf
UlcsDQotCSZWTkVUX05BTUUobmQ2X3BydW5lKSwgMCwgIiIpOw0KKyAgICAm
Vk5FVF9OQU1FKG5kNl9wcnVuZSksIDAsDQorICAgICJQZXJpb2QgKGluIHNl
Y3MpIGZvciBjaGVja2luZyBmb3Igc3RhbGUgcm91dGVyIGVudHJpZXMgdmlh
IG5kNiIpOw0KIFNZU0NUTF9WTkVUX0lOVChfbmV0X2luZXQ2X2ljbXA2LCBJ
Q01QVjZDVExfTkQ2X0RFTEFZLCBuZDZfZGVsYXksIENUTEZMQUdfUlcsDQot
CSZWTkVUX05BTUUobmQ2X2RlbGF5KSwgMCwgIiIpOw0KKyAgICAmVk5FVF9O
QU1FKG5kNl9kZWxheSksIDAsDQorICAgICJEZWxheSAoaW4gc2VjcykgYmVm
b3JlIHBlcmZvcm1pbmcgTlVEIG9uIHN0YWxlIG5vZGVzIik7DQogU1lTQ1RM
X1ZORVRfSU5UKF9uZXRfaW5ldDZfaWNtcDYsIElDTVBWNkNUTF9ORDZfVU1B
WFRSSUVTLCBuZDZfdW1heHRyaWVzLA0KLQlDVExGTEFHX1JXLCAmVk5FVF9O
QU1FKG5kNl91bWF4dHJpZXMpLCAwLCAiIik7DQorICAgIENUTEZMQUdfUlcs
ICZWTkVUX05BTUUobmQ2X3VtYXh0cmllcyksIDAsDQorICAgICJNYXhpbXVt
IG51bWJlciBvZiB1bmljYXN0IHF1ZXJpZXMgdG8gcGVyZm9ybSB2aWEgbmQ2
Iik7DQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaWNtcDYsIElDTVBW
NkNUTF9ORDZfTU1BWFRSSUVTLCBuZDZfbW1heHRyaWVzLA0KLQlDVExGTEFH
X1JXLCAmVk5FVF9OQU1FKG5kNl9tbWF4dHJpZXMpLCAwLCAiIik7DQorICAg
IENUTEZMQUdfUlcsICZWTkVUX05BTUUobmQ2X21tYXh0cmllcyksIDAsDQor
ICAgICJNYXhpbXVtIG51bWJlciBvZiBtdWx0aWNhc3QgcXVlcmllcyB0byBw
ZXJmb3JtIHZpYSBuZDYiKTsNCiBTWVNDVExfVk5FVF9JTlQoX25ldF9pbmV0
Nl9pY21wNiwgSUNNUFY2Q1RMX05ENl9VU0VMT09QQkFDSywgbmQ2X3VzZWxv
b3BiYWNrLA0KLQlDVExGTEFHX1JXLCAmVk5FVF9OQU1FKG5kNl91c2Vsb29w
YmFjayksIDAsICIiKTsNCisgICAgQ1RMRkxBR19SVywgJlZORVRfTkFNRShu
ZDZfdXNlbG9vcGJhY2spLCAwLA0KKyAgICAiVXNlIGxvb3BiYWNrIGludGVy
ZmFjZSBmb3IgbG9jYWwgdHJhZmZpYyIpOw0KIFNZU0NUTF9WTkVUX0lOVChf
bmV0X2luZXQ2X2ljbXA2LCBJQ01QVjZDVExfTk9ERUlORk8sIG5vZGVpbmZv
LCBDVExGTEFHX1JXLA0KLQkmVk5FVF9OQU1FKGljbXA2X25vZGVpbmZvKSwg
MCwgIiIpOw0KKyAgICAmVk5FVF9OQU1FKGljbXA2X25vZGVpbmZvKSwgMCwN
CisgICAgIk5vZGUgaW5mb3JtYXRpb24gc3RhdGUiKTsNCiBTWVNDVExfVk5F
VF9JTlQoX25ldF9pbmV0Nl9pY21wNiwgSUNNUFY2Q1RMX0VSUlBQU0xJTUlU
LCBlcnJwcHNsaW1pdCwNCi0JQ1RMRkxBR19SVywgJlZORVRfTkFNRShpY21w
NmVycnBwc2xpbSksIDAsICIiKTsNCisgICAgQ1RMRkxBR19SVywgJlZORVRf
TkFNRShpY21wNmVycnBwc2xpbSksIDAsDQorICAgICJQYWNrZXRzIHBlciBz
ZWNvbmQgbGltaXQgZm9yIElDTVB2NiBxdWVyaWVzIik7DQogU1lTQ1RMX1ZO
RVRfSU5UKF9uZXRfaW5ldDZfaWNtcDYsIElDTVBWNkNUTF9ORDZfTUFYTlVE
SElOVCwgbmQ2X21heG51ZGhpbnQsDQotCUNUTEZMQUdfUlcsICZWTkVUX05B
TUUobmQ2X21heG51ZGhpbnQpLCAwLCAiIik7DQorICAgIENUTEZMQUdfUlcs
ICZWTkVUX05BTUUobmQ2X21heG51ZGhpbnQpLCAwLA0KKyAgICAiTWF4aW11
bSBudW1iZXIgb2YgdXBwZXIgbGF5ZXIgaGludHMiKTsNCiBTWVNDVExfVk5F
VF9JTlQoX25ldF9pbmV0Nl9pY21wNiwgSUNNUFY2Q1RMX05ENl9ERUJVRywg
bmQ2X2RlYnVnLCBDVExGTEFHX1JXLA0KLQkmVk5FVF9OQU1FKG5kNl9kZWJ1
ZyksIDAsICIiKTsNCisgICAgJlZORVRfTkFNRShuZDZfZGVidWcpLCAwLA0K
KyAgICAiIik7DQogU1lTQ1RMX1ZORVRfSU5UKF9uZXRfaW5ldDZfaWNtcDYs
IElDTVBWNkNUTF9ORDZfT05MSU5LTlNSRkM0ODYxLA0KLQluZDZfb25saW5r
X25zX3JmYzQ4NjEsIENUTEZMQUdfUlcsICZWTkVUX05BTUUobmQ2X29ubGlu
a19uc19yZmM0ODYxKSwNCi0JMCwgIkFjY2VwdCAnb24tbGluaycgbmQ2IE5T
IGluIGNvbXBsaWFuY2Ugd2l0aCBSRkMgNDg2MS4iKTsNCisgICAgbmQ2X29u
bGlua19uc19yZmM0ODYxLA0KKyAgICBDVExGTEFHX1JXLCAmVk5FVF9OQU1F
KG5kNl9vbmxpbmtfbnNfcmZjNDg2MSksIDAsDQorICAgICJBY2NlcHQgJ29u
LWxpbmsnIG5kNiBOUyBpbiBjb21wbGlhbmNlIHdpdGggUkZDIDQ4NjEiKTsN
Cg==

--967339439-1681226068-1354342829=:57210--



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