Convergence in a Frame Mode MPLS Network
An important aspect in MPLS network design is the convergence time of the network. Some MPLS applications (for example, an MPLS/VPN or BGP design based on MPLS) do not work correctly unless a labeled packet can be sent all the way through from the ingress Edge-LSR to the egress Edge-LSR. In these applications, the convergence time needed by an Interior Gateway Protocol (IGP) to converge around a failure in the core network could be increased by the label propagation delay.
In a Frame-mode MPLS network, using liberal retention mode in combination with independent label control and unsolicited downstream label distribution minimizes the TDP/LDP convergence delay. Every router using liberal retention mode usually has label assignments for a given prefix from all its TDP/LDP neighbors, so it can always find a proper outgoing label following the routing table convergence without asking its new next-hop router for the label assignment.
NOTE Unfortunately the immediate TDP/LDP convergence happens only when a link fails. When a link is reestablished, the IGP adjacency and convergence usually happens before the TDP adjacency is set up and the labels are exchanged, resulting in the temporary incapability to forward labeled packets until the labels are exchanged.
The next set of examples, based on a failure scenario (the link between Washington and San Francisco fails) in the SuperNet network, illustrate the immediate convergence. The examples observe only the route toward network 192.168.100.2/32, which is attached to the New York router.
The show command printouts (see Example C-14) in the initial state indicate that the target route is reachable through interface Serial0/0/1 through next-hop 172.16.3.1.
Example C-14 TDP, LFIB, and FIB Entries Prior to Link failure
|
SanFrancisco#show tag-switching tdp binding 192 |
.168.100.2 |
32 |
||
|
tib entry: 192.168.100.2/32, rev 10 |
||||
|
local binding: tag: 28 |
||||
|
remote binding: tsr: 172.16.2.1:0, |
tag: |
28 |
||
|
remote binding: tsr: 172.16.3.1:0, |
tag: |
32 |
||
|
SanFrancisco#show tag-switching forwarding |
192. |
168.100.2 |
||
|
Local Outgoing Prefix Bytes |
tag |
Outgoing |
Next Hop tag |
tag or VC or |
|
Tunnel Id switched interface |
||||
|
28 32 192.168.100.2/32 0 |
Se0/0/1 |
point2point |
||
|
SanFrancisco#show ip cef 192.168.100.2 |
||||
|
192.168.100.2/32, version 76, attached |
||||
|
0 packets, 0 bytes |
||||
|
tag information set, shared, unshareable |
||||
|
local tag: 28 |
||||
|
via Serial0/0/1, 9 dependencies |
||||
|
valid adjacency |
||||
|
tag rewrite with Se0/0/1, point2point, |
tags |
imposed: |
{32} |
|
Immediately following the link failure, the LFIB is scanned to clean up any entries that used the failed interface as the outgoing interface (see Example C-15).
Example C-15 LFIB Scan Following a Link Failure
SanFrancisco#sh debug IP routing:
IP routing debugging is on Tag Switching:
TDP Tag Information Base (TIB) changes debugging is on
TDP tag and address advertisements debugging is on
Cisco Express Forwarding related TFIB services debugging is on
SanFrancisco#
3d03h: %LINK-5-CHANGED: Interface Serial0/0/1, changed state to down
3d03h: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/1, changed state to down 3d03h: TFIB: fib scan start:needed:1,unres:0,mac:0,mtu:0,loadinfo:0,scans aborted 0
continues
Example C-15 LFIB Scan Following a Link Failure (Continued)
3d03h: TFIB: fib check cleanup for 192.168.100.2/32,index=0,return_value=0
3d03h: TFIB: fib_scanner_walk,reslve path 0 of 192.168.100.2/32
3d03h: TFIB: resolve tag rew,prefix=192.168.100.2/32,has tag_info,no parent
3d03h: TFIB: finish fib res 192.168.100.2/32:index 0,parent outg tag no parent
3d03h: TFIB: set fib rew: pfx 192.168.100.2/32,index=0,add=1,tag_rew->adj=Serial 0/ 0/1
3d03h: TFIB: Update TFIB for 192.168.100.2/32, fib no loadinfo, tfib no loadinfo, per_pkt,resolved=1
3d03h: TFIB: fib scanner end
The failed interface then is removed from the routing table and the associated routes are removed from the IP routing table. Because no alternative equal-cost route toward 192.168.100.2/32 currently exists, the route is removed completely from the routing table and the associated entry is deleted from the LFIB (see Example C-16).
Example C-16 Routing Table and LFIB Cleanup
|
3d03h |
RT: interface Serial0/0/1 removed from routing table |
|
|
3d03h |
RT: delete route to 192.168.100.2 via 0.0.0.0, Serial0/0/1 |
|
|
3d03h |
RT: no routes to 192.168.100.2, flushing |
|
|
3d03h |
TFIB: tfib_fib_delete,192.168.100.2/32,fib->count=1 |
|
|
3d03h |
TFIB: fib complete delete: prefix=192.168.100.2/32,inc tag=28 |
del info=1 |
|
3d03h |
TFIB: deactivate tag rew for 192.168.100.2/32,index=0 |
|
|
3d03h |
TFIB: Update TFIB for 192.168.100.2/32, fib no loadinfo, tfib |
no loadinfo, |
|
per_ |
pkt,resolved=0 |
|
|
3d03h |
TFIB: set fib rew: pfx 192.168.100.2/32,index=0,add=0,tag_rew |
>adj=Serial 0/0/1 |
An alternate route to 192.168.100.2 goes through the Denver router. The OSPF process immediately installs the alternate route in the routing table. Corresponding CEF and LFIB entries are created and the LFIB entry gets the label assigned by 172.16.2.1 (the Denver router) as its outgoing label. The new LFIB entry is installed without any TDP/LDP interaction with any TDP/LDP neighbors (see Example C-17).
Example C-17 Alternate Route Is Installed in the Routing Table
3d03h: RT: add 192.168.100.2/32 via 172.16.2.1, ospf metric [110/21] 3d03h: TFIB: post table chg,ROUTE_UP 192.168.100.2/32,loadinfo ct=1 3d03h: TFIB: find_rt_tgs,192.168.100.2/32,meth 1,res_next_hop=172.16.2.1, Se0/0/2, next_hop 172.16.2.1
3d03h: TFIB: route tag chg 192.168.100.2/32,idx=0,inc=28,outg=28,enabled=0x1 3d03h: TFIB: create tag info 192.168.100.2/32,inc tag=28,has no info 3d03h: TFIB: resolve tag rew,prefix=192.168.100.2/32,has tag_info,no parent 3d03h: TFIB: finish fib res 192.168.100.2/32:index 0,parent outg tag no parent 3d03h: TFIB: set fib rew: pfx 192.168.100.2/32,index=0,add=1,tag_rew->adj=FastEt hernet0/0 3d03h: TFIB: Update TFIB for 192.168.100.2/32, fib no loadinfo, tfib no loadinfo, per_pkt,resolved=1
As the last step, all entries from the TDP neighbor 172.16.3.1 (the Washington router), which is no longer reachable, are removed from the Label Information Base (see Example C-18).
Example C-18 LIB Entries Received from Washington Router Are Removed
3d03h: tagcon: tibent(192.168.100.2/32): rem tag 1 from 172.16.3.1:0 removed 3d03h: tagcon: no route_tag_change for: 192.168.100.2/32
for tsr 172.16.3.1:0: tsr is not next hop 3d03h: TFIB: resolve recursive: share rewrite of parent 192.168.100.2/32
Continue reading here: Penultimate Hop Popping
Was this article helpful?