Name

nexp-mpls — Network Expect support for Multi-Protocol Label Switching (MPLS) labeled protocol data units

Synopsis

PDU definition:

mpls ( [ label=num,] [ttl=num,] [ experimental, ] [ stack ] )

PDU Definition

The following parameters allow you to define the different parts of a MPLS labeled protocol data unit (PDU) in Network Expect:

label = NUMSPEC

The MPLS label to be used in the PDU. The label is stored in a 20 bit field, with values 0 to 15 being reserved by section 2.1 of RFC 3032. Default: 0.

ttl = NUMSPEC

The Time to Live value of the MPLS label. Per section 2.4 of RFC 3032, only the top most label is relevant to packet forwarding. Default: 0.

experimental

When included in the PDU definition, the least significant of the three MPLS Experimental bits is set to 1. Default: All three bits are set to 0.

stack

Sets the MPLS Bottom of Stack bit to 1. In order for an MPLS packet to be valid, exactly one MPLS label must have this bit set.

PDU Decoding

The current version of Network Expect does not support the decoding of received MPLS PDUs into the Tcl array variable mpls.

Examples

  1. A simple MPLS labeled ethernet frame:

    ether()/mpls(label = 100, stack)
    	
  2. An MPLS labeled ethernet frame containing three labels:

    ether()/mpls(label = 20)/mpls(label = 30)/mpls(label = 40, stack)
    	
  3. An MPLS over IP packet with an MPLS TTL of 100:

    ip(dst = www.netexpect.org, proto = 137) / \
    mpls(label = 20, stack, ttl = 100)
    	
  4. An MPLS over GRE packet containing an IP datagram:

    ip(dst = www.netexpect.org)/gre()/mpls(label = 30, stack) / \
    ip(src = 10.1.1.1, dst = 10.2.2.2)
    	

VERSION

This man page is correct for version 1.0 of Network Expect.

SEE ALSO

nexp(1), nexp-numspec(1), RFC 3032, RFC 4023

AUTHOR

MPLS support for Network Expect was written by Eloy Paris <peloy@netexpect.org>.

This man page was written by Tim Sammut <tsammut@cisco.com>.