summaryrefslogtreecommitdiffstats
path: root/share/man/man4/inet.4
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1995-02-15 03:30:54 +0000
committerwollman <wollman@FreeBSD.org>1995-02-15 03:30:54 +0000
commit382620028982b4520e11706aab205563a7385065 (patch)
tree4840feef680d6710b8e45a854120876f476710dd /share/man/man4/inet.4
parent01a43e3165d640dbeebf10757088bc1f79a0ff0f (diff)
downloadFreeBSD-src-382620028982b4520e11706aab205563a7385065.zip
FreeBSD-src-382620028982b4520e11706aab205563a7385065.tar.gz
Document TCP MIB variables (tcp.4).
Document IP MIB variables (inet.4). Document Internet-family protocol-specified route cloning (inet.4). Delete all references to classed addresses (inet.4).
Diffstat (limited to 'share/man/man4/inet.4')
-rw-r--r--share/man/man4/inet.4138
1 files changed, 119 insertions, 19 deletions
diff --git a/share/man/man4/inet.4 b/share/man/man4/inet.4
index 690bfca..6e97c94 100644
--- a/share/man/man4/inet.4
+++ b/share/man/man4/inet.4
@@ -29,9 +29,10 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" @(#)inet.4 8.1 (Berkeley) 6/5/93
+.\" From: @(#)inet.4 8.1 (Berkeley) 6/5/93
+.\" $Id$
.\"
-.Dd June 5, 1993
+.Dd February 14, 1995
.Dt INET 4
.Os BSD 4.2
.Sh NAME
@@ -97,9 +98,11 @@ network if the first network configured supports broadcast.
The Internet protocol family is comprised of
the
.Tn IP
-transport protocol, Internet Control
+network protocol, Internet Control
Message Protocol
.Pq Tn ICMP ,
+Internet Group Management Protocol
+.Pq Tn IGMP ,
Transmission Control
Protocol
.Pq Tn TCP ,
@@ -122,22 +125,11 @@ The
message protocol is accessible from a raw socket.
.Pp
The 32-bit Internet address contains both network and host parts.
-It is frequency-encoded; the most-significant bit is clear
-in Class A addresses, in which the high-order 8 bits are the network
-number.
-Class B addresses use the high-order 16 bits as the network field,
-and Class C addresses have a 24-bit network part.
-Sites with a cluster of local networks and a connection to the
-Internet may chose to use a single network number for the cluster;
-this is done by using subnet addressing.
-The local (host) portion of the address is further subdivided
-into subnet and host parts.
-Within a subnet, each subnet appears to be an individual network;
-externally, the entire cluster appears to be a single, uniform
-network requiring only a single routing entry.
-Subnet addressing is enabled and examined by the following
+However, direct examination of addresses is discouraged. For those
+programs which absolutely need to break addresses into their component
+parts, the following
.Xr ioctl 2
-commands on a datagram socket in the Internet domain;
+commands are provided for a datagram socket in the Internet domain;
they have the same form as the
.Dv SIOCIFADDR
command (see
@@ -152,14 +144,117 @@ then subnets are in use.
.It Dv SIOCGIFNETMASK
Get interface network mask.
.El
+.Sh ROUTING
+The current implementation of Internet protocols includes some routing-table
+adaptations to provide enhanced caching of certain end-to-end
+information necessary for Transaction TCP and Path MTU Discovery. The
+following changes are the most significant:
+.Bl -enum
+.It
+All IP routes, except those with the
+.Dv RTF_CLONING
+flag and those to multicast destinations, have the
+.Dv RTF_PRCLONING
+flag forcibly enabled (they are thus said to be
+.Dq "protocol cloning" ).
+.It
+When the last reference to an IP route is dropped, the route is
+examined to determine if it was created by cloning such a route. If
+this is the case, the
+.Dv RTF_PROTO3
+flag is turned on, and the expiration timer is initialized to go off
+in net.inet.ip.rtexpire seconds. If such a route is re-referenced,
+the flag and expiration timer are reset.
+.It
+A kernel timeout runs once every ten minutes, or sooner if there are
+soon-to-expire routes in the kernel routing table, and deletes the
+expired routes.
+.El
+.Pp
+A dynamic process is in place to modify the value of
+net.inet.ip.rtexpire if the number of cached routes grows too large.
+If after an expiration run there are still more than
+net.inet.ip.rtmaxcache unreferenced routes remaining, the rtexpire
+value is multiplied by 3/4, and any routes which have longer
+expiration times have those times adjusted. This process is damped
+somewhat by specification of a minimum rtexpire value
+(net.inet.ip.rtminexpire), and by restricting the reduction to once in
+a ten-minute period.
+.Pp
+If some external process deletes the original route from which a
+protocol-cloned route was generated, the ``child route'' is deleted.
+(This is actually a generic mechanism in the routing code support for
+protocol-requested cloning.)
+.Pp
+No attempt is made to manage routes which were not created by protocol
+cloning; these are assumed to be static, under the management of an
+external routing process, or under the management of a link layer
+(e.g.,
+.Tn ARP
+for Ethernets).
+.Pp
+Only certain types of network activity will result in the cloning of a
+route using this mechanism. Specifically, those protocols (such as
+.Tn TCP
+and
+.Tn UDP )
+which themselves cache a long-lasting reference to route for a destination
+will trigger the mechanism; whereas raw
+.Tn IP
+packets, whether locally-generated or forwarded, will not.
+.Sh MIB VARIABLES
+A number of variables are implemented in the net.inet branch of the
+.Xr sysctl 3
+MIB. In addition to the variables supported by the transport
+protocols (for which see the respective manual pages), the following
+general variables are defined:
+.Bl -tag -width IPCTL_SENDREDIRECTS
+.It Dv IPCTL_FORWARDING
+.Pq ip.forwarding
+Boolean: enable/disable forwarding of IP packets (default depends on
+the
+.Dv GATEWAY
+kernel configuration option).
+.It Dv IPCTL_SENDREDIRECTS
+.Pq ip.redirect
+Boolean: enable/disable sending of ICMP redirects in response to
+unforwardable
+.Tn IP
+packets (default true).
+.It Dv IPCTL_DEFTTL
+.Pq ip.ttl
+Integer: default time-to-live
+.Pq Dq TTL
+to use for outgoing
+.Tn IP
+packets.
+.It Dv IPCTL_RTEXPIRE
+.Pq ip.rtexpire
+Integer: lifetime in seconds of protocol-cloned
+.Tn IP
+routes after the last reference drops (default one hour). This value
+varies dynamically as described above.
+.It Dv IPCTL_RTMINEXPIRE
+.Pq ip.rtminexpire
+Integer: minimum value of ip.rtexpire (default ten seconds). This
+value has no effect on user modifications, but restricts the dynamic
+adaptation described above.
+.It Dv IPCTL_RTMAXCACHE
+.Pq ip.rtmaxcache
+Integer: trigger level of cached, unreferenced, protocol-cloned routes
+which initiates dynamic adaptation (default 128).
+.El
.Sh SEE ALSO
.Xr ioctl 2 ,
.Xr socket 2 ,
+.Xr sysctl 3 ,
.Xr intro 4 ,
.Xr tcp 4 ,
+.Xr ttcp 4 ,
.Xr udp 4 ,
.Xr ip 4 ,
-.Xr icmp 4
+.Xr icmp 4 ,
+.Xr igmp 4
.Rs
.%T "An Introductory 4.3 BSD Interprocess Communication Tutorial"
.%B PS1
@@ -180,3 +275,8 @@ The
.Nm
protocol interface appeared in
.Bx 4.2 .
+The
+.Dq protocol cloning
+code appeared in
+.Tn FreeBSD
+2.1.
OpenPOWER on IntegriCloud