This section contains several MPLS troubleshoot procedures.
Verify That Routing Protocol Runs
Issue the show ip protocols command in order to display the parameters and current state of the active routing protocol process:
Pomerol# show ip protocols
Routing Protocol is "ospf 1"
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Router ID 10.10.10.3
Number of areas in this router is 1. 1 normal 0 stub 0 nssa
Maximum path: 4 Routing for Networks:
10.1.1.0 0.0.0.255 area 9
10.10.10.0 0.0.0.255 area 9
Routing Information Sources:
Gateway Distance Last Update
10.10.10.2 110 10:41:55
10.10.10.3 110 10:41:55
10.10.10.1 110 10:41:55
10.10.10.6 110 10:41:55
10.10.10.4 110 10:41:55
10.10.10.5 110 10:41:55
Distance: (default is 110)Ensure that the protocol routes for the MPLS network and all neighbors are present. You can also issue the show ip route command in order to verify the routing table:
Pomerol# show ip route
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - ISIS, L1 - ISIS level-1, L2 - ISIS level-2, ia - ISIS inter area
* - candidate default, U - per-user static route, o - ODR
Gateway of last resort is 10.200.28.1 to network 0.0.0.0
10.0.0.0/8 is variably subnetted, 13 subnets, 3 masks
C 10.1.1.8/30 is directly connected, Serial0/1.2
O 10.1.1.12/30 [110/390] via 10.1.1.5, 15:26:38, Serial0/1.1
O 10.10.10.2/32 [110/196] via 10.1.1.10, 15:26:38, Serial0/1.2
C 10.10.10.3/32 is directly connected, Loopback0
O 10.1.1.0/30 [110/390] via 10.1.1.5, 15:26:38, Serial0/1.1
[110/390] via 10.1.1.10, 15:26:38, Serial0/1.2
O 10.10.10.1/32 [110/196] via 10.1.1.5, 15:26:38, Serial0/1.1
O 10.10.10.6/32 [110/98] via 10.1.1.22, 15:26:38, Serial0/1.3
O 10.10.10.4/32 [110/391] via 10.1.1.5, 15:26:38, Serial0/1.1
C 10.1.1.4/30 is directly connected, Serial0/1.1
C 10.1.1.20/30 is directly connected, Serial0/1.3If the routers or routes are not present, investigate the routing protocol process. Refer to the OSPF Support Page in order to investigate the routing protocol process.
Verify CEF Switching
Issue the show ip cef summary command in order to display specific entries in the Forwarding Information Base (FIB) with IP address information as a basis. This output shows Normal status:
Pomerol# show ip cef summary
IP CEF with switching (Table Version 131), flags=0x0, bits=8
32 routes, 0 reresolve, 0 unresolved (0 old, 0 new)
32 leaves, 18 nodes, 23004 bytes, 125 inserts, 93 invalidations
1 load sharing elements, 336 bytes, 1 references
universal per-destination load sharing algorithm, id B642EBCF
1 CEF resets, 6 revisions of existing leaves
6 in-place modifications
refcounts: 4909 leaf, 4864 nodeIssue the show ip cef and show ip cef interface commands in order to verify CEF status. If CEF has not been enabled, nothing appears:
Pomerol# show ip cef
%CEF not running
Prefix Next Hop InterfaceRefer to the Cisco Express Forwarding Overview if you continue to have problems with the enablement of CEF.
Verify MPLS
Issue the show mpls interfaces command in order to ensure that MPLS is globally enabled. This command also verifies that a Label Distribution Protocol (LDP) runs on the requested interfaces:
Pomerol# show mpls interfaces
Interface IP Tunnel Operational
(...)
Serial0/1.1 Yes (tdp) Yes Yes
Serial0/1.2 Yes Yes No
Serial0/1.3 Yes (tdp) Yes Yes
(...)
Ping the Neighbors
An unlabeled connection must be up between each pair of router neighbors. The routing protocol and the LDP use the unlabeled connection to build the routing table and the label forwarding information base (LFIB).
Pomerol# ping 10.10.10.6
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 56/56/60 msVerify Label Distribution
Issue the show tag-switching tdp discovery command in order to display the discovered neighbors:
Pomerol# show tag-switching tdp discovery
Local TDP Identifier:
10.10.10.3:0
Discovery Sources:
Interfaces:
Serial0/1.1 (tdp): xmit/recv
TDP Id: 10.10.10.1:0
Serial0/1.2 (tdp): xmit/recv
TDP Id: 10.10.10.2:0
Serial0/1.3 (tdp): xmit/recv
TDP Id: 10.10.10.6:0In the show tag-switching tdp discovery command output, the use of TDP binds labels with routes. If any of the presumed neighbors is not present and you cannot ping the presumed neighbor, a connectivity problem exists and the LDP cannot run. If LDP runs correctly, it assigns one label per forwarding equivalent class.
Note: If the router ID for the LDP cannot be reached from the global routing table, the neighbor relationship fails to establish.
Verify Label Bindings
Issue the show tag-switching tdp bindings command in order to ensure the assignment of labels to each destination. You can use commands such as the show tag-switching forwarding-table {ip address | prefix} detail command in order to verify the different routes and the labels associated with the routes.
The output that this section shows contains label bindings for 10.10.10.x/32 networks, which are the interfaces of each label switch router (LSR):
Note: There are multiple labels for each LSR. Each label corresponds to a different path.
Pomerol# show tag-switching tdp bindings
(...)
tib entry: 10.10.10.1/32, rev 31
local binding: tag: 18
remote binding: tsr: 10.10.10.1:0, tag: imp-null
remote binding: tsr: 10.10.10.2:0, tag: 18
remote binding: tsr: 10.10.10.6:0, tag: 21
tib entry: 10.10.10.2/32, rev 22
local binding: tag: 17
remote binding: tsr: 10.10.10.2:0, tag: imp-null
remote binding: tsr: 10.10.10.1:0, tag: 19
remote binding: tsr: 10.10.10.6:0, tag: 22
tib entry: 10.10.10.3/32, rev 2
local binding: tag: imp-null
remote binding: tsr: 10.10.10.2:0, tag: 17
remote binding: tsr: 10.10.10.1:0, tag: 20
remote binding: tsr: 10.10.10.6:0, tag: 23
tib entry: 10.10.10.4/32, rev 40
local binding: tag: 20
remote binding: tsr: 10.10.10.1:0, tag: 16
remote binding: tsr: 10.10.10.2:0, tag: 20
remote binding: tsr: 10.10.10.6:0, tag: 24
tib entry: 10.10.10.5/32, rev 44
local binding: tag: 22
remote binding: tsr: 10.10.10.1:0, tag: 17
remote binding: tsr: 10.10.10.2:0, tag: 22
remote binding: tsr: 10.10.10.6:0, tag: 25
tib entry: 10.10.10.6/32, rev 48
local binding: tag: 23
remote binding: tsr: 10.10.10.6:0, tag: imp-null
remote binding: tsr: 10.10.10.1:0, tag: 22
remote binding: tsr: 10.10.10.2:0, tag: 24
(...)
Pomerol# show tag-switching forwarding-table 10.10.10.4 detail
Local Outgoing Prefix Bytes
tag Outgoing Next Hoptag tag or VC or Tunnel Id switched interface
20 16 10.10.10.4/32 0 Se0/1.1 point2point
MAC/Encaps=4/8, MTU=1500, Tag Stack{16}
48D18847 00010000
No output feature configured
Per-packet load-sharingVerify That Labels Are Set
Use the debug mpls packet command or the MPLS-aware traceroute command functionality in order to make sure that the labels are set.
Pesaro# traceroute 10.10.10.4
Type escape sequence to abort.
Tracing the route to 10.10.10.4
1 10.1.1.21 [MPLS: Label 20 Exp 0] 272 msec 268 msec 300 msec
2 10.1.1.5 [MPLS: Label 16 Exp 0] 228 msec 228 msec 228 msec
3 10.1.1.14 92 msec * 92 msec
Saturday, April 12, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment