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