Module Name: src
Committed By: kefren
Date: Wed Jul 24 06:31:09 UTC 2013
Modified Files:
src/share/man/man4: mpls.4
Log Message:
EXP -> TC
document RFC4182 sysctl flag
document a little bit more the IMPLNULL operation
To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/share/man/man4/mpls.4
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/share/man/man4/mpls.4
diff -u src/share/man/man4/mpls.4:1.7 src/share/man/man4/mpls.4:1.8
--- src/share/man/man4/mpls.4:1.7 Sun Jul 17 23:50:05 2011
+++ src/share/man/man4/mpls.4 Wed Jul 24 06:31:09 2013
@@ -1,4 +1,4 @@
-.\" $NetBSD: mpls.4,v 1.7 2011/07/17 23:50:05 dholland Exp $
+.\" $NetBSD: mpls.4,v 1.8 2013/07/24 06:31:09 kefren Exp $
.\"
.\" Copyright (c) 2010 The NetBSD Foundation, Inc.
.\" All rights reserved.
@@ -24,7 +24,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd June 29, 2010
+.Dd July 24, 2013
.Dt MPLS 4
.Os
.Sh NAME
@@ -70,7 +70,7 @@ In network bit order:
.Bd -literal
-------------------------------------------
| | | | |
-| Label | Exp. | BoS | TTL |
+| Label | TC | BoS | TTL |
| 20 bits | 3 bits | 1 bit | 8 bits |
| | | | |
-------------------------------------------
@@ -79,13 +79,16 @@ In network bit order:
.It Label
20 bits representing FEC, consequently the only information
used to forward the frame to next-hop
-.It Experimental
-3 bits that are sometimes used for specifying a type of service
+.It Traffic Class Field
+3 bits that are used for specifying a traffic class, usually used for defining
+a type of service.
+This field was named the "Experimental Field" in most early (pre-
+.%R RFC 5462
+) documents.
.It Bottom of Stack
-1 bit that is set for the last entry in the shim
-stack and 0 for all others.
-This way, multiple labels can
-be prepended to a single packet.
+One bit that is set for the last entry in the shim stack and 0 for all others.
+An MPLS frame may contain more than one shim, the last one before the
+network headers being marked by setting the BoS bit.
.It TTL
8 bits, representing Time to Live, decremented at every LSR.
.El
@@ -109,20 +112,22 @@ will be copied into IP header on decapsu
The IPv6 version of the above.
.It Li net.mpls.inet_map_prec
If set, precedence field from IP header will be
-mapped into MPLS shim EXP bits on encapsulation, and the MPLS EXP
+mapped into MPLS shim in TC field on encapsulation, and the MPLS TC
field will be copied into IP Precedence field on decapsulation.
.It Li net.mpls.inet6_map_prec
The IPv6 version of the above.
.It Li net.mpls.icmp_respond
Returns ICMP TTL exceeded in transit when an MPLS
frame is dropped because of TTL = 0 on egress interface.
+.It Li net.mpls.rfc4182
+Pop the Explicit Null labels as specified by
+.%R RFC 4182
.El
In order to encapsulate and decapsulate to and from MPLS, an mpls
pseudo-interface must be created and packets that should be encapsulated
must be routed to that interface.
.Pp
-.Dq Pure
-MPLS routes can be created using
+MPLS routes may be created using
.Dv AF_MPLS
.Li sa_family
sockaddrs for destination and tag fields.
@@ -143,6 +148,14 @@ and
.Xr route 8
utilities should be used to manage routes from userland.
.Pp
+The
+.Nx
+implementation stores route tagging information into a sockaddr_mpls structure
+that is referenced by the rt_tag field of rtentry struct.
+For storing multiple labels associated with the next-hop, the current
+implementation abuses the sockaddr_mpls structure, extending it in order to fit
+a stack of labels.
+.Pp
.Xr ldpd 8
should be used in order to automatically import, manage and
distribute labels among LSRs in the same MPLS domain.
@@ -171,6 +184,13 @@ When an LSR would otherwise replace the
with a new label, but the new label is
.Dq Implicit NULL ,
the LSR will pop the stack instead of doing the replacement.
+In this case, the LSR will have to deduce by itself what is the original
+address family of the encapsulated network packet.
+Currently,
+.Nx
+implementation is assuming that the latter address family
+is equal to the next-hop address family specified in the Implicit Null Label
+MPLS route.
.El
.Sh EXAMPLES
.Bl -enum
@@ -245,6 +265,14 @@ and forward the result to 192.168.1.100
.%R RFC 3032
.%T MPLS Label Stack Encoding
.Re
+.Rs
+.%R RFC 4182
+.%T Removing a Restriction on the use of MPLS Explicit NULL
+.Re
+.Rs
+.%R RFC 5462
+.%T MPLS Label Stack Entry: "EXP" Field Renamed to "Traffic Class" Field
+.Re
.Sh HISTORY
The
.Nm