IOS XE 15.5
IOS XR 5.3
The topology for this demo:
In this post, we will begin taking customer traffic and mapping it to the TE tunnel. There are several options available, so we'll take the first option, which you have seen in previous posts, static routing. Super simple to implement, relatively easy to verify, we'll take a look at both IOS and IOS XR for all of our examples.
Static routing for TE tunnels is the simplest, effectively you are telling the TE headend how to get to the PE remote end. R3 will be sending traffic to XR1, remember that TE tunnels are unidirectional in nature. I have used TE tunnels from previous posts to leverage in this and future ones. I won't focus on tunnel creation but more on the steering of traffic over the tunnel. The tunnel we want to use is up and operational.
mpls traffic-eng lsp attributes DUAL_COLOR
affinity 0x11 mask 0x11
interface Tunnel3
ip unnumbered Loopback0
tunnel mode mpls traffic-eng
tunnel destination 192.168.1.11
tunnel mpls traffic-eng path-option 3 dynamic attributes DUAL_COLOR
ip route 192.168.1.13 255.255.255.255 Tunnel3
R3#show mpls traffic-eng tunnels tunnel 3
Name: R3_t3 (Tunnel3) Destination: 192.168.1.11
Status:
Admin: up Oper: up Path: valid Signalling: connected
path option 3, type dynamic (Basis for Setup, path weight 2)
!
RSVP Path Info:
My Address: 10.14.3.3
Explicit Route: 10.14.3.14 10.11.14.14 10.11.14.11 192.168.1.11
As we can see, the tunnel is up and working, pointing to XR1 in this case.
R3#sh ip route 192.168.1.11
Routing entry for 192.168.1.11/32
Known via "static", distance 1, metric 0 (connected)
Routing Descriptor Blocks:
directly connected, via Tunnel3
Route metric is 0, traffic share count is 1
Since we have configured a static route to steer traffic over the TE tunnel, we have an exit interface of Tunnel 3.
R3#sh ip cef 192.168.1.11 detail
192.168.1.11/32, epoch 2, flags [attached], per-destination sharing
local label info: global/30
3 RR sources [non-eos indirection, heavily shared]
attached to Tunnel3
We see that the CEF table has allocated a global label of 30 and an exit of Tunnel3.
R3#sh mpls forwarding-table labels 30 detail
Local Outgoing Prefix Bytes Label Outgoing Next Hop
Label Label or Tunnel Id Switched interface
30 Pop Label 192.168.1.11/32 0 Tu3 point2point
MAC/Encaps=18/22, MRU=1500, Label Stack{24011}, via Gi1.143
000C29769933000C290626448100008F8847 05DCB000
No output feature configured
Per-destination load-sharing, slots: 0 2 4 6 8 10 12 14
The transport label we'll use is 24011 to get to XR4. We'll do an MPLS traceroute to see if the core is correct.
R3#traceroute mpls traffic-eng tunnel 3
Type escape sequence to abort.
0 10.14.3.3 MRU 1500 [Labels: 24011 Exp: 0]
L 1 10.14.3.14 MRU 1500 [Labels: implicit-null Exp: 0] 9 ms
! 2 10.11.14.11 8 ms
The core trace looks good. let's verify from R8 to R12.
R8#sh ip route vrf BGP 12.12.12.12
Routing Table: BGP
Routing entry for 12.12.12.12/32
Known via "bgp 8", distance 20, metric 0
Tag 50693, type external
Last update from 83.0.0.3 00:00:12 ago
Routing Descriptor Blocks:
* 83.0.0.3, from 83.0.0.3, 00:00:12 ago
Route metric is 0, traffic share count is 1
AS Hops 2
Route tag 50693
MPLS label: none
We can see that normal BGP route propagation is working as expected. We see a route to R12's lo12121212 in R8's VRF BGP RIB.
R8#traceroute vrf BGP 12.12.12.12 source 8.8.8.8
Type escape sequence to abort.
Tracing the route to 12.12.12.12
VRF info: (vrf in name/id, vrf out name/id)
1 83.0.0.3 3 msec 1 msec 0 msec
2 10.14.3.14 [MPLS: Labels 24011/24027 Exp 0] 8 msec 5 msec 6 msec
3 10.11.14.11 [MPLS: Label 24027 Exp 0] 5 msec 17 msec 20 msec
4 112.0.0.12 24 msec * 10 msec
Seeing label 24011 as the transport label shows us that the TE tunnel is being used.
Thanks for stopping by!
Rob Riker, CCIE #50693
No comments:
Post a Comment