diff --git a/lib/libc/gen/sysctl.3 b/lib/libc/gen/sysctl.3 index 098d4f2911e2..d1e7e032cbf4 100644 --- a/lib/libc/gen/sysctl.3 +++ b/lib/libc/gen/sysctl.3 @@ -453,7 +453,8 @@ privilege may change the value. .Bl -column "Second level nameXXXXXX" "routing messagesXXX" -offset indent .It Sy Pa Second level name Type Changeable .It PF\_ROUTE routing messages no -.It PF\_INET internet values yes +.It PF\_INET IPv4 values yes +.It PF\_INET6 IPv6 values yes .El .Pp .Bl -tag -width "123456" @@ -475,7 +476,8 @@ The fifth and sixth level names are as follows: .It NET\_RT\_IFLIST None .El .It Li PF_INET -Get or set various global information about the internet protocols. +Get or set various global information about the IPv4 +.Pq Internet Protocol version 4 . The third level name is the protocol. The fourth level name is the variable name. The currently defined protocols and names are: @@ -511,6 +513,154 @@ This value applies to normal transport protocols, not to ICMP. .It Li udp.checksum Returns 1 when UDP checksums are being computed and checked. Disabling UDP checksums is strongly discouraged. +.Pp +For variables net.*.ipsec, please refer to +.Xr ipsec 4 . +.El +.It Li PF_INET6 +Get or set various global information about the IPv6 +.Pq Internet Protocol version 6 . +The third level name is the protocol. +The fourth level name is the variable name. +The currently defined protocols and names are: +.Bl -column ProtocolXX nd6_useloopbackXX TypeXX ChangeableXX +.It Pa Protocol Variable Type Changeable +.It ip6 forwarding integer yes +.It ip6 redirect integer yes +.It ip6 hlim integer yes +.It ip6 maxfragpackets integer yes +.It ip6 accept_rtadv integer yes +.It ip6 keepfaith integer yes +.It ip6 log_interval integer yes +.It ip6 hdrnestlimit integer yes +.It ip6 dad_count integer yes +.It ip6 auto_flowlabel integer yes +.It ip6 defmcasthlim integer yes +.It ip6 gif_hlim integer yes +.It ip6 kame_version string no +.It ip6 use_deprecated integer yes +.It ip6 rr_prune integer yes +.It ip6 mapped_addr integer yes +.It icmp6 rediraccept integer yes +.It icmp6 redirtimeout integer yes +.It icmp6 errratelimit integer yes +.It icmp6 nd6_prune integer yes +.It icmp6 nd6_delay integer yes +.It icmp6 nd6_umaxtries integer yes +.It icmp6 nd6_mmaxtries integer yes +.It icmp6 nd6_useloopback integer yes +.It icmp6 nd6_proxyall integer yes +.El +.Pp +The variables are as follows: +.Bl -tag -width "123456" +.It Li ip6.forwarding +Returns 1 when IPv6 forwarding is enabled for the node, +meaning that the node is acting as a router. +.It Li ip6.redirect +Returns 1 when ICMPv6 redirects may be sent by the node. +This option is ignored unless the node is routing IP packets, +and should normally be enabled on all systems. +.It Li ip6.hlim +The default hop limit value for an IPv6 unicast packet sourced by the node. +This value applies to all the transport protocols on top of IPv6. +There are APIs to override the value. +.\", as documented in +.\".Xr ip6 4 . +.It Li ip6.maxfragpackets +The maximum number of fragmented packets the node will accept. +0 means that the node will not accept any fragmented packets. +-1 means that the node will accept as many fragmented packets as it receives. +The flag is provided basically for avoiding possible DoS attacks. +.It Li ip6.accept_rtadv +If set to non-zero, the node will accept ICMPv6 router advertisement packets +and autoconfigures address prefixes and default routers. +The node must be a host +.Pq not a router +for the option to be meaningful. +.It Li ip6.keepfaith +If set to non-zero, it enables +.Dq FAITH +TCP relay IPv6-to-IPv4 translator code in the kernel. +Refer +.Xr faith 4 +and +.Xr faithd 8 +for detail. +.It Li ip6.log_interval +The variable controls amount of logs generated by IPv6 packet +forwarding engine, by seting interval between log output +.Pq in seconds . +.It Li ip6.hdrnestlimit +The number of IPv6 extension headers permitted on incoming IPv6 packets. +If set to 0, the node will accept as many extension headers as possible. +.It Li ip6.dad_count +The variable cofigures number of IPv6 DAD +.Pq duplicated address detection +probe packets. +The packets will be generated when IPv6 interface addresses are configured. +.It Li ip6.auto_flowlabel +On connected transport protocol packets, +fill IPv6 flowlabel field to help intermediate routers to identify packet flows. +.It Li ip6.defmcasthlim +The default hop limit value for an IPv6 multicast packet sourced by the node. +This value applies to all the transport protocols on top of IPv6. +There are APIs to override the value. +.\", as documented in +.\".Xr ip6 4 . +.It Li ip6.gif_hlim +The maximum hop limit value for an IPv6 packet generated by +.Xr gif 4 +tunnel interface. +.It Li ip6.kame_version +The string identifies the version of KAME IPv6 stack implemented in the kernel. +.It Li ip6.use_deprecated +The variable controls use of deprecated address, specified in RFC2462 5.5.4. +.It Li ip6.rr_prune +The variable specifies interval between IPv6 router renumbering prefix +babysitting, in seconds. +.It Li ip6.mapped_addr +The variable controls use of IPv4 mapped address on AF_INET6 sockets. +.It Li icmp6.rediraccept +If set to non-zero, the host will accept ICMPv6 redirect packets. +Note that IPv6 routers will never accept ICMPv6 redirect packets, +and the variable is meaningful on IPv6 hosts +.Pq non-router +only. +.It Li icmp6.redirtimeout +The variable specifies lifetime of routing entries generated by incoming +ICMPv6 redirect. +.It Li icmp6.errratelimit +The variable specifies minimum interval between ICMPv6 error messages, +in microseconds. +.It Li icmp6.nd6_prune +The variable specifies interval between IPv6 neighbor cache babysitting, +in seconds. +.It Li icmp6.nd6_delay +The variable specifies +.Dv DELAY_FIRST_PROBE_TIME +timing constant in IPv6 neighbor discovery specification +.Pq RFC2461 , +in seconds. +.It Li icmp6.nd6_umaxtries +The variable specifies +.Dv MAX_UNICAST_SOLICIT +constant in IPv6 neighbor discovery specification +.Pq RFC2461 . +.It Li icmp6.nd6_mmaxtries +The variable specifies +.Dv MAX_MULTICAST_SOLICIT +constant in IPv6 neighbor discovery specification +.Pq RFC2461 . +.It Li icmp6.nd6_useloopback +If set to non-zero, kernel IPv6 stack will use loopback interface for +local traffic. +.It Li icmp6.nd6_proxyall +The variable enables proxy neighbor advertisements. +.El +.Pp +For variables net.*.ipsec6, please refer to +.Xr ipsec 4 . .El .Sh CTL_USER The string and integer information available for the CTL_USER level @@ -729,10 +879,12 @@ definitions for third level profiling identifiers .It Pa definitions for second level virtual memory identifiers .It Pa -definitions for third level Internet identifiers and -fourth level IP identifiers +definitions for third level IPv4/IPv6 identifiers and +fourth level IPv4/v6 identifiers .It Pa definitions for fourth level ICMP identifiers +.It Pa +definitions for fourth level ICMPv6 identifiers .It Pa definitions for fourth level UDP identifiers .El diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7 index ae3791ae8944..6de70d1f0117 100644 --- a/share/man/man7/hier.7 +++ b/share/man/man7/hier.7 @@ -187,6 +187,10 @@ see C include files for Internet standard protocols; see .Xr inet 4 +.It Li netinet6/ +C include files for Internet protocol version 6; +see +.Xr inet6 4 .It Li netipx/ IPX/SPX protocol stacks .It Li netkey/