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.
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.
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.
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.
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.
This object represents the tunnel's name. Example 8-28 shows the output generated from the CLI command show ip interface brief.
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.
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 = "" |
Example 8-30 shows the free text you would enter for the interface description.
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.
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)" |
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.
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 |
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.
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.
linux1>snmpget -t 500 7.1.5.5 public interfaces.iftable.ifentry.ifdescr.44 (ifDescr) interfaces.ifTable.ifEntry.ifDescr.44 = Tunnel1 |
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).
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.
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.
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.
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 |
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.
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.
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 |
This object indicates the holding priority for this tunnel. Again, this should be 7, as shown in Example 8-40.
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 |
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.
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 |
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.
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 |
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.
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 |
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.
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 |
This object is not currently implemented in Cisco IOS Software.
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.
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 |
This points to the ARHopTable, which is the hops reported by the signalling protocol—RSVP in the case of Example 8-46.
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.
This index points to the CHopTable, which contains the hops as computed by CSPF. Example 8-47 shows the output of polling this variable.
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.
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.
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.
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.
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.
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.
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 |
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.
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.
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 |
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.
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.
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.
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.
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.
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.
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.
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.
This object is not implemented on the Cisco routers.
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.
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.
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 |
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.
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 |
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.
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.
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 |
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.
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.
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.
This object refers to the amount of time that the tunnel has been operationally up. Example 8-67 shows the output of polling mplsTunnelTotalUpTime.
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.
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 |
This object is not currently supported in the Cisco IOS Software.
This object indicates a tunnel's administrative status. Example 8-69 shows the output of snmpwalk polling this variable.
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.
This object indicates a tunnel's administrative status. Example 8-70 shows the output of polling this variable.
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.
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).
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.
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.
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.
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 |
This variable holds the actual IPv4 address of the hops, as demonstrated in Example 8-73.
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) |
This variable represents the prefix length. For IPv4, this is 32 (bits), as demonstrated in Example 8-74.
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.
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.
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.
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) |
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.
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 |
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.
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.
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 |
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.
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.
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.
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.
3.137.161.222