aboutsummaryrefslogtreecommitdiff
path: root/share/man/man9/rtentry.9
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man9/rtentry.9')
-rw-r--r--share/man/man9/rtentry.988
1 files changed, 66 insertions, 22 deletions
diff --git a/share/man/man9/rtentry.9 b/share/man/man9/rtentry.9
index 5c7556098bf0..6b0eb9b9ca44 100644
--- a/share/man/man9/rtentry.9
+++ b/share/man/man9/rtentry.9
@@ -53,7 +53,9 @@ The basic structure a route is defined by
.Dq Li struct rtentry ,
which includes the following fields:
.Bl -tag -offset indent -width 6n
-.It Li "struct radix_node rt_nodes[2];"
+.It Xo
+.Vt "struct radix_node rt_nodes[2]" ;
+.Xc
Glue used by the radix-tree routines. These members also include in
their substructure the key (i.e., destination address) and mask used
when the route was created. The
@@ -64,7 +66,9 @@ macros can be used to extract this information (in the form of a
.Dq Li "struct sockaddr *" )
given a
.Li "struct rtentry *" .
-.It Li "struct sockaddr *rt_gateway;"
+.It Xo
+.Vt "struct sockaddr *rt_gateway" ;
+.Xc
The
.Dq target
of the route, which can either represent a destination in its own
@@ -72,7 +76,9 @@ right (some protocols will put a link-layer address here), or some
intermediate stop on the way to that destination (if the
.Dv RTF_GATEWAY
flag is set).
-.It Li "long rt_refcnt;"
+.It Xo
+.Vt "long rt_refcnt" ;
+.Xc
Route entries are reference-counted; this field indicates the number
of external (to the radix tree) references. If the
.Dv RTF_UP
@@ -80,17 +86,25 @@ flag is not present, the
.Fn rtfree
function will delete the route from the radix tree when the last
reference drops.
-.It Li "u_long rt_flags;"
+.It Xo
+.Vt "u_long rt_flags" ;
+.Xc
See below.
-.It Li "struct ifnet *rt_ifp;"
-.It Li "struct ifaddr *rt_ifa;"
+.It Xo
+.Vt "struct ifnet *rt_ifp" ;
+.Xc
+.It Xo
+.Vt "struct ifaddr *rt_ifa" ;
+.Xc
These two fields represent the
.Dq answer ,
as it were, to the question posed by a route lookup; that is, they
name the interface and interface address to be used in sending a
packet to the destination or set of destinations which this route
represents.
-.It Li "struct sockaddr *rt_genmask;"
+.It Xo
+.Vt "struct sockaddr *rt_genmask" ;
+.Xc
When the
.Fn rtalloc
family of functions performs a cloning operation as requested by the
@@ -100,7 +114,9 @@ or
flag, this field is used as the mask for the new route which is
inserted into the table. If this field is a null pointer, then a host
route is generated.
-.It Li "caddr_t rt_llinfo;"
+.It Xo
+.Vt "caddr_t rt_llinfo" ;
+.Xc
When the
.Dv RTF_LLINFO
flag is set, this field contains information specific to the link
@@ -111,9 +127,13 @@ routine.) Protocols such as
.Xr arp 4
use this field to reference per-destination state internal to that
protocol.
-.It Li "struct rt_metrics rt_rmx;"
+.It Xo
+.Vt "struct rt_metrics rt_rmx" ;
+.Xc
See below.
-.It Li "struct rtentry *rt_gwroute;"
+.It Xo
+.Vt "struct rtentry *rt_gwroute" ;
+.Xc
This member is a reference to a route whose destination is
.Li rt_gateway .
It is only used for
@@ -121,7 +141,9 @@ It is only used for
routes.
.\" .It Dv "int (*rt_output)();"
.\" See below.
-.It Dv "struct rtentry *rt_parent;"
+.It Xo
+.Vt "struct rtentry *rt_parent" ;
+.Xc
A reference to the route from which this route was cloned, or a null
pointer if this route was not generated by cloning. See also the
.Dv RTF_WASCLONED
@@ -213,21 +235,31 @@ Indicates that the destination is a multicast address.
Every route has associated with it a set of metrics, defined by
.Li struct rt_metrics :
.Bl -tag -offset indent -width 6n
-.It Li "u_long rmx_locks;"
+.It Xo
+.Vt "u_long rmx_locks" ;
+.Xc
Flag bits indicating which metrics the kernel is not permitted to
dynamically modify.
-.It Li "u_long rmx_mtu;"
+.It Xo
+.Vt "u_long rmx_mtu" ;
+.Xc
MTU for this path.
-.It Li "u_long rmx_hopcount;"
+.It Xo
+.Vt "u_long rmx_hopcount" ;
+.Xc
Number of intermediate systems on the path to this destination.
-.It Li "u_long rmx_expire;"
+.It Xo
+.Vt "u_long rmx_expire" ;
+.Xc
The time
(a la
.Xr time 3 )
at which this route should expire, or zero if it should never expire.
It is the responsibility of individual protocol suites to ensure that routes
are actually deleted once they expire.
-.It Li "u_long rmx_recvpipe;"
+.It Xo
+.Vt "u_long rmx_recvpipe" ;
+.Xc
Nominally, the bandwidth-delay product for the path
.Em from
the destination
@@ -235,24 +267,36 @@ the destination
this system. In practice, this value is used to set the size of the
receive buffer (and thus the window in sliding-window protocols like
.Tn TCP ) .
-.It Li "u_long rmx_sendpipe;"
+.It Xo
+.Vt "u_long rmx_sendpipe" ;
+.Xc
As before, but in the opposite direction.
-.It Li "u_long rmx_ssthresh;"
+.It Xo
+.Vt "u_long rmx_ssthresh" ;
+.Xc
The slow-start threshold used in
.Tn TCP
congestion-avoidance.
-.It Li "u_long rmx_rtt;"
+.It Xo
+.Vt "u_long rmx_rtt" ;
+.Xc
The round-trip time to this destination, in units of
.Dv RMX_RTTUNIT
per second.
-.It Li "u_long rmx_rttvar;"
+.It Xo
+.Vt "u_long rmx_rttvar" ;
+.Xc
The average deviation of the round-type time to this destination, in
units of
.Dv RMX_RTTUNIT
per second.
-.It Li "u_long rmx_pksent;"
+.It Xo
+.Vt "u_long rmx_pksent" ;
+.Xc
A count of packets successfully sent via this route.
-.It Li "u_long rmx_filler[4];"
+.It Xo
+.Vt "u_long rmx_filler[4]" ;
+.Xc
.\" XXX badly named
Empty space available for protocol-specific information.
.El