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

Reply via email to