MPLS TE MIB

As mentioned in the introductory section, the TE MIB is defined in draft-ietf-mpls-te-mib. Appendix B provides links to the Cisco online documentation for the MPLS TE MIB.

The following tables constitute the TE MIB:

  • mplsTunnelTable

  • mplsTunnelHopTable

  • mplsTunnelResourceTable

  • mplsTunnelCRLDPResTable

The mplsTunnelCRLDPResTable is not supported in the current Cisco implementation, because Cisco's MPLS TE does not support CR-LDP. The following sections examine each of the TE MIB tables in detail.

mplsTunnelTable

The purpose of the mplsTunnelTable is to create or modify tunnels. Using this table, you can tie an InSegment to an OutSegment in the cross-connect table, as described in the “MPLS LSR MIB” section.

As with the LSR MIB, the TE tunnel interface is included in the IFMIB as an extension.

You can see this when you perform snmpwalk on the ifType object on 7200a, as demonstrated in Example 8-26.

Example 8-26. ifType Extensions for the MPLS TE Tunnel
linux1>snmpwalk
						-t 500 7.1.5.4 public interfaces.iftable.ifentry.ifdescr (ifDescr)
...
interfaces.ifTable.ifEntry.ifType.15 = mplsTunnel(150)
interfaces.ifTable.ifEntry.ifType.16 = mplsTunnel(150)
...

Each mplsTunnelTable entry contains mplsTunnelEntry.

The organization of the mplsTunnelEntry table is shown in Table 8-8.

Table 8-8. mplsTunnelEntry Organization
Object Syntax Access Description
mplsTunnel Index Integer32 not-accessible The key index into the Entry table.
mplsTunnel Instance MplsTunnelInstanceIndex not-accessible Uniquely identifies a TE tunnel and can be used to index into the Entry table.
mplsTunnel IngressLSRId MplsLsrIdentifier not-accessible Helps uniquely identify an LSP within the network, much like the extended TE ID in the session object of the RSVP message.
mplsTunnel EgressLSRId MplsLsrIdentifier not-accessible Used to identify the Egress LSR.
mplsTunnel Name DisplayString read-create Holds the tunnel name.
mplsTunnel Descr DisplayString read-create Textual description of the tunnel.
mplsTunnelIsIf TruthValue read-create If this value is set to true, the ifName in the interface's MIB and the mplsTunnelName are the same.
mplsTunnelIfIndex InterfaceIndexOrZero read-only If the mplsTunnelIsIf is set to true, the mplsTunnelIfIndex is an index into the ifTable.
mplsTunnel XCPointer RowPointer read-create Points to a row in the mplsXCTable defined in the LSR MIB.
mplsTunnel Signalling Proto none(1), rsvp(2), crldp(3), other(4) read-create Holds the protocol respon-sible for creating the tunnel.
mplsTunnel SetupPrio Integer32 (0…7) read-create Holds the tunnel's setup priority.
mplsTunnel HoldingPrio Integer32 (0…7) read-create Holds the tunnel's holding priority.
mplsTunnel Session Attributes fastReroute (0), mergingPermitted (1), isPersistent (2), isPinned (3), recordRoute (4) read-create A bitmask that can hold the values 0 through 4. These are attributes that corres-pond to the primary tunnel going through this LSR. If this is 0, the primary LSP might be rerouted for local repair. A value of 1 means that the transit LSRs can merge this RSVP session with other RSVP sessions to reduce refresh overhead. A value of 3 indicates that loose-routed hops should be pinned. A value of 4 means that a record route is requested.
mplsTunnel Owner admin(1), rsvp(2), crldp(3), policyAgent(4), other(5) read-create Holds the protocol that is responsible for creating this tunnel.
mplsTunnel LocalProtect InUse TruthValue read-create If this variable is set to true, FRR is currently active.
mplsTunnel Resource Pointer RowPointer read-create A pointer to the traffic parameter specification for this tunnel. It can point to either mplsTunnelResourceEntry or the traffic parameter specification table.
mplsTunnel Instance Priority Unsigned32 read-create Tunnel group priority.
mplsTunnel HopTable Index MplsPathIndexOrZero read-create Holds the explicit path list defined in the mplsTunnelHopTable.
mplsTunnel ARHopTableIndex MplsPathIndexOrZero read-only Index into the mplsTunnelARHopTable. The mplsTunnelARHop Table is the user-defined table that holds the hops, strict or loose, for an MPLS tunnel similar to the IP explicit path list used in the CLI.
mplsTunnel CHopTable Index MplsPathIndexOrZero read-only Index into the mplsTunnelCHopTable. The mplsTunnelCHop Table is the table that holds the hops, strict or loose, that come from CSPF computation.
mplsTunnel Primary Instance MplsTunnelInstanceIndex read-only Specifies the instance index of this tunnel's primary instance.
mplsTunnel PrimaryTimeUp TimeTicks read-only Specifies the total time that this tunnel's primary instance has been active.
mplsTunnel PathChanges Counter32 read-only Specifies the number of times the path has changed for this tunnel.
mplsTunnel LastPath Change Counter32 read-only Specifies the time since the last path change for this tunnel.
mplsTunnel CreationTime TimeStamp read-only Specifies the value of SysUpTime when the first instance of this tunnel came into existence.
mplsTunnel State Transitions Counter32 read-only Specifies the number of times the state of this tunnel instance has changed.
mplsTunnel IncludeAny Affinity MplsTunnelAffinity read-create The MPLS TE MIB draft says, “A link satisfies the include-any constraint if and only if the constraint is zero, or the link and the constraint have a resource class in common.”
mplsTunnel IncludeAll Affinity MplsTunnelAffinity read-create The MPLS TE MIB draft says, “A link satisfies the include-all constraint if and only if the link contains all of the administrative groups specified in the constraint.”
mplsTunnel ExcludeAll Affinity MplsTunnelAffinity read-create The MPLS TE MIB draft says, “A link satisfies the exclude-all constraint if and only if the link contains none of the administrative groups specified in the constraint.”
mplsTunnel PathInUse MplsPathIndexOrZero read-create If this is nonzero, it holds the explicit path being used by the tunnel.
mplsTunnel Role head(1), transit(2), tail(3) read-create Holds the tunnel's role.
mplsTunnel TotalUpTime TimeTicks read-create Total uptime for all instances of the tunnel.
mplsTunnel InstanceUp Time TimeTicks read-create Total uptime for the current instance of the tunnel.
mplsTunnel AdminStatus up(1), down(2), testing(3) read-create Administrative status of this tunnel.
mplsTunnel OperStatus up(1), down(2), testing(3), unknown(4), dormant(5), notPresent(6), lowerLayerDown(7) read-create Operational status of this tunnel.
mplsTunnel RowStatus RowStatus read-create Used to create, modify, or delete an instance in the mplsTunnelEntry table.
mplsTunnel StorageType StorageType read-create Indicates the storage type for this object.

The first four variables—mplsTunnelIndex, mplsTunnelInstance, mplsTunnelIngressLSRId, and mplsTunnelEgressLSRId—are used only in the notifications—mplsTunnelUp, mplsTunnelDown, and mplsTunnelRerouted.

Example 8-27 shows the mplsTunnelUp and mplsTunnelDown traps captured by turning on debug snmp packet on 12008a. You can see the tunnel Index, Instance, IngressLSRId, AdminStatus, and OperStatus variables being used in these traps.

Example 8-27. Tunnel Up and Tunnel Down Traps
12008a#debug snmp packet
1d18h: SNMP: V1 Trap, ent mplsTeNotifications, addr 7.1.5.5, gentrap 6, spectrap
 1
 mplsTunnelIndex.3.0.0.185273099 = 3
 mplsTunnelInstance.3.0.0.185273099 = 0
 mplsTunnelIngressLSRId.3.0.0.185273099 = 0
 mplsTunnelEgressLSRId.3.0.0.185273099 = 185273099
 mplsTunnelAdminStatus.3.0.0.185273099 = 1
 mplsTunnelOperStatus.3.0.0.185273099 = 1
1d18h: SNMP: Packet sent via UDP to 7.1.5.254
mpls-12008a#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
mpls-12008a(config)#interface tunnel 3
mpls-12008a(config-if)#shut
mpls-12008a(config-if)#end
1d19h: %SYS-5-CONFIG_I: Configured from console by console
1d19h: %LINK-5-CHANGED: Interface Tunnel3, changed state to administratively down
1d19h: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel3, changed state to
  down
1d19h: SNMP: Queuing packet to 7.1.5.254
1d19h: SNMP: V1 Trap, ent mplsTeNotifications, addr 7.1.5.5, gentrap 6,
  spectrap 2
 mplsTunnelIndex.3.0.0.185273099 = 3
 mplsTunnelInstance.3.0.0.185273099 = 0
 mplsTunnelIngressLSRId.3.0.0.185273099 = 0
 mplsTunnelEgressLSRId.3.0.0.185273099 = 185273099
 mplsTunnelAdminStatus.3.0.0.185273099 = 2
 mplsTunnelOperStatus.3.0.0.185273099 = 2
1d19h: SNMP: Packet sent via UDP to 7.1.5.254

The following sections examine some of the mplsTunnelEntry objects that are interesting from a tunnel-management perspective.

mplsTunnelName

This object represents the tunnel's name. Example 8-28 shows the output generated from the CLI command show ip interface brief.

Example 8-28. show ip interface brief Command Output Shows the Tunnel1 Interface
mpls-12008a#show ip interface brief
Interface              IP-Address      OK? Method Status                Protocol
POS0/0                 10.0.13.5       YES NVRAM  up                    up
POS1/0                 10.0.5.5        YES NVRAM  up                    up
POS1/1                 10.0.11.5       YES NVRAM  up                    up
POS1/2                 unassigned      YES NVRAM  administratively down down
POS1/3                 unassigned      YES NVRAM  administratively down down
POS2/0                 10.0.2.5        YES NVRAM  up                    up
POS2/1                 10.0.3.5        YES NVRAM  up                    up
POS2/2                 unassigned      YES NVRAM  administratively down down
POS2/3                 10.0.56.5       YES NVRAM  administratively down down
ATM3/0                 unassigned      YES NVRAM  administratively down down
ATM3/0.2               unassigned      YES unset  administratively down down
ATM3/0.3               10.0.4.5        YES NVRAM  administratively down down
ATM3/1                 unassigned      YES NVRAM  up                    up
ATM3/1.1               10.0.10.5       YES NVRAM  up                    up
ATM3/2                 unassigned      YES NVRAM  administratively down down
ATM3/3                 unassigned      YES NVRAM  administratively down down
FastEthernet4/0        100.100.100.100 YES NVRAM  up                    up
FastEthernet4/1        unassigned      YES NVRAM  administratively down down
FastEthernet4/2        unassigned      YES NVRAM  administratively down down
FastEthernet4/3        unassigned      YES NVRAM  administratively down down
FastEthernet4/4        unassigned      YES NVRAM  administratively down down
FastEthernet4/5        unassigned      YES NVRAM  administratively down down
FastEthernet4/6        unassigned      YES NVRAM  administratively down down
FastEthernet4/7        unassigned      YES NVRAM  administratively down down
Loopback0              5.5.5.5         YES NVRAM  up                    up
Loopback1              55.55.55.55     YES NVRAM  administratively down down
Loopback2              unassigned      YES NVRAM  administratively down down
Loopback3              55.55.55.56     YES NVRAM  administratively down down
Tunnel1                5.5.5.5         YES unset  up                    down
							Tunnel2                5.5.5.5         YES unset  up                    up
							Tunnel3                5.5.5.5         YES unset  up                    up
Ethernet0              7.1.5.5         YES NVRAM  up                    up

You can get the same information using snmpwalk on 7200, as shown in Example 8-29.

Example 8-29. Polling the mplsTunnelName Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.5 (mplsTunnelName)
95.2.2.1.5.1.0.84215045.185273099 = "Tunnel1"
95.2.2.1.5.1.8.67372036.202116108 = ""
95.2.2.1.5.1.500.50529027.202116108 = ""
95.2.2.1.5.2.0.84215045.202116108 = "Tunnel2"
95.2.2.1.5.2.48.84215045.202116108 = ""
95.2.2.1.5.3.0.84215045.185273099 = "Tunnel3"
95.2.2.1.5.3.758.84215045.185273099 = ""

mplsTunnelDescr

Example 8-30 shows the free text you would enter for the interface description.

Example 8-30. Retrieving the Tunnel Interface Descriptions
mpls-12008a#show running-config interface tunnel1
Building configuration...

Current configuration : 388 bytes
!
interface Tunnel1
 description Link Protection Tunnel (Backup)
 ip unnumbered Loopback0
 no ip directed-broadcast
 tunnel destination 11.11.11.11
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth  10000
 tunnel mpls traffic-eng path-option 5 explicit name backup
 tunnel mpls traffic-eng record-route
 ip rsvp signalling dscp 0
end

Example 8-31 shows how you can obtain this information using snmpwalk.

Example 8-31. Polling the mplsTunnelDescr Variable for a Tunnel Description Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.6 (mplsTunnelDescr)
95.2.2.1.6.1.0.84215045.185273099 = "Link Protection Tunnel (Backup)"
						

mplsTunnelIsIf

If the value of this object is set to true, the ifName for this tunnel should be the same as the mplsTunnelName. Example 8-32 shows the output of snmpwalk on mplsTunnelIsIf.

Example 8-32. Polling the mplsTunnelIsIf Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.7 (mplsTunnelIsIf)
95.2.2.1.7.1.0.84215045.185273099 = 1

mplsTunnelIfIndex

Again, if mplsTunnelIsIf is set to true, the value of this object should be the same as ifIndex. Example 8-33 shows the output of polling the mplsTunnelIfIndex variable.

Example 8-33. Polling the mplsTunnelIfIndex Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.8 (mplsTunnelIfIndex)
95.2.2.1.8.1.0.84215045.185273099 = 44
						

If you look at the ifDescr for index 44, as shown in Example 8-34, you'll notice from the highlighted text that index 44 corresponds to tunnel1.

Example 8-34. ifDescr of ifIndex 44
linux1>snmpget
							-t 500 7.1.5.5 public interfaces.iftable.ifentry.ifdescr.44
  (ifDescr)
interfaces.ifTable.ifEntry.ifDescr.44 = Tunnel1
						

mplsTunnelXCPointer

This object is what ties the mplsTunnelTable to the mplsXCTable defined in the LSR MIB. If the value is 0, no LSP is associated with this tunnel.

Polling for mplsTunnelXCPointer is meaningful only on midpoints, because the cross-connect table ties an incoming segment of an LSP to an outgoing segment. From the output shown in Example 8-35, you can see that no LSP is associated with this tunnel when you examine the headend (ingress LER—7200a).

Example 8-35. Polling the mplsTunnelXCPointer Variable on Ingress LER 7200a
linux1>snmpwalk
							-t 500 7.1.5.4 public .1.3.6.1.3.95.2.2.1.9 (mplsTunnelXCPointer)
95.2.2.1.9.1.0.67372036.202116108 = OID: .ccitt.nullOID
95.2.2.1.9.1.8.67372036.202116108 = OID: .ccitt.nullOID
95.2.2.1.9.55.0.67372036.202116108 = OID: .ccitt.nullOID

However, when this variable is polled on 12008a, it produces a non-null output, as shown in Example 8-36.

Example 8-36. Polling the mplsTunnelXCPointer Variable on Midpoint 12008a
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.9 (mplsTunnelXCPointer)
95.2.2.1.9.1.0.84215045.185273099 = OID: .ccitt.nullOID
95.2.2.1.9.1.8.67372036.202116108 = OID: 96.1.9.1.2.1414582612.8.12326.1414582612
							95.2.2.1.9.1.500.50529027.202116108 = OID:
							96.1.9.1.2.1414594228.7.12305.1414594228
95.2.2.1.9.2.0.84215045.202116108 = OID: .ccitt.nullOID
95.2.2.1.9.2.48.84215045.202116108 = OID: .ccitt.nullOID
95.2.2.1.9.3.0.84215045.185273099 = OID: .ccitt.nullOID
95.2.2.1.9.3.758.84215045.185273099 = OID: .ccitt.nullOID

The rows that have null output correspond to entries for which 12008a is the tunnel head. The non-null highlighted rows are for entries for which 12008a is the midpoint.

mplsTunnelSignallingProto

The signalling protocol can assume one of the following four values:

SYNTAX       INTEGER {
                     none(1),
                     rsvp(2),
                     crldp(3),
                     other(4)

In Cisco implementation, this is always set to 2 (RSVP), as shown in Example 8-37.

Example 8-37. Polling the mplsTunnelSignallingProto Variable Via SNMP Yields RSVP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.10
  (mplsTunnelSignallingProto)
95.2.2.1.10.1.0.84215045.185273099 = 2
95.2.2.1.10.1.8.67372036.202116108 = 2
95.2.2.1.10.1.500.50529027.202116108 = 2
95.2.2.1.10.2.0.84215045.202116108 = 2
95.2.2.1.10.2.48.84215045.202116108 = 2
95.2.2.1.10.3.0.84215045.185273099 = 2
95.2.2.1.10.3.758.84215045.185273099 = 2
						

mplsTunnelSetupPrio

This object represents the tunnel's setup priority. It should be 7—the default value—if it's not explicitly set.

According to the CLI command show mpls traffic-eng tunnels t1, you get the results shown in Example 8-38.

Example 8-38. show mpls traffic-eng tunnels t1 Command Output Isolates the Tunnel Setup and Holding Priority
mpls-12008a#show mpls traffic-eng tunnels tunnel 1

Name: Link Protection Tunnel (Backup)     (Tunnel1) Destination: 11.11.11.11
  Status:
    Admin: up         Oper: down   Path: not valid   Signalling: Down
    path option 5, type explicit backup

  Config Parameters:
    Bandwidth: 10000    kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute:  disabled  LockDown: disabled  Loadshare: 10000    bw-based
    auto-bw: disabled
  Shortest Unconstrained Path Info:
    Path Weight: 1 (TE)
    Explicit Route: 10.0.5.11 11.11.11.11
  History:
    Tunnel:
      Time since created: 2 days, 22 hours, 56 minutes
    Path Option 5:
      Last Error: PCALC:: Can't use link 0.0.0.0 on node 5.5.5.5

You can obtain the tunnel's setup priority via SNMP, as shown in Example 8-39.

Example 8-39. Obtaining the Tunnel Setup Priority Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.11 (mplsTunnelSetupPrio)
95.2.2.1.11.1.0.84215045.185273099 = 7
95.2.2.1.11.1.8.67372036.202116108 = 7
95.2.2.1.11.1.500.50529027.202116108 = 7
95.2.2.1.11.2.0.84215045.202116108 = 7
95.2.2.1.11.2.48.84215045.202116108 = 7
95.2.2.1.11.3.0.84215045.185273099 = 7
95.2.2.1.11.3.758.84215045.185273099 = 7

mplsTunnelHoldingPrio

This object indicates the holding priority for this tunnel. Again, this should be 7, as shown in Example 8-40.

Example 8-40. Obtaining a Tunnel's Holding Priority Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.12
  (mplsTunnelHoldingPrio)
95.2.2.1.12.1.0.84215045.185273099 = 7
95.2.2.1.12.1.8.67372036.202116108 = 7
95.2.2.1.12.1.500.50529027.202116108 = 7
95.2.2.1.12.2.0.84215045.202116108 = 7
95.2.2.1.12.2.48.84215045.202116108 = 7
95.2.2.1.12.3.0.84215045.185273099 = 7
95.2.2.1.12.3.758.84215045.185273099 = 7

mplsTunnelSessionAttributes

The tunnel's session attributes are one of the following values:

fastReroute (0),
mergingPermitted (1),
isPersistent (2),
isPinned (3),
recordRoute(4)

Because the record route was turned on for Tunnel1, you would get the results shown in Example 8-41.

Example 8-41. Polling the mplsTunnelSessionAttributes Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.13
  (mplsTunnelSessionAttributes)
95.2.2.1.13.1.0.84215045.185273099 =  Hex: 04
						

mplsTunnelOwner

The tunnel owner variable can assume one of the following values:

SYNTAX        INTEGER {
      admin(1), -- represents all management entities
      rsvp(2),
      crldp(3),
      policyAgent(4),
      other(5)
   }

Example 8-42 shows that the mplsTunnelOwner is set to admin or other.

Example 8-42. Polling the mplsTunnelOwner Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.14 (mplsTunnelOwner)
95.2.2.1.14.1.0.84215045.185273099 = 1
95.2.2.1.14.1.9.67372036.202116108 = 5
95.2.2.1.14.1.500.50529027.202116108 = 5
95.2.2.1.14.2.0.84215045.202116108 = 1
95.2.2.1.14.2.48.84215045.202116108 = 5
95.2.2.1.14.3.0.84215045.185273099 = 1
95.2.2.1.14.3.758.84215045.185273099 = 5

mplsTunnelLocalProtectInUse

This variable, if set to true, indicates that a local repair mechanism is in use to maintain this tunnel. For details on local repair, refer to Chapter 7, “Protection and Restoration.” Currently on 12000a, this variable is set to false because currently it is not implemented in Cisco IOS Software. Example 8-43 demonstrates how to poll for the value of this variable.

Example 8-43. Polling the mplsTunnelLocalProtectInUse Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.15
  (mplsTunnelLocalProtectInUse)
95.2.2.1.15.1.0.84215045.185273099 = 2
95.2.2.1.15.1.9.67372036.202116108 = 2
95.2.2.1.15.1.505.50529027.202116108 = 2
95.2.2.1.15.2.0.84215045.202116108 = 2
95.2.2.1.15.2.48.84215045.202116108 = 2
95.2.2.1.15.3.0.84215045.185273099 = 2
95.2.2.1.15.3.758.84215045.185273099 = 2

mplsTunnelResourcePointer

Note that TunnelResourcePointer is currently valid only for midpoints, not for headends. If you look at 12008a in Example 8-44, you see that all the non-null values correspond to midpoint entries. The nulls are for the tunnels for which the 12008a is the headend.

Example 8-44. Polling the mplsTunnelResourcePointer Variable on 12008a
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.16
  (mplsTunnelResourcePointer)
95.2.2.1.16.1.0.84215045.185273099 = OID: .ccitt.nullOID
95.2.2.1.16.1.509.50529027.202116108 = OID: 95.2.6.1.1.1414391828
95.2.2.1.16.2.0.84215045.202116108 = OID: .ccitt.nullOID
95.2.2.1.16.2.48.84215045.202116108 = OID: 95.2.6.1.1.1414391236
95.2.2.1.16.3.0.84215045.185273099 = OID: .ccitt.nullOID
95.2.2.1.16.3.785.84215045.185273099 = OID: 95.2.6.1.1.1414391532

mplsTunnelInstancePriority

This object is not currently implemented in Cisco IOS Software.

mplsTunnelHopTableIndex

This object provides an index into the hop table. The hop table is basically where you can define the hops for an explicit path option. Example 8-45 shows the result of polling the mplsTunnelHopTableIndex variable.

Example 8-45. Polling the mplsTunnelHopTableIndex Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.18
  (mplsTunnelHopTableIndex)
95.2.2.1.18.1.0.84215045.185273099 = Gauge: 1
95.2.2.1.18.1.509.50529027.202116108 = Gauge: 0
95.2.2.1.18.2.0.84215045.202116108 = Gauge: 2
95.2.2.1.18.2.48.84215045.202116108 = Gauge: 0
95.2.2.1.18.3.0.84215045.185273099 = Gauge: 3
95.2.2.1.18.3.785.84215045.185273099 = Gauge: 0

mplsTunnelARHopTableIndex

This points to the ARHopTable, which is the hops reported by the signalling protocol—RSVP in the case of Example 8-46.

Example 8-46. Polling the mplsTunnelARHopTableIndex Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.19
  (mplsTunnelARHopTableIndex)
95.2.2.1.19.1.0.84215045.185273099 = Gauge: 0
95.2.2.1.19.1.509.50529027.202116108 = Gauge: 1414391828
95.2.2.1.19.2.0.84215045.202116108 = Gauge: 0
95.2.2.1.19.2.48.84215045.202116108 = Gauge: 1414391236
95.2.2.1.19.3.0.84215045.185273099 = Gauge: 0
95.2.2.1.19.3.785.84215045.185273099 = Gauge: 1414391532
						

The highlighted output shows the mplsTunnelARHopTableIndex value. From Table 8-8, you know that mplsTunnelARHopTableIndex is defined as MplsPathIndexOrZero, which in turn is defined as an Unsigned32. The snmpwalk program interprets these as Gauge.

Using the mplsTunnelARHopTableIndex value to index into the ARHopTable, you can obtain the Explicit Route Object (ERO) reported in the show mpls traffic-eng tunnels command. Currently, this is supported only for midpoints.

mplsTunnelCHopTableIndex

This index points to the CHopTable, which contains the hops as computed by CSPF. Example 8-47 shows the output of polling this variable.

Example 8-47. Polling the mplsTunnelCHopTableIndex Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.20
  (mplsTunnelCHopTableIndex)
95.2.2.1.20.1.0.84215045.185273099 = Gauge: 0
95.2.2.1.20.1.509.50529027.202116108 = Gauge: 1414391828
95.2.2.1.20.2.0.84215045.202116108 = Gauge: 0
95.2.2.1.20.2.48.84215045.202116108 = Gauge: 1414391236
95.2.2.1.20.3.0.84215045.185273099 = Gauge: 0
95.2.2.1.20.3.785.84215045.185273099 = Gauge: 1414391532
						

Using the numbers in the highlighted text, you can index the CHopTable to obtain information about the hops computed by CSPF.

This is applicable only to midpoints, not tunnel heads.

mplsTunnelPrimaryTimeUp

This variable provides the amount of time a tunnel has been up. It is meaningful to poll this on tunnel headends only. Example 8-48 shows this variable being polled.

Example 8-48. Polling the mplsTunnelPrimaryTimeUp Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.22
  (mplsTunnelPrimaryTimeUp)
95.2.2.1.22.1.0.84215045.185273099 = Timeticks: (0) 0:00:00.00
95.2.2.1.22.1.509.50529027.202116108 = Timeticks: (0) 0:00:00.00
95.2.2.1.22.2.0.84215045.202116108 = Timeticks: (513883) 1:25:38.83
95.2.2.1.22.2.48.84215045.202116108 = Timeticks: (0) 0:00:00.00
95.2.2.1.22.3.0.84215045.185273099 = Timeticks: (349972) 0:58:19.72
95.2.2.1.22.3.785.84215045.185273099 = Timeticks: (0) 0:00:00.00

The nonzero values correspond to tunnels for which 12008 (being polled) is the headend.

This corresponds to the output from show mpls traffic-eng tunnels t1, as demonstrated in Example 8-49.

Example 8-49. Confirming a Tunnel's Uptime
12008a#show mpls traffic-eng tunnel tunnel2 | begin History
History:
    Tunnel:
      Time since created: 3 days, 43 minutes
      Time since path change: 1 hours, 28 minutes
    Current LSP:
      Uptime: 1 hours, 28 minutes
						

Because the CLI output was captured a few minutes after the SNMP poll, a couple of minutes have elapsed.

mplsTunnelPathChanges

This variable provides the number of path changes. You can also observe this using the CLI command show mpls traffic-eng tunnels tunnel2 statistics, as demonstrated in Example 8-50.

Example 8-50. Confirming the Number of Path Changes
mpls-12008a#show mpls traffic-eng tunnels tunnel2 statistics
Tunnel2 (Destination 12.12.12.12; Name mpls-12008a_t2)
  Management statistics:
    Path:   46 no path, 1 path no longer valid, 0 missing ip exp path
            4 path changes
    State:  3 transitions, 0 admin down, 1 oper down
  Signalling statistics:
    Opens:  3 succeeded, 0 timed out, 0 bad path spec
            0 other aborts
    Errors: 0 no b/w, 0 no route, 0 admin
            0 bad exp route, 0 rec route loop, 0 frr activated
            0 other

Example 8-51 shows how you can obtain the same information using SNMP.

Example 8-51. Obtaining mplsTunnelPathChanges Information Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.23
  (mplsTunnelPathChanges)
95.2.2.1.23.1.0.84215045.185273099 = 0
95.2.2.1.23.1.509.50529027.202116108 = 0
95.2.2.1.23.2.0.84215045.202116108 = 4
95.2.2.1.23.2.48.84215045.202116108 = 0
95.2.2.1.23.3.0.84215045.185273099 = 37
95.2.2.1.23.3.785.84215045.185273099 = 0

mplsTunnelLastPathChange

This variable provides the time since the last path change occurred. Again, this can be obtained using the CLI command show mpls traffic-eng tunnels tunnel1, which results in the output shown in Example 8-52.

Example 8-52. Determining the Time Since the Last Path Change
mpls-12008a#show mpls traffic-eng tunnels role head | include Time
      Time since created: 3 days, 55 minutes
      Time since created: 3 days, 55 minutes
      Time since path change: 1 hours, 41 minutes
      Time since created: 3 days, 55 minutes
      Time since path change: 1 hours, 13 minutes

The SNMP data agrees with the CLI, as shown in Example 8-53.

Example 8-53. Obtaining the Time Since the Last Path Change Occurred Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.24
  (mplsTunnelLastPathChange)
95.2.2.1.24.1.0.84215045.185273099 = Timeticks: (26258001) 3 days, 0:56:20.01
95.2.2.1.24.1.509.50529027.202116108 = Timeticks: (0) 0:00:00.00
95.2.2.1.24.2.0.84215045.202116108 = Timeticks: (607730) 1:41:17.30
95.2.2.1.24.2.48.84215045.202116108 = Timeticks: (0) 0:00:00.00
95.2.2.1.24.3.0.84215045.185273099 = Timeticks: (443819) 1:13:58.19
95.2.2.1.24.3.785.84215045.185273099 = Timeticks: (0) 0:00:00.00

mplsTunnelCreationTime

The mplsTunnelCreationTime is actually set to the number of time ticks from when the system came up (sysUpTime) in Cisco IOS.

The LSP creation time can be obtained via CLI using the command show mpls traffic-eng tunnel, as shown in Example 8-54.

Example 8-54. Obtaining LSP Creation Time Via CLI
mpls-12008a#show mpls traffic-eng tunnels role head | include Time
      Time since created: 3 days, 55 minutes
      Time since created: 3 days, 55 minutes
      Time since path change: 1 hours, 41 minutes
      Time since created: 3 days, 55 minutes
      Time since path change: 1 hours, 13 minutes

To obtain this information via SNMP, first you have to poll the mplsTunnelCreationTime, and then you poll the system table for the sysUpTime. After this, you can compute the LSP creation time by subtracting the mplsTunnelCreationTime from the sysUpTime.

Example 8-55 shows the output of polling the mplsTunnelCreationTime variable.

Example 8-55. Polling the mplsTunnelCreationTime Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.25
  (mplsTunnelCreationTime)
95.2.2.1.25.1.0.84215045.185273099 = Timeticks: (2348) 0:00:23.48
95.2.2.1.25.1.509.50529027.202116108 = Timeticks: (0) 0:00:00.00
95.2.2.1.25.2.0.84215045.202116108 = Timeticks: (2350) 0:00:23.50
95.2.2.1.25.2.48.84215045.202116108 = Timeticks: (0) 0:00:00.00
95.2.2.1.25.3.0.84215045.185273099 = Timeticks: (2351) 0:00:23.51
95.2.2.1.25.3.785.84215045.185273099 = Timeticks: (0) 0:00:00.00

A walk on the system table provides the sysUpTime, as shown in Example 8-56.

Example 8-56. Polling the System Table to Obtain the sysUpTime
linux1>snmpwalk
							-t 500 7.1.5.5 public system (system)
system.sysDescr.0 = Cisco Internetwork Operating System Software
IOS (tm) GS Software (GSR-P-M), Version 12.0(21.2)S, EARLY DEPLOYMENT
  MAINTENANCE INTERIM SOFTWARE
TAC Support: http://www.cisco.com/tac
Copyright (c) 1986-2002 by cisco Systems, Inc.
Compiled Tue 26-Mar-0
system.sysObjectID.0 = OID: enterprises.9.1.182
system.sysUpTime.0 = Timeticks: (26280739) 3 days, 1:00:07.39
system.sysContact.0 =
system.sysName.0 = mpls-12008a
system.sysLocation.0 =
system.sysServices.0 = 6
system.sysORLastChange.0 = Timeticks: (0) 0:00:00.00

Of course, you also can obtain the sysUpTime via the CLI, as shown in Example 8-57.

Example 8-57. Obtaining the Uptime on 12008a Using CLI
mpls-12008a#show version | include uptime
mpls-12008a uptime is 3 days, 1 hour, 3 minutes
						

If you want to obtain the actual creation time, you have to subtract the value of mplsTunnelCreationTime from sysUpTime:


If you convert 2625722, which is in 1/100ths of a second, to seconds, you get the following result:


This is approximately what you saw in the CLI of the show mpls traffic-eng tunnel output.

mplsTunnelStateTransitions

This variable represents the number of times that the tunnel has changed state.

You can observe this on the CLI using the show mpls traffic-eng tunnels tunnel2 statistics command, as demonstrated in Example 8-58.

Example 8-58. Determining the Number of Times the Tunnel Has Changed State
mpls-12008a#show mpls traffic-eng tunnels tunnel2 statistics
Tunnel2 (Destination 12.12.12.12; Name mpls-12008a_t2)
  Management statistics:
    Path:   46 no path, 1 path no longer valid, 0 missing ip exp path
            4 path changes
    State:  3 transitions, 0 admin down, 1 oper down
  Signalling statistics:
    Opens:  3 succeeded, 0 timed out, 0 bad path spec
            0 other aborts
    Errors: 0 no b/w, 0 no route, 0 admin
            0 bad exp route, 0 rec route loop, 0 frr activated
            0 other

Using SNMP, you can obtain the same information. This is demonstrated in Example 8-59.

Example 8-59. Obtaining Tunnel Transition Information Through SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.26
  (mplsTunnelStateTransitions)
95.2.2.1.26.1.0.84215045.185273099 = 2
95.2.2.1.26.1.517.50529027.202116108 = 0
95.2.2.1.26.2.0.84215045.202116108 = 3
95.2.2.1.26.2.48.84215045.202116108 = 0
95.2.2.1.26.3.0.84215045.185273099 = 42
95.2.2.1.26.3.844.84215045.185273099 = 0

The highlighted output corresponds to tunnel2. It shows the same number of transitions as the CLI—3.

mplsTunnelIncludeAnyAffinity

This object is not implemented on the Cisco routers.

mplsTunnelIncludeAllAffinity

This object represents the attribute bits that must be set for the tunnel to include a link in the CSPF. Example 8-60 shows the output of snmpwalk on the mplsTunnelIncludeAllAffinity variable.

Example 8-60. Polling the mplsTunnelIncludeAllAffinity Variable to Get Affinity Bits
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.28
  (mplsTunnelIncludeAllAffinity)
95.2.2.1.28.1.0.84215045.185273099 = Gauge: 0
95.2.2.1.28.1.517.50529027.202116108 = Gauge: 0
95.2.2.1.28.2.0.84215045.202116108 = Gauge: 1
95.2.2.1.28.3.0.84215045.185273099 = Gauge: 0
95.2.2.1.28.3.844.84215045.185273099 = Gauge: 0

To see a nonzero value in the highlighted output, set the tunnel affinity for tunnel2 to 1, as shown in Example 8-61.

Example 8-61. Setting the Tunnel Affinity of tunnel2 to 0x1
mpls-12008a#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
mpls-12008a(config)#interface tunnel 2
mpls-12008a(config-if)#tunnel mpls traffic-eng affinity 0x1 mask 0xff
mpls-12008a(config-if)#end
						

mplsTunnelExcludeAllAffinity

This variable refers to attribute bits that must be unset for the tunnel to include a link in the CSPF. Example 8-62 shows the snmpwalk output for this variable.

Example 8-62. Polling the mplsTunnelExcludeAllAffinity Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.29
  (mplsTunnelExcludeAllAffinity)
95.2.2.1.29.1.0.84215045.185273099 = Gauge: 65535
95.2.2.1.29.1.519.50529027.202116108 = Gauge: 0
95.2.2.1.29.2.0.84215045.202116108 = Gauge: 254
95.2.2.1.29.3.0.84215045.185273099 = Gauge: 65535
95.2.2.1.29.3.844.84215045.185273099 = Gauge: 0

mplsTunnelPathInUse

This variable represents the path option that is currently in use. Using the CLI command show mpls traffic-eng tunnels tunnel2, you can obtain the information shown in Example 8-63.

Example 8-63. Determining the Path Option Currently in Use
mpls-12008a#show mpls traffic-eng tunnels tunnel 2

Name: mpls-12008a_t2                      (Tunnel2) Destination: 12.12.12.12
  Status:
    Admin: up         Oper: up     Path: valid       Signalling: connected

    path option 5, type explicit backup2 (Basis for Setup, path weight 4)
    path option 10, type dynamic

The path option that is the basis of tunnel setup can also be retried using SNMP, as shown in Example 8-64.

Example 8-64. Polling the mplsTunnelPathInUse Variable to Obtain the Path Option Used for Tunnel Setup
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.30 (mplsTunnelPathInUse)
95.2.2.1.30.1.0.84215045.185273099 = Gauge: 0
95.2.2.1.30.1.519.50529027.202116108 = Gauge: 0
95.2.2.1.30.2.0.84215045.202116108 = Gauge: 5
95.2.2.1.30.2.302.84215045.202116108 = Gauge: 0
95.2.2.1.30.3.0.84215045.185273099 = Gauge: 5
95.2.2.1.30.3.844.84215045.185273099 = Gauge: 0

mplsTunnelRole

An LSR has one of three roles for a given tunnel:

  • Head

  • Midpoint

  • Tail

You can observe this on the CLI using show mpls traffic-eng summary, as demonstrated in Example 8-65.

Example 8-65. Determining the LSR Role for a Tunnel
mpls-12008a#show mpls traffic-eng tunnels summary
Signalling Summary:
    LSP Tunnels Process:            running
    RSVP Process:                   running
    Forwarding:                     enabled
    Head: 3 interfaces, 2 active signalling attempts, 2 established
          24 activations, 22 deactivations
    Midpoints: 1, Tails: 0
    Periodic reoptimization:        every 3600 seconds, next in 171 seconds
    Periodic FRR Promotion:         every 300 seconds, next in 171 seconds
    Periodic auto-bw collection:    disabled

You can obtain the same information via SNMP, as demonstrated in Example 8-66.

Example 8-66. Determining a Tunnel's LSR Role Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.31 (mplsTunnelRole)
95.2.2.1.31.1.0.84215045.185273099 = 1
95.2.2.1.31.1.519.50529027.202116108 = 2
95.2.2.1.31.2.0.84215045.202116108 = 1
95.2.2.1.31.2.302.84215045.202116108 = 1

From the output shown in Example 8-66, you can see three 1s (headend) and one 2 (midpoint), which agrees with the CLI output.

mplsTunnelTotalUpTime

This object refers to the amount of time that the tunnel has been operationally up. Example 8-67 shows the output of polling mplsTunnelTotalUpTime.

Example 8-67. Polling the mplsTunnelTotalUpTime Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.32
  (mplsTunnelTotalUpTime)
95.2.2.1.32.1.0.84215045.185273099 = Timeticks: (0) 0:00:00.00
95.2.2.1.32.1.519.50529027.202116108 = Timeticks: (0) 0:00:00.00
95.2.2.1.32.2.0.84215045.202116108 = Timeticks: (27305450) 3 days, 3:50:54.50
95.2.2.1.32.2.302.84215045.202116108 = Timeticks: (0) 0:00:00.00
95.2.2.1.32.3.0.84215045.185273099 = Timeticks: (21297744) 2 days, 11:09:37.44
95.2.2.1.32.3.844.84215045.185273099 = Timeticks: (0) 0:00:00.00

This corresponds to what you see in Example 8-68 using the CLI.

Example 8-68. Determining a Tunnel's Operational Uptime Via the Cisco IOS Software CLI
mpls-12008a#show mpls traffic-eng tunnels tunnel1

Name: Link Protection Tunnel (Backup)     (Tunnel1) Destination: 11.11.11.11
  Status:
    Admin: up         Oper: down   Path: not valid   Signalling: Down
    path option 5, type explicit backup

  Config Parameters:
    Bandwidth: 10000    kbps (Global)  Priority: 7  7   Affinity: 0x0/0xFFFF
    Metric Type: TE (default)
    AutoRoute:  disabled  LockDown: disabled  Loadshare: 10000    bw-based
    auto-bw: disabled

  Shortest Unconstrained Path Info:
    Path Weight: 2 (TE)
    Explicit Route: 10.0.13.16 10.0.7.11 11.11.11.11
  History:
    Tunnel:
      Time since created: 3 days, 3 hours, 51 minutes
    Path Option 5:
      Last Error: PCALC:: Can't use link 0.0.0.0 on node 5.5.5.5

mplsTunnelInstanceUpTime

This object is not currently supported in the Cisco IOS Software.

mplsTunnelAdminStatus

This object indicates a tunnel's administrative status. Example 8-69 shows the output of snmpwalk polling this variable.

Example 8-69. Polling the mplsTunnelAdminStatus Variable Using SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.34
  (mplsTunnelAdminStatus)
95.2.2.1.34.1.0.84215045.185273099 = 1
95.2.2.1.34.1.519.50529027.202116108 = 1
95.2.2.1.34.2.0.84215045.202116108 = 1
95.2.2.1.34.2.302.84215045.202116108 = 1
95.2.2.1.34.3.0.84215045.185273099 = 1
95.2.2.1.34.3.844.84215045.185273099 = 1

1 is up and 2 is down.

mplsTunnelOperStatus

This object indicates a tunnel's administrative status. Example 8-70 shows the output of polling this variable.

Example 8-70. Polling the mplsTunnelOperStatus Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.5 public .1.3.6.1.3.95.2.2.1.35
  (mplsTunnelOperStatus)
95.2.2.1.35.1.0.84215045.185273099 = 2
95.2.2.1.35.1.519.50529027.202116108 = 1
95.2.2.1.35.2.0.84215045.202116108 = 1
95.2.2.1.35.2.302.84215045.202116108 = 1
95.2.2.1.35.3.0.84215045.185273099 = 1
95.2.2.1.35.3.844.84215045.185273099 = 1

1 is up and 2 is down.

mplsTunnelHopTable

The HopTable specifies hops that constitute an explicitly defined path. Table 8-9 shows the organization of the objects defined for each entry of the table (mplsTunnelHopEntry).

Table 8-9. mplsTunnelHopEntry Organization
Object Syntax Access Description
mplsTunnelHopListIndex MplsPathIndex not-accessible Primary index into the HopListEntry table.
mplsTunnelHopPath OptionIndex MplsPathIndex not-accessible Secondary index into the HopListEntry table.
mplsTunnelHopIndex MplsPathIndex not-accessible Secondary index used to identify a hop.
mplsTunnelHopAddrType ipV4(1), ipV6(2), asNumber(3), lspid(4) read-create Address type of the tunnel hop.
mplsTunnelHopIpv4Addr InetAddressIPv4 read-create If mplsTunnelHopAddr Type is set to 1, mplsTunnelHopIpv4 Addr holds the IPv4 address of the current hop.
mplsTunnelHopIpv4 PrefixLen Unsigned32 read-create Prefix length of the IPv4 address. This is valid only if mplsTunnelHopAddrType is set to 1.
mplsTunnelHopIpv6Addr InetAddressIPv6 read-create If mplsTunnelHopAddr Type is set to 2, mplsTunnelHopIpv4 Addr holds an IPv6 address of the current hop.
mplsTunnelHopIpv6 PrefixLen Unsigned32 read-create If mplsTunnelHopAddr Type is set to ipV6(2), this value contains the prefix length for this hop's IPv6 address.
mplsTunnelHopAsNumber(3) Unsigned32 read-create Holds the AS number of the hop if mplsTunnelHopAddr Type is set to asNumber.
mplsTunnelHopLspId MplsLSPID read-create If mplsTunnelHopAddr Type is set to lspid(4), this value contains the LSPID of a tunnel of this hop.
mplsTunnelHopType strict(1), loose(2) read-create Denotes whether this tunnel hop is routed in a strict or loose fashion.
mplsTunnelHopInclude Exclude include(1), exclude(2) read-create Determines whether a hop is included or excluded in the CSPF calculation for that tunnel.
mplsTunnelHopPath OptionName DisplayString read-create Name of the path option.
mplsTunnelHopEntryPath Comp dynamic(1), explicit(2) read-create If set to dynamic, CSPF figures out the path. If set to explicit, the user specifies the path.
mplsTunnelHopRowStatus RowStatus read-create Used to create, modify, and/or delete a row in this table.
mplsTunnelHopStorage Type StorageType read-create Storage type for this object.

Walking the HopTable provides the same information as displaying the explicit path list using the CLI command show ip explicit-paths, as demonstrated in Example 8-71.

Example 8-71. Determining the Hops That Constitute an Explicitly Defined Path
mpls-7200a#show ip explicit-paths name primary
PATH primary (strict source route, path complete, generation 6)
    1: next-address 10.0.3.5
    2: next-address 10.0.5.11
    3: next-address 10.0.17.12
    4: next-address 12.12.12.12

The following sections describe the objects that constitute the HopTable. Coverage of the first three objects has been omitted because they are not accessible via SNMP.

mplsTunnelHopAddrType

This variable provides the tunnel hop's type of address. The possible values are

  • IPv4 (1)

  • IPv6 (2)

  • AS number (3)

  • LSPID (4)

In the current Cisco IOS Software implementation, all explicit paths are IPv4. Example 8-72 gives an example.

Example 8-72. Polling the mplsTunnelHopAddrType Variable Using SNMP
linux1>snmpwalk
							-t 500 7.1.5.4 public .1.3.6.1.3.95.2.4.1.4.1.5
  (mplsTunnelHopAddrType)
95.2.4.1.4.1.5.1 = 1
95.2.4.1.4.1.5.2 = 1
95.2.4.1.4.1.5.3 = 1
95.2.4.1.4.1.5.4 = 1

mplsTunnelHopIpv4Addr

This variable holds the actual IPv4 address of the hops, as demonstrated in Example 8-73.

Example 8-73. Polling the mplsTunnelHopIpv4Addr Variable Using SNMP
linux1>snmpwalk
							-t 500 7.1.5.4 public .1.3.6.1.3.95.2.4.1.5
  (mplsTunnelHopIpv4Addr)
95.2.4.1.5.1.5.1 =  Hex: 0A 00 03 05 (10.0.3.5)
95.2.4.1.5.1.5.2 =  Hex: 0A 00 05 0B (10.0.5.11)
95.2.4.1.5.1.5.3 =  Hex: 0A 00 11 0C (10.0.12.17)
95.2.4.1.5.1.5.4 =  Hex: 0C 0C 0C 0C (12.12.12.12)

mplsTunnelHopIpv4PrefixLen

This variable represents the prefix length. For IPv4, this is 32 (bits), as demonstrated in Example 8-74.

Example 8-74. Determining the Prefix Length for Tunnel Hop Addresses
linux1>snmpwalk
							-t 500 7.1.5.4 public .1.3.6.1.3.95.2.4.1.6
  (mplsTunnelHopIpv4PrefixLen)
95.2.4.1.6.1.5.1 = Gauge: 32
95.2.4.1.6.1.5.2 = Gauge: 32
95.2.4.1.6.1.5.3 = Gauge: 32
95.2.4.1.6.1.5.4 = Gauge: 32
95.2.4.1.6.1.6.1 = Gauge: 32

The prefix length is 32 because the IPv4 length is always 32, as specified in RFC 3209.

mplsTunnelHopType

This object represents the hop type, whether strict (1) or loose (2).

For the path list “primary” on 7200a, they are all strict hops, as demonstrated in Example 8-75.

Example 8-75. Determining Whether Tunnel Hops Are Strict or Loose
linux1>snmpwalk
							-t 500 7.1.5.4 public .1.3.6.1.3.95.2.4.1.11 (mplsTunnelHopType)
95.2.4.1.11.1.5.1 = 1
95.2.4.1.11.1.5.2 = 1
95.2.4.1.11.1.5.3 = 1
95.2.4.1.11.1.5.4 = 1
95.2.4.1.11.1.6.1 = 1

A value of 1 indicates a strict ERO subobject. This can be verified by the CLI output shown in Example 8-76.

Example 8-76. show ip explicit-paths Command Output on 7200a
mpls-7200a#show ip explicit-paths name primary detail
PATH primary (strict source route, path complete, generation 6)
    1: next-address 10.0.3.5
    2: next-address 10.0.5.11
    3: next-address 10.0.17.12
    4: next-address 12.12.12.12 (lasthop)

mplsTunnelHopIncludeExclude

Example 8-77 shows the next address, which is “include” by default. If you use “exclude,” it appears in the show command.

This variable determines whether to include or exclude this hop during CSPF:

  • Include (1)

  • Exclude (2)

For the path list “primary,” they should all be “include,” as demonstrated in Example 8-77.

Example 8-77. Polling the mplsTunnelHopIncludeExclude Variable Using SNMP
linux1> snmpwalk
							-t 500 7.1.5.4 public .1.3.6.1.3.95.2.4.1.12
  (mplsTunnelHopIncludeExclude)
95.2.4.1.12.1.5.1 = 1
95.2.4.1.12.1.5.2 = 1
95.2.4.1.12.1.5.3 = 1
95.2.4.1.12.1.5.4 = 1
95.2.4.1.12.1.6.1 = 1

mplsTunnelHopPathOptionName

This refers to the path option for which the path list applies. You can check the path-option statement in the tunnel interface in the output of Example 8-78.

Example 8-78. Checking for the path-option Number Under the tunnel1 Configuration of 7200a
7200a#show running-config interface tunnel1
interface Tunnel1
 description Primary tunnel 7200a->12008a->12008c->7200c
 ip unnumbered Loopback0
 no ip directed-broadcast
 no ip route-cache cef
 tunnel destination 12.12.12.12
 tunnel mode mpls traffic-eng
 tunnel mpls traffic-eng autoroute announce
 tunnel mpls traffic-eng priority 7 7
 tunnel mpls traffic-eng bandwidth  100
 tunnel mpls traffic-eng path-option 5 explicit name primary
 tunnel mpls traffic-eng path-option 6 dynamic
 tunnel mpls traffic-eng record-route
 tunnel mpls traffic-eng fast-reroute

The variable should hold the value 5, as demonstrated in Example 8-79.

Example 8-79. Polling the mplsTunnelHopPathOptionName Variable Via SNMP
linux1>snmpwalk
							-t 500 7.1.5.4 public .1.3.6.1.3.95.2.4.1.13
  (mplsTunnelHopPathOptionName)
95.2.4.1.13.1.5.1 = 5
95.2.4.1.13.1.5.2 = 5
95.2.4.1.13.1.5.3 = 5
95.2.4.1.13.1.5.4 = 5
95.2.4.1.13.1.6.1 = 5
						

mplsTunnelResourceTable

You can specify tunnel resources such as MaxRate, MinRate, and burst using ResourceTable so that these attributes can be shared by several tunnels. The mplsTunnelResourceTable contains mplsTunnelResourceEntry.

Table 8-10 shows the organization of the mplsTunnelResourceEntry table.

Table 8-10. Organization of Objects in the mplsTunnelResourceEntry Table
Object Syntax Access Description
mplsTunnelResourceIndex Unsigned32 not-accessible Uniquely identifies an entry in this table.
mplsTunnelResourceMaxRate MplsBitRate read-create Maximum rate in bps.
mplsTunnelResourceMeanRate MplsBitRate read-create Mean rate in bps.
mplsTunnelResourceMaxBurstSize MplsBurstSize read-create Maximum burst size in bytes.
mplsTunnelResourceMeanBurstSize MplsBurstSize read-create Mean burst size in bytes.
mplsTunnelResourceExcessBurstSize MplsBurstSize read-create Excess burst size in bytes. Comes from CR-LDP. Is not currently supported by Cisco IOS Software.
mplsTunnelResourceFrequency unspecified(1), frequent(2), veryFrequent(3) read-create Granularity of the availability of the committed rate. Comes from CR-LDP. Is not currently supported by Cisco IOS Software.
mplsTunnelResourceWeight Unsigned32 (0…255) read-create Relative weight for using excess bandwidth above its committed rate. Comes from CR-LDP. Is not currently supported by Cisco IOS Software.
mplsTunnelResourceRowStatus RowStatus read-create Used to create, modify, and/or delete a row in this table.
mplsTunnelResourceStorageType StorageType read-create Indicates the storage type for this object.

The values of these variables correspond to the ones seen using the CLI command show mpls traffic-eng tunnels, as demonstrated in Example 8-80.

Example 8-80. Determining Tunnel Resources in Use
7200a#show mpls traffic-eng tunnels tunnel1
...
RSVP Path Info:
      My Address: 4.4.4.4
      Explicit Route: 10.0.3.5 10.0.5.11 10.0.17.12 12.12.12.12
      Record   Route:
      Tspec: ave rate=100 kbits, burst=1000 bytes, peak rate=100 kbits
...

Using SNMP, you get the results shown in Example 8-81.

Example 8-81. Polling the mplsTunnelResourceEntry Table Via SNMP
linux1> snmpwalk
						-t 500 7.1.5.4 public .1.3.6.1.3.95.2.6 (mplsTunnelResourceEntry)
95.2.6.1.2.1642132836 = 100000 (mplsTunnelResourceMaxRate)
95.2.6.1.3.1642132836 = 100000 (mplsTunnelResourceMeanRate)
95.2.6.1.4.1642132836 = 1000 (mplsTunnelResourceMaxBurstSize)
95.2.6.1.5.1642132836 = 1 (mplsTunnelResourceMeanBurstSize)
95.2.6.1.6.1642132836 = 5 (mplsTunnelResourceExcessBurstSize)

NOTE

Remember from Chapter 4 that these values are not enforced in the forwarding plane, they are merely signalled in the control plane.


..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.161.222