LTRARC-2002 Introduction to IOS-XR Lab Guide - Cisco Live

106
1 | Page LTRARC-2002 Introduction to IOS XR Lab Guide LTRARC-2002 Introduction to IOS-XR Lab Guide Speakers: Rajesh Patki Mohamed Ali

Transcript of LTRARC-2002 Introduction to IOS-XR Lab Guide - Cisco Live

1 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

LTRARC-2002

Introduction to IOS-XR Lab Guide

Speakers:

Rajesh Patki

Mohamed Ali

2 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Disclaimer This training document is to familiarize with IOS-XR. Although the lab design and configuration examples could be used as a

reference, it’s not a real design, thus not all recommended features are used, or enabled optimally. For the design related

questions please contact your representative at Cisco, or a Cisco partner.

3 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Disclaimer ............................................................................................................................................. 2

Topology: .............................................................................................................................................. 4

Accessing the Lab................................................................................................................................... 5

Basic Configuration commands: ............................................................................................................. 7

Static Routes ........................................................................................................................................16

Open Shortest Path First (OSPF) ............................................................................................................19

BGP Configuration ................................................................................................................................25 IBGP Peering ..................................................................................................................................................25 Neighbor Groups ...........................................................................................................................................29 EBGP Peering .................................................................................................................................................32

Basic Route Policy Language .................................................................................................................42 Blocking based off Prefixes .............................................................................................................................42 Blocking based off AS-PATH ...........................................................................................................................53

MPLS Configuration ..............................................................................................................................62

MPLS L3VPN (Optional) .........................................................................................................................68 Local VRF Configuration .................................................................................................................................68

BGP VPNv4 Configuration (Optional) .....................................................................................................74 BGP PE-CE Configuration ................................................................................................................................79

MPLS Traffic Engineering (Optional) ......................................................................................................86

Dynamic Path (Optional) .......................................................................................................................88

Explicit Path (Optional) .........................................................................................................................91

Advanced RPLs (Optional) .....................................................................................................................97 Multiple Action Policies .................................................................................................................................97

Nested Policies (Optional) ................................................................................................................... 102

4 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Topology:

IP Addresses are preconfigured. All routers except XR1 and XR2 have been pre-configured. Configuration will be done on IOS-XR routers only (XR1-XR2)

Host Loopback IP

XR1 192.168.1.1

XR2 192.168.2.2

RR-1 192.168.100.100

AS 10010.13.1.0/24

A

g0/0/0/0

g0/0/0/3

10.23.1.0/24

q

AS 2000

g0/0/0/3

AS 1100 AS 1200

g0/0/0/0

100.64.1.0/24

100.

64.1

1.0/

24

100.

64.2

.0/2

4

100.64.22.0/24

XR1 XR2

g0/1

g0/0/0/1

g0/0/0/2 g0/0/0/2

192.168.1.0/24

g0/0/0/1

g0/2

g0/1 g0/2

RR-1

g0/1.10

g0/1.20

172.16.1.0/24

BGP

OSPF

g0/1.10

g0/1.20

BGP

OSPF

g0/1

g0/2

g0/0/0/4.10 g0/0/0/4.10

g0/0/0/4.20 g0/0/0/4.20

192.168.2.0/24

172.16.2.0/24MP

LS

L

3V

PN

MP

LS

L

3VP

N

10.12.1.0/24

5 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Accessing the Lab The lab is hosted by Cisco’s dCloud environment that provides training, labs, and demonstrations for almost any Cisco technology for Cisco customers. More information can be found at http://dcloud.cisco.com or on Twitter @ciscodcloud This lab is only available to attendees of this CiscoLive class.

1. Access to the lab is obtained by launching Anyconnect and connecting to: dcloud-lon-anyconnect.cisco.com Your instructor will provide you with your username and credentials that are unique to your pod. After authenticating, please click on ‘Ok’ to finalize the VPN connection to Dcloud.

2. Initiate a remote desktop session to the Dcloud workstation 198.18.133.36. Click on the

start button and type in mstsc /v:198.18.133.36

You will be prompted for user credentials. Use the username: WKST1\demo and the password: C1sco12345

6 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

If a different username is shown than above, click on use another account and type in the appropriate username.

Launch PuttyCM icon on your desktop

7 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Basic Configuration commands: Task Objective:

Using XR1 perform the following tasks

Demonstrate changes around the interface and route statements Demonstrate various parsing elements Demonstrate ‘commit’, ‘commit replace’ and ‘rollback’ feature of IOS-XR. Check the commit points and verify config rollbacks. Demonstrate the usage of using files for pre-loading changes. Understand the use of ‘pwd’ and ‘root’ command At the end of this exercise, you would be able to configure and back out configuration.

Step 1. Show the existing IPv4 addresses

show ip interface brief show ipv4 interface brief

Username: cisco Password: cisco RP/0/0/CPU0:XR1# show ip interface brief Interface IP-Address Status Protocol Loopback0 192.168.1.1 Up Up GigabitEthernet0/0/0/0 10.12.1.1 Up Up GigabitEthernet0/0/0/1 10.13.1.1 Up Up GigabitEthernet0/0/0/2 100.64.1.254 Up Up GigabitEthernet0/0/0/3 100.64.11.254 Up Up GigabitEthernet0/0/0/4 unassigned Shutdown Down RP/0/0/CPU0:XR1# show ipv4 int brief Interface IP-Address Status Protocol Loopback0 192.168.1.1 Up Up GigabitEthernet0/0/0/0 10.12.1.1 Up Up GigabitEthernet0/0/0/1 10.13.1.1 Up Up GigabitEthernet0/0/0/2 100.64.1.254 Up Up GigabitEthernet0/0/0/3 100.64.11.254 Up Up GigabitEthernet0/0/0/4 unassigned Shutdown Down

Note: Some commands in IOS-XR require you to specify IPv4/IPv6

8 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 2. Show the IPv4 routing table

show route RP/0/0/CPU0:XR1# show route Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path 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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path Gateway of last resort is not set C 10.12.1.0/24 is directly connected, 13:20:53, GigabitEthernet0/0/0/0 L 10.12.1.1/32 is directly connected, 13:20:53, GigabitEthernet0/0/0/0 C 10.13.1.0/24 is directly connected, 13:20:53, GigabitEthernet0/0/0/1 L 10.13.1.1/32 is directly connected, 13:20:53, GigabitEthernet0/0/0/1 C 100.64.1.0/24 is directly connected, 13:20:53, GigabitEthernet0/0/0/2 L 100.64.1.254/32 is directly connected, 13:20:53, GigabitEthernet0/0/0/2 C 100.64.11.0/24 is directly connected, 13:20:53, GigabitEthernet0/0/0/3 L 100.64.11.254/32 is directly connected, 13:20:53, GigabitEthernet0/0/0/3 L 192.168.1.1/32 is directly connected, 13:20:53, Loopback0

Step 3. Demonstrate parsing elements Show the running configuration but including only ‘ipv4’ addresses and the interface names. By executing the command

show run | include "interface|ipv4" RP/0/0/CPU0:XR1# show run | include interface|ipv4 ^ % Invalid input detected at '^' marker. RP/0/0/CPU0:XR1# show run | include "interface|ipv4" Building configuration... telnet vrf default ipv4 server max-servers 10 address-family ipv4 unicast interface Loopback0 ipv4 address 192.168.1.1 255.255.255.255 interface MgmtEth0/0/CPU0/0 ipv4 address 198.18.1.10 255.255.255.0 interface GigabitEthernet0/0/0/0 ipv4 address 10.12.1.1 255.255.255.0 interface GigabitEthernet0/0/0/1 ipv4 address 10.13.1.1 255.255.255.0 interface GigabitEthernet0/0/0/2 ipv4 address 100.64.1.254 255.255.255.0 interface GigabitEthernet0/0/0/3 ipv4 address 100.64.11.254 255.255.255.0 interface GigabitEthernet0/0/0/4 address-family ipv4 unicast

9 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1#

Unlike IOS, IOS-XR support true Boolean filtering, and as can be seen in the output above, multiple arguments require them to be surrounded by quotation marks. Step 4. Additional parsing utilities IOS-XR also provides other parsing utilities as illustrated in the output below RP/0/0/CPU0:XR1# show run | ? begin Begin with the line that matches exclude Exclude lines that match file Save the configuration include Include lines that match utility A set of common unix utilities <cr> Shows current operating configuration RP/0/0/CPU0:XR1# show run | utility ? cut Cut out selected fields of each line of a file egrep Extended regular expression grep fgrep Fixed string expression grep head Show set of lines/characters from the top of a file less Fixed string pattern matching more Paging Utility More script Launch a script for post processing sort Sort, merge, or sequence-check text files tail Copy the last part of files uniq Report or filter out repeated lines in a file wc Counting lines/words/characters of a file xargs Construct argument list(s) and invoke a program

10 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 5. Change Hostname Configuration

config t hostname CiscoLive_2020 commit end

RP/0/0/CPU0:XR1# config t RP/0/0/CPU0:XR1(config)# hostname CiscoLive_2020 RP/0/0/CPU0:XR1(config)# commit RP/0/0/CPU0:Jan 23 13:22:59.959 : config[65740]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'cisco'. Use 'show configuration commit changes 1000000001' to view the changes. RP/0/0/CPU0:CiscoLive_2020(config)# end RP/0/0/CPU0:CiscoLive_2020#

We’ve highlighted the hostname before (XR1) and after the change (CiscoLive_2020) along with the change-id (1000000001). Step 6. Find Configuration Commit ID

show configuration commit list RP/0/0/CPU0:CiscoLive_2020# show configuration commit list Wed Jan 23 13:25:56.367 UTC SNo. Label/ID User Line Client Time Stamp ~~~~ ~~~~~~~~ ~~~~ ~~~~ ~~~~~~ ~~~~~~~~~~ 1 1000000001 cisco con0_0_CPU0 CLI Wed Jan 23 13:22:59 2020 RP/0/0/CPU0:CiscoLive_2020#

Note: Latest commit changes show up on top

Step 7. Look at the last configuration change

show configuration commit changes last 1 RP/0/0/CPU0:CiscoLive_2020# show configuration commit changes last 1 Building configuration... !! IOS XR Configuration 5.3.2 hostname CiscoLive_2020 end RP/0/0/CPU0:CiscoLive_2020#

11 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 8. Revert back to original configuration

rollback configuration last 1

show configuration commit list

RP/0/0/CPU0:CiscoLive_2020# rollback configuration last 1 Loading Rollback Changes. Loaded Rollback Changes in 1 sec Committing. 1 items committed in 1 sec (0)items/sec Updating.RP/0/0/CPU0:Jan 23 13:32:02.332 : config_rollback[65740]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'cisco'. Use 'show configuration commit changes 1000000002' to view the changes. Updated Commit database in 1 sec Configuration successfully rolled back 1 commits. RP/0/0/CPU0:XR1# RP/0/0/CPU0:XR1# show configuration commit list Wed Jan 23 13:33:39.565 UTC SNo. Label/ID User Line Client Time Stamp ~~~~ ~~~~~~~~ ~~~~ ~~~~ ~~~~~~ ~~~~~~~~~~ 1 1000000002 cisco con0_0_CPU0 Rollback Wed Jan 23 13:32:01 2020 2 1000000001 cisco con0_0_CPU0 CLI Wed Jan 23 13:22:59 2020 RP/0/0/CPU0:XR1#

Step 9. Erase the running-configuration

conf commit replace y do show run

The commit replace function will replace the running configuration with the target configuration specified. In this example, nothing is configured in the target configuration, so this erases the running-configuration. In other words, this is the equivalent to the command write erase in IOS RP/0/0/CPU0:XR1# conf Wed Jan 23 13:37:59.367 UTC RP/0/0/CPU0:XR1(config)# commit replace This commit will replace or remove the entire running configuration. This operation can be service affecting. Do you wish to proceed? [no]: y RP/0/0/CPU0:ios(config)# do show run Wed Jan 23 13:38:08.307 UTC Building configuration... !! IOS XR Configuration 5.3.2 !! Last configuration change at Wed Jan 23 13:38:07 2020 by cisco !

12 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

end RP/0/0/CPU0:XR1#

Step 10. Rollback the change This will bring us back to the state before the last change.

rollback configuration last 1 RP/0/0/CPU0:ios# rollback configuration last 1 Wed Jan 23 14:21:37.738 UTC Loading Rollback Changes. Loaded Rollback Changes in 1 sec Committing..... 38 items committed in 5 sec (7)items/sec Updating.RP/0/0/CPU0:Jan 23 14:21:43.968 : config_rollback[65740]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'cisco'. Use 'show configuration commit changes 1000000004' to view the changes. Updated Commit database in 1 sec Configuration successfully rolled back 1 commits. RP/0/0/CPU0:XR1#

Step 11. Understanding IOS-XR command hierarchy. IOS-XR is a hierarchical OS. At times, you may be in one configuration submode (i.e. OSPF), and need to change to another configuration submode (i.e. configuring an IP address). This will result in an error because you do not leave the original sub-configuration, and commands will be entered under the wrong sub-configuration. For example, enter the following commands to see the error:

conf router ospf 100 area 0 int lo0 int gi0/0/0/4 ipv4 address 1.1.1.1 255.255.255.255

RP/0/0/CPU0:XR1# conf Wed Jan 23 14:30:48.640 UTC RP/0/0/CPU0:XR1(config)# router ospf 100 RP/0/0/CPU0:XR1(config-ospf)# area 0 RP/0/0/CPU0:XR1(config-ospf-ar)# int lo0 RP/0/0/CPU0:XR1(config-ospf-ar-if)# int gi0/0/0/4 RP/0/0/CPU0:XR1(config-ospf-ar-if)# ipv4 address 1.1.1.1 255.255.255.255 ^ % Invalid input detected at '^' marker. RP/0/0/CPU0:XR1(config-ospf-ar-if)#

Step 12. Understanding the use of ‘pwd’

13 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Because IOS-XR is hierarchical, the IP address assignment was done under the Router OSPF configuration. The use of the pwd command will show you where you are in the configuration mode. RP/0/0/CPU0:XR1(config-ospf-ar-if)# pwd 14:34:01.147 UTC router ospf 100 area 0 interface GigabitEthernet0/0/0/4 RP/0/0/CPU0:XR1(config-ospf-ar-if)#

Step 13. Understanding the use of ‘root’ Now let’s use the root command to take us to the root configuration prompt, and then change the IP address.

root int gi0/0/0/4 ipv4 address 1.1.1.1 255.255.255.255

RP/0/0/CPU0:XR1(config-ospf-ar-if)# root RP/0/0/CPU0:XR1(config)#int gi0/0/0/4 RP/0/0/CPU0:XR1(config-if)#ipv4 address 1.1.1.1 255.255.255.255 RP/0/0/CPU0:XR1(config-if)#

Step 14. Using the exit command instead of the root command

The alternative to the root command is to keep typing the command exit over, and over again, etc.

Enter the following commands to see the error again

router ospf 100 area 0 int lo0 int gi0/0/0/4 ipv4 address 1.1.1.1 255.255.255.255

Enter the following commands to get back to root prompt

exit exit exit int gi0/0/0/4 ipv4 address 1.1.1.1 255.255.255.255

RP/0/0/CPU0:XR1(config-if)# router ospf 100 RP/0/0/CPU0:XR1(config-ospf)# area 0

14 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1(config-ospf-ar)# int lo0 RP/0/0/CPU0:XR1(config-ospf-ar-if)# int gi0/0/0/4 RP/0/0/CPU0:XR1(config-ospf-ar-if)# ipv4 address 1.1.1.1 255.255.255.255 ^ % Invalid input detected at '^' marker. RP/0/0/CPU0:XR1(config-ospf-ar-if)# exit RP/0/0/CPU0:XR1(config-ospf-ar)# exit RP/0/0/CPU0:XR1(config-ospf)# exit RP/0/0/CPU0:XR1(config)# int gi0/0/0/4 RP/0/0/CPU0:XR1(config-if)# ipv4 address 1.1.1.1 255.255.255.255 RP/0/0/CPU0:XR1(config-if)#

As you can see from the previous steps, using the root command is a lot quicker to get back to the main configuration prompt than entering the exit commands multiple times.

Step 15. Abort the changes just made

The changes we made to test the pwd and root commands were not committed. To get back to the exec prompt there are two options, entering the exit command which requires a confirmation or entering the abort command which doesn’t

To test exit:

exit exit no

To test abort:

conf int g0/0/0/4 abort

Exit command RP/0/0/CPU0:XR1(config-if)# exit RP/0/0/CPU0:XR1(config)# exit Uncommitted changes found, commit them before exiting(yes/no/cancel)? [cancel]: no RP/0/0/CPU0:Jan 23 15:08:30.885 : config[65740]: %MGBL-SYS-5-CONFIG_I : Configured from console by cisco RP/0/0/CPU0:XR1#

Abort command RP/0/0/CPU0:XR1# RP/0/0/CPU0:XR1# conf RP/0/0/CPU0:XR1(config)# int gi0/0/0/4 RP/0/0/CPU0:XR1(config-if)# abort

15 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:Jan 23 15:13:00.937 : config[65740]: %MGBL-SYS-5-CONFIG_I : Configured from console by cisco RP/0/0/CPU0:XR1#

Step 16. Just as in IOS, IOS XR supports usage of the do command, which allows you to execute commands under configuration mode. RP/0/0/CPU0:XR1# conf Wed Jan 23 15:16:23.093 UTC RP/0/0/CPU0:XR1(config)# do show ipv4 int br | i Lo Loopback0 192.168.1.1 Up Up RP/0/0/CPU0:XR1(config)#

16 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Static Routes Task Objective

On XR1 o Configure a static route for 100.64.22.0/24 that points to XR2’s IP Address 10.12.1.2 o Configure a static route for 100.96.2.0/24 with an AD of 200 that points to XR2’s IP

Address 10.12.1.2 as well On XR2

o Configure a static route for 100.64.1.0/24 that points to XR1’s IP Address 10.12.1.1 o Configure a static route for 100.96.1.0/24 with an AD of 200 that points to XR1’s IP

Address 10.12.1.1 as well Verify that XR1 can ping 100.64.22.254 (AS 1200 Router) Verify that XR2 can ping 100.64.1.254 (AS 1100 Router) Static routes are preconfigured on the AS1100 and AS1200 routers.

Cisco Website for Static Route Configuration

Step 1. Initialize the Static Router Process and choose the correct address-family On XR1 and XR2 enter the following commands:

router static address-family ipv4 unicast

Step 2. Identify the network prefix destination, and next-hop IP address On XR1 only, enter the following commands:

router static address-family ipv4 unicast 100.64.22.0/24 10.12.1.2 100.96.2.0/24 10.12.1.2 200 commit end

On XR2 enter the following commands:

router static address-family ipv4 unicast 100.64.1.0/24 10.12.1.1 100.96.1.0/24 10.12.1.1 200 commit end

17 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 3. Static route show commands Verify the static route configuration and functionality on XR1 and XR2 by executing the following commands: XR1

show run router static show static topology show route static ping 100.64.22.254

XR2

ping 100.64.1.254 Note: IOS-XR does not use “ip” or “ipv6” protocol differentiators before the protocols, unlike IOS.

XR1 RP/0/0/CPU0:XR1# show run router static Wed Jan 23 15:59:42.475 UTC router static address-family ipv4 unicast 100.64.22.0/24 10.12.1.2 100.96.2.0/24 10.12.1.2 200 ! vrf Management address-family ipv4 unicast 0.0.0.0/0 198.18.1.1 ! ! ! RP/0/0/CPU0:XR1# show static topology Wed Jan 23 15:59:42.615 UTC VRF: default Table Id: 0xe0000000 AFI: IPv4 SAFI: Unicast Prefix/Len Interface Nexthop Object Metrics 100.64.22.0/24 None 10.12.1.2 None [0/0/1/0] 100.96.2.0/24 None 10.12.1.2 None [0/0/200/0] RP/0/0/CPU0:XR1# show route static Wed Jan 23 15:59:42.705 UTC S 100.64.22.0/24 [1/0] via 10.12.1.2, 00:00:46 S 100.96.2.0/24 [200/0] via 10.12.1.2, 00:00:46 RP/0/0/CPU0:XR1# ping 100.64.22.254 Wed Jan 23 15:59:42.805 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 100.64.22.254, timeout is 2 seconds: !!!!!

18 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/9 ms RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# ping 100.64.1.254 Wed Jan 23 16:01:23.458 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 100.64.1.254, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/9 ms RP/0/0/CPU0:XR2#

19 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Open Shortest Path First (OSPF) Task Objective:

Configure OSPF on XR1 and XR2. Advertise only the Loopback 0, Gi0/0/0/0 and Gi0/0/0/1 interfaces into Area 0 OSPF Process-ID is 1, Area-ID is 0 and Router-ID will be the Loopback0 IPv4 address Set all interface costs to 10 and set for ‘Area 0’ the network-type point-to-point Change the cost to 100 for the link between XR1-to-RR-1 & link XR2-to-RR-1 Ensure end-to-end IP reachability exists via ICMP OSPF is already configured on RR-1.

Cisco Website for OSPF Configuration

Step 1. Enable OSPF and configure Router-ID XR1

router ospf 1 router-id 192.168.1.1

XR2

router ospf 1 router-id 192.168.2.2

Step 2. Configure OSPF Area, Network-Type, interfaces and Advertise networks XR1 and XR2

router ospf 1 cost 10 area 0 network point-to-point interface Loopback0 interface GigabitEthernet0/0/0/0 interface GigabitEthernet0/0/0/1 cost 100 commit end

Note: IOS-XR is hierarchical, setting the cost & network at the area level will cascade to the members below it. Those settings can be overridden by setting an explicit value on a lower level member as illustrated in the figure below.

20 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 3. Validate OSPF configuration by executing the following commands XR1 and XR2

show run router ospf show ospf interface brief show ospf summary show ospf show ospf neighbor show ospf database database-summary show ospf statistics spf

RP/0/0/CPU0:XR1# show run router ospf Wed Jan 23 16:19:07.785 UTC router ospf 1 router-id 192.168.1.1 cost 10 area 0 network point-to-point interface Loopback0 ! interface GigabitEthernet0/0/0/0 ! interface GigabitEthernet0/0/0/1 cost 100 ! ! ! RP/0/0/CPU0:XR1# show ospf interface brief Wed Jan 23 16:19:16.214 UTC * Indicates MADJ interface, (P) Indicates fast detect hold down state Interfaces for OSPF 1

21 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo0 1 0 192.168.1.1/32 10 LOOP 0/0 Gi0/0/0/0 1 0 10.12.1.1/24 10 P2P 1/1 Gi0/0/0/1 1 0 10.13.1.1/24 100 P2P 1/1 RP/0/0/CPU0:XR1# show ospf summary Wed Jan 23 16:19:21.484 UTC Routing process "ospf 1" Number of OSPF interfaces 3 Number of OSPF interfaces up 3 Number of OSPF virtual interfaces up 0 Number of OSPF sham-link interfaces up 0 Number of neighbors 2 Number of neighbors adjacent 2 Number of areas 1 LSA Type Count Router : 3 Network : 0 Summary Net : 0 Summary ASBR : 0 Type-7 Ext : 0 Opaque Link : 0 Opaque Area : 3 Type-5 Ext : 0 Opaque AS : 0 RP/0/0/CPU0:XR1# show ospf Wed Jan 23 16:23:27.557 UTC Routing Process "ospf 1" with ID 192.168.1.1 Role: Primary Active NSR (Non-stop routing) is Disabled Supports only single TOS(TOS0) routes Supports opaque LSA Router is not originating router-LSAs with maximum metric Initial SPF schedule delay 50 msecs Minimum hold time between two consecutive SPFs 200 msecs Maximum wait time between two consecutive SPFs 5000 msecs Initial LSA throttle delay 50 msecs Minimum hold time for LSA throttle 200 msecs Maximum wait time for LSA throttle 5000 msecs Minimum LSA interval 200 msecs. Minimum LSA arrival 100 msecs LSA refresh interval 1800 seconds Flood pacing interval 33 msecs. Retransmission pacing interval 66 msecs Adjacency stagger enabled; initial (per area): 2, maximum: 64 Number of neighbors forming: 0, 2 full Maximum number of configured interfaces 1024 Number of external LSA 0. Checksum Sum 00000000 Number of opaque AS LSA 0. Checksum Sum 00000000 Number of DCbitless external and opaque AS LSA 0 Number of DoNotAge external and opaque AS LSA 0 Number of areas in this router is 1. 1 normal 0 stub 0 nssa External flood list length 0 SNMP trap is enabled LSD connected, registered, bound, revision 1 Segment Routing Global Block default (16000-23999), not allocated Area BACKBONE(0) Number of interfaces in this area is 3 SPF algorithm executed 9 times Number of LSA 6. Checksum Sum 0x0448c4 Number of opaque link LSA 0. Checksum Sum 00000000

22 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Number of DCbitless LSA 0 Number of indication LSA 0 Number of DoNotAge LSA 0 Flood list length 0 Number of LFA enabled interfaces 0, LFA revision 0 Number of Per Prefix LFA enabled interfaces 0 Number of neighbors forming in staggered mode 0, 2 full RP/0/0/CPU0:XR1# show ospf neighbor Wed Jan 23 16:19:26.824 UTC * Indicates MADJ interface # Indicates Neighbor awaiting BFD session up Neighbors for OSPF 1 Neighbor ID Pri State Dead Time Address Interface 192.168.2.2 1 FULL/ - 00:00:35 10.12.1.2 GigabitEthernet0/0/0/0 Neighbor is up for 00:04:22 192.168.100.100 1 FULL/ - 00:00:32 10.13.1.3 GigabitEthernet0/0/0/1 Neighbor is up for 00:04:55 Total neighbor count: 2 RP/0/0/CPU0:XR1# show ospf database database-summary Wed Jan 23 16:20:24.640 UTC OSPF Router with ID (192.168.1.1) (Process ID 1) Area 0 database summary LSA Type Count Delete Maxage Router 3 0 0 Network 0 0 0 Summary Net 0 0 0 Summary ASBR 0 0 0 Type-7 Ext 0 0 0 Opaque Link 0 0 0 Opaque Area 3 0 0 Subtotal 6 0 0 Process 1 database summary Router 3 0 0 Network 0 0 0 Summary Net 0 0 0 Summary ASBR 0 0 0 Type-7 Ext 0 0 0 Opaque Link 0 0 0 Opaque Area 3 0 0 Type-5 Ext 0 0 0 Opaque AS 0 0 0 Total 6 0 0 RP/0/0/CPU0:XR1# show ospf statistics spf Wed Jan 23 16:20:58.627 UTC SPF statistics for OSPF 1 Reason Codes: R - Router-LSA, N - Network-LSA, SN - Summary-LSA (IP network), SA - Summary-LSA (ASBR), X - AS-external-LSA Last 9 Dijkstra Calculations

23 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Delta T Area Runtime Reason 00:06:31 0 0 R, N, 00:06:27 0 0 R, N, 00:06:27 0 0 00:06:26 0 0 R, 00:06:25 0 0 R, 00:05:58 0 0 R, 00:05:57 0 0 R, 00:05:57 0 0 R, 00:05:54 0 0 R, RP/0/0/CPU0:XR1#

Step 4. OSPF Trace Traces are like running debug without taking up CPU resources. Traces are automatically configured and running unlike debug features. XR1 and XR2

show ospf trace show ospf trace hello show ospf trace adj 5

Note: The command show ospf trace adj 5 demonstrates how you can select the last <x> number of traces you want to view RP/0/0/CPU0:XR1# show ospf trace OSPF Trace Summary (1, RP/0/0/CPU0:XR1, 3095M) Trace Name Size Count Description ------------ ------- ---------- -------------------------- 1. adj 8192 69 adjacency 2. adj_cycle 8192 35 dbd/flood events/pkts 3. config 4096 43 config events 4. errors 8192 3 errors 5. warnings 4096 1 low errors/warnings 6. events 4096 112 mda/rtrid/bfd/vrf 7. ha 8192 401 startup/HA/NSF 8. hello 2048 489 hello events/pkts 9. idb 8192 113 interface 10. pkt 2048 186 I/O packets 11. rib 8192 45 rib batching 12. spf 8192 273 spf/topology 13. spf_cycle 8192 0 spf/topology detail 14. te 4096 11 mpls-te 15. test 1024 47 testing info 16. mq 256 2 message queue info RP/0/0/CPU0:XR1# show ospf trace hello Wed Jan 23 16:27:35.470 UTC Traces for OSPF 1 (Wed Jan 23 16:27:35) Traces returned/requested/available: 496/2048/496 Trace buffer: hello

24 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

1 Jan 23 16:14:27.224* ospf_send_hello: area 0.0.0.0 intf Gi0/0/0/0 from 10.12.1.1 2 Jan 23 16:14:27.234 ospf_send_hello: area 0.0.0.0 intf Gi0/0/0/1 from 10.13.1.1 3 Jan 23 16:14:31.544* ospf_rcv_hello: intf Gi0/0/0/1 area 0.0.0.0 from 192.168.100.100 10.13.1.3 4 Jan 23 16:14:31.544* ospf_router_nbr_new: intf Gi0/0/0/1 area 0.0.0.0 from 192.168.100.100 10.13.1.3 5 Jan 23 16:14:31.544* ospf_check_hello_events: intf Gi0/0/0/1 area 0.0.0.0 from 10.13.1.1 6 Jan 23 16:14:31.544* ospf_router_nbr_new: end of router thread hello processing 7 Jan 23 16:14:36.324* ospf_send_hello: area 0.0.0.0 intf Gi0/0/0/0 from 10.12.1.1 8 Jan 23 16:14:37.064* ospf_send_hello: area 0.0.0.0 intf Gi0/0/0/1 from 10.13.1.1 9 Jan 23 16:14:40.633 ospf_rcv_hello: intf Gi0/0/0/1 area 0.0.0.0 from 192.168.100.100 10.13.1.3 <output omitted> RP/0/0/CPU0:XR1# show ospf trace adj 5 Wed Jan 23 16:30:11.410 UTC Traces for OSPF 1 (Wed Jan 23 16:30:11) Traces returned/requested/available: 5/5/69 Trace buffer: adj 1 Jan 23 16:15:04.242* ospf_dec_nbr_form_cnt: nbr 192.168.2.2 forming Gi0/0/0/0, area 0.0.0.0 2 Jan 23 16:15:04.242* ospf_dec_nbr_form_cnt: #Nbrs: (ar: 0, inst: 0) forming, 2 full, area 0.0.0.0 3 Jan 23 16:15:04.342* ospf_build_rtr_lsa: area 0.0.0.0 rtrid 192.168.1.1 seq 0x80000003 vrfid 0x60000000 4 Jan 23 16:15:11.581* ospf_nbr_hold_dbd: Timer expired (nbr_hold_dbd): nbr_id 192.168.100.100 5 Jan 23 16:15:44.259* ospf_nbr_hold_dbd: Timer expired (nbr_hold_dbd): nbr_id 192.168.2.2 RP/0/0/CPU0:XR1#

25 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

BGP Configuration

IBGP Peering

Task Objective:

Create the BGP Process 100, and set the BGP Router-ID to match Loopback 0’s IP Activate address-family ipv4 and advertise the Loopack 0 into BGP Configure iBGP session on XR1 & XR2 to the AS 100 Route-Reflector RR-1 Source the connection from Loopback 0 Set the BGP session password to CISCO Use only the IPv4 Address-Family, and set the next-hop-self parameter The Route-Reflector is already configured

Cisco Website for BGP Configuration

Route Reflector Loopback address

RR1 192.168.100.100

AS 10010.13.1.0/24

A

g0/0/0/0

g0/0/0/3

10.23.1.0/24

q

AS 2000

g0/0/0/3

AS 1100 AS 1200

g0/0/0/0

100.64.1.0/24

100.

64.1

1.0/

24

100.

64.2

.0/2

4

100.64.22.0/24

XR1 XR2

g0/1

g0/0/0/1

g0/0/0/2 g0/0/0/2

g0/0/0/1

g0/2

g0/1 g0/2

RR-1

g0/1

g0/2

10.12.1.0/24

26 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 1. Enable BGP and Configure Router-id on XR1 and XR2 XR1

router bgp 100 bgp router-id 192.168.1.1

XR2

router bgp 100 bgp router-id 192.168.2.2

Step 2. Activate IPv4 Unicast address-family on XR1 and XR2 XR1

router bgp 100 address-family ipv4 unicast network 192.168.1.1/32

XR2

router bgp 100 address-family ipv4 unicast network 192.168.2.2/32

Step 3. Configure XR1 & XR2 with the BGP Peering to the Route-Reflector RR-1 for IPv4 XR1 and XR2

router bgp 100 neighbor 192.168.100.100 remote-as 100 password CISCO update-source Loopback0 address-family ipv4 unicast next-hop-self commit end

Step 4. Example showing different methods in which to apply configuration to IOS-XR. There is no need to type the commands in this step. If you decide to do so, please do not commit the configuration. Use the abort command once you are done. IOS-XR syntax does allow for some flexibility, which can speed up the process of entering a configuration, but will not change the context of the configuration submode. The example below shows two methods of entering the configuration; that result in the same configuration being applied.

27 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1(config)# router bgp 65500 RP/0/0/CPU0:XR1(config-bgp)# neighbor 200.200.200.200 RP/0/0/CPU0:XR1(config-bgp-nbr)# remote-as 65500 RP/0/0/CPU0:XR1(config-bgp-nbr)# update-source lo0 RP/0/0/CPU0:XR1(config-bgp-nbr)# address-family ipv4 unicast RP/0/0/CPU0:XR1(config-bgp-nbr-af)# RP/0/0/CPU0:XR1(config-bgp-nbr-af)# show conf Building configuration... !! IOS XR Configuration 0.0.0 router bgp 65500 neighbor 200.200.200.200 remote-as 65500 update-source Loopback0 address-family ipv4 unicast

OR RP/0/0/CPU0:XR1(config)# router bgp 65500 RP/0/0/CPU0:XR1(config-bgp)# neighbor 200.200.200.200 remote-as 65500 RP/0/0/CPU0:XR1(config-bgp)# neighbor 200.200.200.200 update-source lo0 RP/0/0/CPU0:XR1(config-bgp)# neighbor 200.200.200.200 address-family ipv4 unicast RP/0/0/CPU0:XR1(config-bgp-nbr-af)# show conf Building configuration... !! IOS XR Configuration 0.0.0 router bgp 65500 neighbor 200.200.200.200 remote-as 65500 update-source Loopback0 address-family ipv4 unicast

While the configuration is identical, the CLI prompt changed, which may affect future commands that are entered. Please be aware of this behavior as you proceed through the lab. Step 5. Verify BGP Configuration and Functionality XR1 and XR2

show run router bgp show bgp summary show bgp ipv4 unicast

Note: It may take ~30-60 seconds for the BGP session to establish in this lab.

28 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# show run router bgp Wed Jan 23 17:12:43.315 UTC router bgp 100 bgp router-id 192.168.1.1 address-family ipv4 unicast network 192.168.1.1/32 ! neighbor 192.168.100.100 remote-as 100 password encrypted 00273A352774 update-source Loopback0 address-family ipv4 unicast next-hop-self ! ! ! RP/0/0/CPU0:XR1# show bgp summary Wed Jan 23 17:12:50.334 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 5 BGP main routing table version 5 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 5 5 5 5 5 0 Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 192.168.100.100 0 100 8 6 5 0 0 00:02:46 2 RP/0/0/CPU0:XR1# show bgp ipv4 unicast Wed Jan 23 17:12:57.064 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 5 BGP main routing table version 5 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *> 192.168.1.1/32 0.0.0.0 0 32768 i Processed 3 prefixes, 3 paths RP/0/0/CPU0:XR1#

29 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Neighbor Groups Task Objective:

Configure BGP Neighbor Group Delete the previous BGP neighbor peering with RR-1 192.168.100.100. Establish a full mesh between XR1, XR2, and RR-1. Reduce configuration by using a neighbor-group (AS100); and establish peerings with the

following settings: o Source the connection from Loopback0 o Use password CISCO o Use only the IPv4 Address-Family, and set the next-hop-self parameter o RR-1 is pre-configured

Node Loopback address

RR 192.168.100.100

XR1 192.168.1.1

XR2 192.168.2.2

Step 1: Configure the BGP Neighbor Group Step 6. Configure the BGP Neighbor Group XR1 and XR2

router bgp 100 neighbor-group AS100 remote-as 100 password CISCO update-source Loopback0 address-family ipv4 unicast next-hop-self

30 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 7. Create the new BGP peerings on XR1 and XR2 with each other, and to RR-1. Use the neighbor-group XR1

router bgp 100 no neighbor 192.168.100.100 neighbor 192.168.100.100 use neighbor-group AS100 neighbor 192.168.2.2 use neighbor-group AS100 commit end

XR2

router bgp 100 no neighbor 192.168.100.100 neighbor 192.168.100.100 use neighbor-group AS100 neighbor 192.168.1.1 use neighbor-group AS100 commit end

Step 8. Verify the neighbor-group configuration XR1 and XR2

show run router bgp show bgp summary

31 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# show run router bgp Wed Jan 23 17:29:16.917 UTC router bgp 100 bgp router-id 192.168.1.1 address-family ipv4 unicast network 192.168.1.1/32 ! neighbor-group AS100 remote-as 100 password encrypted 14343B382F2B update-source Loopback0 address-family ipv4 unicast next-hop-self ! ! neighbor 192.168.2.2 use neighbor-group AS100 ! neighbor 192.168.100.100 use neighbor-group AS100 ! ! RP/0/0/CPU0:XR1# show bgp summary Wed Jan 23 17:29:23.926 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 10 BGP main routing table version 10 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 10 10 10 10 10 0 Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 192.168.2.2 0 100 4 4 10 0 0 00:00:37 1 192.168.100.100 0 100 5 4 10 0 0 00:00:51 2 RP/0/0/CPU0:XR1#

IOS allows for configuration of peers with similar outbound policies through the use of ‘peer-groups’. IOS-XR allows for the same capability with more flexibility through the use af-group, session-group, and neighbor-groups.

32 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

EBGP Peering

Task Objective:

Configure a BGP session using the BGP Peer & AS settings listed below. Verify that routes are being exchanged.

Node BGP Peer IP Address Remote-AS # XR1 100.64.1.1 1100

XR2 100.64.2.1 1200

Step 9. Configure eBGP Peering to the ISP router and validate the EBGP configuration and connectivity XR1

router bgp 100 neighbor 100.64.1.1 remote-as 1100 address-family ipv4 unicast commit end

AS 10010.13.1.0/24

A

g0/0/0/0

g0/0/0/3

10.23.1.0/24

q

AS 2000

g0/0/0/3

AS 1100 AS 1200

g0/0/0/0

100.64.1.0/24

100.

64.1

1.0/

24

100.

64.2

.0/2

4

100.64.22.0/24

XR1 XR2

g0/1

g0/0/0/1

g0/0/0/2 g0/0/0/2

g0/0/0/1

g0/2

g0/1 g0/2

RR-1

g0/1

g0/2

10.12.1.0/24

33 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR2

router bgp 100 neighbor 100.64.2.1 remote-as 1200 address-family ipv4 unicast commit end

RP/0/0/CPU0:XR1# conf t Wed Jan 23 17:50:17.160 UTC RP/0/0/CPU0:XR1(config)# router bgp 100 RP/0/0/CPU0:XR1(config-bgp)# neighbor 100.64.1.1 RP/0/0/CPU0:XR1(config-bgp-nbr)# remote-as 1100 RP/0/0/CPU0:XR1(config-bgp-nbr)# address-family ipv4 unicast RP/0/0/CPU0:XR1(config-bgp-nbr-af)# commit Wed Jan 23 17:50:19.720 UTC RP/0/0/CPU0:Jan 23 17:50:19.800 : config[65740]: %MGBL-CONFIG-6-DB_COMMIT : Configuration committed by user 'cisco'. Use 'show configuration commit changes 1000000010' to view the changes. RP/0/0/CPU0:Jan 23 17:50:37.829 : bgp[1053]: %ROUTING-BGP-5-ADJCHANGE : neighbor 100.64.1.1 Up (VRF: default) (AS: 1100) RP/0/0/CPU0:Jan 23 17:50:37.829 : bgp[1053]: %ROUTING-BGP-6-NBR_NOPOLICY : No inbound IPv4 Unicast policy is configured for eBGP neighbor 100.64.1.1. No IPv4 Unicast prefixes will be accepted from the neighbor until inbound policy is configured. RP/0/0/CPU0:Jan 23 17:50:37.829 : bgp[1053]: %ROUTING-BGP-6-NBR_NOPOLICY : No outbound IPv4 Unicast policy is configured for eBGP neighbor 100.64.1.1. No IPv4 Unicast prefixes will be sent to the neighbor until outbound policy is configured. RP/0/0/CPU0:XR1(config-bgp-nbr-af)# RP/0/0/CPU0:XR1(config-bgp-nbr-af)# end RP/0/0/CPU0:Jan 23 17:51:56.004 : config[65740]: %MGBL-SYS-5-CONFIG_I : Configured from console by cisco RP/0/0/CPU0:XR1#

Notice the EBGP neighbor is up but there are a couple of syslogs indicating no IPv4 addresses will be accepted or sent Step 10. Verify EBGP functionality details on XR1 only XR1

show bgp ipv4 unicast summary show bgp ipv4 unicast neighbor 100.64.1.1

34 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# show bgp ipv4 unicast summary Wed Jan 23 18:20:44.795 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 10 BGP main routing table version 10 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 10 10 10 10 10 0 Some configured eBGP neighbors (under default or non-default vrfs) do not have both inbound and outbound policies configured for IPv4 Unicast address family. These neighbors will default to sending and/or receiving no routes and are marked with '!' in the output below. Use the 'show bgp neighbor <nbr_address>' command for details. Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 100.64.1.1 0 1100 40 34 10 0 0 00:30:07 0! 192.168.2.2 0 100 55 55 10 0 0 00:51:58 1 192.168.100.100 0 100 62 56 10 0 0 00:52:11 2 RP/0/0/CPU0:XR1# show bgp ipv4 unicast neighbor 100.64.1.1 Wed Jan 23 18:21:59.340 UTC BGP neighbor is 100.64.1.1 Remote AS 1100, local AS 100, external link Remote router ID 164.144.11.1 BGP state = Established, up for 00:31:21 NSR State: None Last read 00:00:22, Last read before reset 00:00:00 Hold time is 180, keepalive interval is 60 seconds Configured hold time: 180, keepalive: 60, min acceptable hold time: 3 Last write 00:00:16, attempted 19, written 19 Second last write 00:01:16, attempted 19, written 19 Last write before reset 00:00:00, attempted 0, written 0 Second last write before reset 00:00:00, attempted 0, written 0 Last write pulse rcvd Jan 23 18:21:43.541 last full not set pulse count 73 Last write pulse rcvd before reset 00:00:00 Socket not armed for io, armed for read, armed for write Last write thread event before reset 00:00:00, second last 00:00:00 Last KA expiry before reset 00:00:00, second last 00:00:00 Last KA error before reset 00:00:00, KA not sent 00:00:00 Last KA start before reset 00:00:00, second last 00:00:00 Precedence: internet Non-stop routing is enabled Enforcing first AS is enabled Multi-protocol capability received Neighbor capabilities: Route refresh: advertised (old + new) and received (old + new) Graceful Restart (GR Awareness): advertised 4-byte AS: advertised and received Address family IPv4 Unicast: advertised and received Received 41 messages, 0 notifications, 0 in queue Sent 35 messages, 1 notifications, 0 in queue Minimum time between advertisement runs is 30 secs Inbound message logging enabled, 3 messages buffered

35 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Outbound message logging enabled, 3 messages buffered For Address Family: IPv4 Unicast BGP neighbor version 10 Update group: 0.3 Filter-group: 0.1 No Refresh request being processed eBGP neighbor with no inbound or outbound policy; defaults to 'drop' Route refresh request: received 0, sent 0 0 accepted prefixes, 0 are bestpaths Cumulative no. of prefixes denied: 2. No policy: 2, Failed RT match: 0 By ORF policy: 0, By policy: 0 Prefix advertised 0, suppressed 0, withdrawn 0 Maximum prefixes allowed 1048576 Threshold for warning message 75%, restart interval 0 min An EoR was not received during read-only mode Last ack version 10, Last synced ack version 0 Outstanding version objects: current 0, max 0 Additional-paths operation: None Connections established 1; dropped 0 Local host: 100.64.1.254, Local port: 179, IF Handle: 0x00000400 Foreign host: 100.64.1.1, Foreign port: 18767 Last reset 00:31:30, due to BGP Notification sent: peer in wrong AS Time since last notification sent to neighbor: 00:31:30 Error Code: peer in wrong AS Notification data sent: DC050000 RP/0/0/CPU0:XR1#

Because a route-policy does not exist for an EBGP peer, all routes are dropped To/From that peer. Step 11. Correct the error by applying an inbound and an outbound policy to XR1 and XR2 XR1

route-policy PASS-ALL pass end-policy router bgp 100 neighbor 100.64.1.1 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out commit end

36 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR2

route-policy PASS-ALL pass end-policy router bgp 100 neighbor 100.64.2.1 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out commit end

Step 12. Verify BGP Configuration and Functionality XR1 show run router bgp show bgp summary show bgp neighbor 100.64.1.1 XR2 show run router bgp show bgp summary show bgp neighbor 100.64.2.1 RP/0/0/CPU0:XR1# show run router bgp Wed Jan 23 18:39:21.129 UTC router bgp 100 bgp router-id 192.168.1.1 address-family ipv4 unicast network 192.168.1.1/32 ! neighbor-group AS100 remote-as 100 password encrypted 14343B382F2B update-source Loopback0 address-family ipv4 unicast next-hop-self ! ! neighbor 100.64.1.1 remote-as 1100 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out ! ! neighbor 192.168.2.2 use neighbor-group AS100

37 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

! neighbor 192.168.100.100 use neighbor-group AS100 ! ! RP/0/0/CPU0:XR1# show bgp summary Wed Jan 23 18:39:37.108 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 13 BGP main routing table version 13 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 13 13 13 13 13 0 Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 100.64.1.1 0 1100 62 58 13 0 0 00:48:59 2 192.168.2.2 0 100 76 77 13 0 0 01:10:51 2 192.168.100.100 0 100 83 77 13 0 0 01:11:04 2 RP/0/0/CPU0:XR1# show bgp neighbor 100.64.1.1 Wed Jan 23 18:39:46.767 UTC BGP neighbor is 100.64.1.1 Remote AS 1100, local AS 100, external link Remote router ID 164.144.11.1 BGP state = Established, up for 00:49:08 NSR State: None Last read 00:00:49, Last read before reset 00:00:00 Hold time is 180, keepalive interval is 60 seconds Configured hold time: 180, keepalive: 60, min acceptable hold time: 3 Last write 00:00:17, attempted 19, written 19 Second last write 00:01:17, attempted 19, written 19 Last write before reset 00:00:00, attempted 0, written 0 Second last write before reset 00:00:00, attempted 0, written 0 Last write pulse rcvd Jan 23 18:39:29.498 last full not set pulse count 113 Last write pulse rcvd before reset 00:00:00 Socket not armed for io, armed for read, armed for write Last write thread event before reset 00:00:00, second last 00:00:00 Last KA expiry before reset 00:00:00, second last 00:00:00 Last KA error before reset 00:00:00, KA not sent 00:00:00 Last KA start before reset 00:00:00, second last 00:00:00 Precedence: internet Non-stop routing is enabled Enforcing first AS is enabled Multi-protocol capability received Neighbor capabilities: Route refresh: advertised (old + new) and received (old + new) Graceful Restart (GR Awareness): advertised 4-byte AS: advertised and received Address family IPv4 Unicast: advertised and received Received 62 messages, 0 notifications, 0 in queue Sent 58 messages, 1 notifications, 0 in queue Minimum time between advertisement runs is 30 secs

38 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Inbound message logging enabled, 3 messages buffered Outbound message logging enabled, 3 messages buffered For Address Family: IPv4 Unicast BGP neighbor version 13 Update group: 0.1 Filter-group: 0.2 No Refresh request being processed Route refresh request: received 0, sent 1 Policy for incoming advertisements is PASS-ALL Policy for outgoing advertisements is PASS-ALL 2 accepted prefixes, 2 are bestpaths Cumulative no. of prefixes denied: 2. No policy: 2, Failed RT match: 0 By ORF policy: 0, By policy: 0 Prefix advertised 5, suppressed 0, withdrawn 0 Maximum prefixes allowed 1048576 Threshold for warning message 75%, restart interval 0 min An EoR was not received during read-only mode Last ack version 13, Last synced ack version 0 Outstanding version objects: current 0, max 1 Additional-paths operation: None Connections established 1; dropped 0 Local host: 100.64.1.254, Local port: 179, IF Handle: 0x00000400 Foreign host: 100.64.1.1, Foreign port: 18767 Last reset 00:49:18, due to BGP Notification sent: peer in wrong AS Time since last notification sent to neighbor: 00:49:18 Error Code: peer in wrong AS Notification data sent: DC050000 RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# show run router bgp Wed Jan 23 18:43:07.913 UTC router bgp 100 bgp router-id 192.168.2.2 address-family ipv4 unicast network 192.168.2.2/32 ! neighbor-group AS100 remote-as 100 password encrypted 05282F3C0263 update-source Loopback0 address-family ipv4 unicast next-hop-self ! ! neighbor 100.64.2.1 remote-as 1200 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out ! ! neighbor 192.168.1.1 use neighbor-group AS100 ! neighbor 192.168.100.100 use neighbor-group AS100 ! !

39 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR2# RP/0/0/CPU0:XR2# show bgp summary Wed Jan 23 18:44:06.359 UTC BGP router identifier 192.168.2.2, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 13 BGP main routing table version 13 BGP NSR Initial initsync version 5 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 13 13 13 13 13 0 Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 100.64.2.1 0 1200 20 23 13 0 0 00:12:56 1 192.168.1.1 0 100 81 80 13 0 0 01:15:20 3 192.168.100.100 0 100 87 80 13 0 0 01:15:17 2 RP/0/0/CPU0:XR2#

Step 13. Verify BGP Functionality with BGP Trace XR1 show bgp trace ? show bgp trace bgp show bgp trace bgp reverse

40 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# show bgp trace ? addpath Async category(cisco-support) aipc AIPC category(cisco-support) bfd BFD category(cisco-support) bgp General category(cisco-support) brib bRIB API category(cisco-support) commlib Communication Library category(cisco-support) debug Debug category(cisco-support) epe EPE category(cisco-support) error Error category(cisco-support) event Event category(cisco-support) file Specific file(cisco-support) flowspec Flowspec category(cisco-support) ha High Availability category(cisco-support) hexdump Display traces in hexadecimal(cisco-support) instance Choose a particular BGP instance(cisco-support) io IO category(cisco-support) issu ISSU category(cisco-support) l2vpn L2VPN category(cisco-support) label Label category(cisco-support) last Display last <n> entries(cisco-support) link-state BGP-LS category(cisco-support) location Card location(cisco-support) mdt MDT category(cisco-support) mvpn MVPN category(cisco-support) nexthop Nexthop category(cisco-support) policy Policy Execution categories(cisco-support) postit Postit category(cisco-support) progress Progress category(cisco-support) rdwalk RDwalk category(cisco-support) reverse Display latest traces first(cisco-support) rib RIB category(cisco-support) rt-ct RT constraint category(cisco-support) stats Display statistics(cisco-support) sync Synchronization category(cisco-support) tailf Display new traces as they are added(cisco-support) unique Unique entries with counts(cisco-support) update Update category(cisco-support) usec Display timestamp w/usec detail(cisco-support) verbose Display internal debugging information(cisco-support) wide Dont display buffer name, node name, tid(cisco-support) wrapping Wrapping entries(cisco-support) | Output Modifiers <cr> RP/0/0/CPU0:XR1# show bgp trace bgp Wed Jan 23 18:52:23.255 UTC 111 wrapping entries (1826304 possible, 3584 allocated, 579 filtered, 690 total) Jan 23 17:09:53.586 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:17804: BPM cfg register verification - No error Jan 23 17:09:56.846 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3285: BPM verify running (sense=1, asn=100, inst=default) started Jan 23 17:09:56.846 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3353: BPM verify running (sense=1, asn=100, inst=default) ended Jan 23 17:09:56.846 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3518: BPM apply running (sense=1, asn=100, inst=default) started Jan 23 17:09:56.846 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3530: BPM doing apply-running for configuration Jan 23 17:09:56.846 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3556: BPM inst_id (inst=default, inst-id 0) Jan 23 17:09:56.846 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3559: BPM num_insts (inst=default, num_insts 1)

41 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Jan 23 17:09:56.846 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3634: BPM apply running (sense=1, asn=100, inst=default) ended <output omitted> RP/0/0/CPU0:XR1# show bgp trace bgp reverse Wed Jan 23 18:52:51.303 UTC 111 wrapping entries (1826304 possible, 3584 allocated, 579 filtered, 690 total) Jan 23 18:29:12.580 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3634: BPM apply running (sense=1, asn=100, inst=default) ended Jan 23 18:29:12.580 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3530: BPM doing apply-running for configuration Jan 23 18:29:12.580 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3518: BPM apply running (sense=1, asn=100, inst=default) started Jan 23 18:29:12.580 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3353: BPM verify running (sense=1, asn=100, inst=default) ended Jan 23 18:29:12.580 bgp/bpm-tr2-gen 0/0/CPU0 t1 [GEN]:3285: BPM verify running (sense=1, asn=100, inst=default) started Jan 23 17:50:37.829 default-bgp/spkr-tr2-gen 0/0/CPU0 t14 [GEN]:551: Nbr '100.64.1.1' established Jan 23 17:50:37.829 default-bgp/spkr-tr2-gen 0/0/CPU0 t14 [GEN]:548: nbr 100.64.1.1, old state 5, new state 6, fd type 1, fd 134 <output omitted>

42 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Basic Route Policy Language

Blocking based off Prefixes Task Objective:

Verify routes that are advertised to BGP Peer On XR1, create an RPL named RFC1918 that drops routes to EBGP peers that match RFC

1918 space using an inline set matching 10.0.0.0/8; 172.16.0.0/12, or 192.168.0.0/16 ranges

On XR2, create an RPL named RFC1918 that drops routes to EBGP peers that match RFC 1918 space using a prefix set named PREFIX-SET-RFC1918 that matches 10.0.0.0/8; 172.16.0.0/12, or 192.168.0.0/16 ranges)

Verify RPLs Apply RPL outbound to EBGP peers on XR1 and XR2, and verify outbound routes.

Step 1. Verify routes advertised by XR1 and XR2 to their BGP peers XR1

show bgp neighbors 100.64.1.1 advertised-routes XR2

show bgp neighbors 100.64.2.1 advertised-routes RP/0/0/CPU0:XR1# show bgp neighbors 100.64.1.1 advertised-routes Wed Jan 23 19:07:29.993 UTC Network Next Hop From AS Path 10.100.100.0/24 100.64.1.254 192.168.100.100 100i 164.144.11.0/24 100.64.1.254 192.168.2.2 100 1200 123 109? 172.31.100.0/30 100.64.1.254 192.168.100.100 100i 192.168.1.1/32 100.64.1.254 Local 100i 192.168.2.2/32 100.64.1.254 192.168.2.2 100i Processed 5 prefixes, 5 paths RP/0/0/CPU0:XR1# RP/0/0/CPU0:XR2# show bgp neighbors 100.64.2.1 advertised-routes Wed Jan 23 19:09:20.735 UTC Network Next Hop From AS Path 5.5.1.0/24 100.64.2.254 192.168.1.1 100 1100? 8.8.8.0/24 100.64.2.254 192.168.1.1 100 1100 7018i 10.100.100.0/24 100.64.2.254 192.168.100.100 100i 172.31.100.0/30 100.64.2.254 192.168.100.100 100i 192.168.1.1/32 100.64.2.254 192.168.1.1 100i 192.168.2.2/32 100.64.2.254 Local 100i Processed 6 prefixes, 6 paths

43 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR2#

Step 2. Create an inline set for RPL RFC1918 on XR1 and a prefix set for RPL RFC1918 on XR2. Pay close attention to the difference between the two. XR1 (using inline set)

route-policy RFC1918 if destination in (10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16) then drop endif pass end-policy

XR2 (using prefix set)

prefix-set PREFIX-SET-RFC1918 10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16 end-set ! route-policy RFC1918 if destination in PREFIX-SET-RFC1918 then drop endif pass end-policy

Remember inline set and prefix set are just two different ways of achieving the same end result where PREFIX-SET is the recommended approach due to its modularity. Step 3. Verify RPL on XR1 with the following show commands show run rpl Displays RPL configuration show rpl route-policy states This command is useful to see RPLs that are

ACTIVE, INACTIVE or UNUSED show rpl route-policy RFC1918 attachpoints This command is helpful for finding out where

the RPL is used show bgp ipv4 unicast route-policy RFC1918

This command is helpful in verifying RPL before applying it to a policy. Filtering inbound

show bgp Displays BGP entries to compare to the previous command

44 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# show run rpl Wed Jan 23 19:58:30.423 UTC route-policy RFC1918 if destination in (10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16) then drop endif pass end-policy ! route-policy PASS-ALL pass end-policy ! RP/0/0/CPU0:XR1# show rpl route-policy states Wed Jan 23 19:58:54.772 UTC ACTIVE -- Referenced by at least one policy which is attached INACTIVE -- Only referenced by policies which are not attached UNUSED -- Not attached (directly or indirectly) and not referenced The following policies are (ACTIVE) ------------------------------------------ route-policy PASS-ALL pass end-policy ! The following policies are (INACTIVE) ------------------------------------------ None found with this status. The following policies are (UNUSED) ------------------------------------------ route-policy RFC1918 if destination in (10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16) then drop endif pass end-policy ! RP/0/0/CPU0:XR1# show rpl route-policy RFC1918 attachpoints Wed Jan 23 19:59:04.041 UTC route-policy RFC1918 is not attached at any attach point RP/0/0/CPU0:XR1# show bgp ipv4 unicast route-policy RFC1918 Wed Jan 23 19:58:39.203 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 13 BGP main routing table version 13 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete

45 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 0 1100 ? *> 8.8.8.0/24 100.64.1.1 0 0 1100 7018 i *>i164.144.11.0/24 192.168.2.2 0 100 0 1200 123 109 ? Processed 3 prefixes, 3 paths RP/0/0/CPU0:XR1# show bgp Wed Jan 23 19:59:15.830 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 13 BGP main routing table version 13 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 0 1100 ? *> 8.8.8.0/24 100.64.1.1 0 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i164.144.11.0/24 192.168.2.2 0 100 0 1200 123 109 ? *>i172.31.100.0/30 192.168.100.100 0 100 0 i *> 192.168.1.1/32 0.0.0.0 0 32768 i *>i192.168.2.2/32 192.168.2.2 0 100 0 i Processed 7 prefixes, 7 paths RP/0/0/CPU0:XR1#

Compare the show bgp output to the output of the show bgp ipv4 unicast route-policy RFC1918 command. The highlighted prefixes in the show bgp output are the ones that could be filtered by the RPL policy. Step 4. Verify RPL on XR2 with the following show commands show run rpl Displays RPL configuration show rpl route-policy states This command is useful to see RPLs that are

ACTIVE, INACTIVE or UNUSED show rpl route-policy RFC1918 attachpoints This command is helpful for finding out where

the RPL is used show bgp ipv4 unicast route-policy RFC1918

This command is helpful in verifying RPL before applying it to a policy. Filtering inbound

show bgp Displays BGP entries to compare to the previous command

46 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR2# show run rpl Wed Jan 23 20:08:26.652 UTC prefix-set PREFIX-SET-RFC1918 10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16 end-set ! route-policy RFC1918 if destination in PREFIX-SET-RFC1918 then drop endif pass end-policy ! route-policy PASS-ALL pass end-policy ! RP/0/0/CPU0:XR2# show rpl route-policy states Wed Jan 23 20:08:33.882 UTC ACTIVE -- Referenced by at least one policy which is attached INACTIVE -- Only referenced by policies which are not attached UNUSED -- Not attached (directly or indirectly) and not referenced The following policies are (ACTIVE) ------------------------------------------ route-policy PASS-ALL pass end-policy ! The following policies are (INACTIVE) ------------------------------------------ None found with this status. The following policies are (UNUSED) ------------------------------------------ route-policy RFC1918 if destination in PREFIX-SET-RFC1918 then drop endif pass end-policy ! RP/0/0/CPU0:XR2# show rpl route-policy RFC1918 attachpoints Wed Jan 23 20:08:43.131 UTC route-policy RFC1918 is not attached at any attach point RP/0/0/CPU0:XR2# show bgp ipv4 unicast route-policy RFC1918 Wed Jan 23 20:08:51.930 UTC BGP router identifier 192.168.2.2, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 13 BGP main routing table version 13 BGP NSR Initial initsync version 5 (Reached)

47 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i5.5.1.0/24 192.168.1.1 0 100 0 1100 ? *>i8.8.8.0/24 192.168.1.1 0 100 0 1100 7018 i *> 164.144.11.0/24 100.64.2.1 0 0 1200 123 109 ? Processed 3 prefixes, 3 paths RP/0/0/CPU0:XR2# show bgp Wed Jan 23 20:08:59.890 UTC BGP router identifier 192.168.2.2, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 13 BGP main routing table version 13 BGP NSR Initial initsync version 5 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i5.5.1.0/24 192.168.1.1 0 100 0 1100 ? *>i8.8.8.0/24 192.168.1.1 0 100 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *> 164.144.11.0/24 100.64.2.1 0 0 1200 123 109 ? *>i172.31.100.0/30 192.168.100.100 0 100 0 i *>i192.168.1.1/32 192.168.1.1 0 100 0 i *> 192.168.2.2/32 0.0.0.0 0 32768 i Processed 7 prefixes, 7 paths RP/0/0/CPU0:XR2#

Compare the show bgp output to the output of the show bgp ipv4 unicast route-policy RFC1918 command. The highlighted prefixes in the show bgp output are the ones that could be filtered by the RPL policy. Step 5. Simplify viewing RPLs that use RPL sets. The inline keyword combines the RPL sets into the RPL when viewing it. The output below shows both methods to find the prefixes that are being dropped by the prefix set configured on XR2. Which one do you find simpler? Method 1 RP/0/0/CPU0:XR2# show rpl route-policy RFC1918 Wed Jan 23 20:18:46.540 UTC route-policy RFC1918 if destination in PREFIX-SET-RFC1918 then

48 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

drop endif pass end-policy ! RP/0/0/CPU0:XR2# show rpl prefix-set PREFIX-SET-RFC1918 Wed Jan 23 20:18:56.159 UTC prefix-set PREFIX-SET-RFC1918 10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16 end-set !

Method 2 using inline keyword RP/0/0/CPU0:XR2# show rpl route-policy RFC1918 inline Wed Jan 23 20:19:06.948 UTC route-policy RFC1918 if destination in (10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16) then drop endif pass end-policy ! RP/0/0/CPU0:XR2#

Step 6. Apply the RPL Outbound to EBGP Peers on XR1 and XR2 By doing this, the locally prefix on XR1 and XR2 will not be sent to the EBGP neighors XR1

router bgp 100 neighbor 100.64.1.1 address-family ipv4 unicast route-policy RFC1918 out commit end

XR2

router bgp 100 neighbor 100.64.2.1 address-family ipv4 unicast route-policy RFC1918 out commit end

49 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 7. Verify RPL configuration XR1

show run router bgp 100 neighbor 100.64.1.1 show rpl route-policy states show rpl route-policy RFC1918 attachpoints

XR2

show run router bgp 100 neighbor 100.64.2.1 show rpl route-policy states show rpl route-policy RFC1918 attachpoints

XR1 RP/0/0/CPU0:XR1# show run router bgp 100 neighbor 100.64.1.1 router bgp 100 neighbor 100.64.1.1 remote-as 1100 address-family ipv4 unicast route-policy PASS-ALL in route-policy RFC1918 out ! ! ! RP/0/0/CPU0:XR1# show rpl route-policy states ACTIVE -- Referenced by at least one policy which is attached INACTIVE -- Only referenced by policies which are not attached UNUSED -- Not attached (directly or indirectly) and not referenced The following policies are (ACTIVE) ------------------------------------------ route-policy PASS-ALL pass end-policy ! route-policy RFC1918 if destination in (10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16) then drop endif pass end-policy ! The following policies are (INACTIVE) ------------------------------------------ None found with this status. The following policies are (UNUSED) ------------------------------------------ None found with this status.

50 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# show rpl route-policy RFC1918 attachpoints Wed Jan 23 20:38:34.709 UTC BGP Attachpoint: Neighbor Neighbor/Group type afi/safi in/out vrf name bound by -------------------------------------------------------------------------------- 100.64.1.1 -- IPv4/uni out default RFC1918 RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# show run router bgp 100 neighbor 100.64.2.1 Wed Jan 23 20:41:12.247 UTC router bgp 100 neighbor 100.64.2.1 remote-as 1200 address-family ipv4 unicast route-policy PASS-ALL in route-policy RFC1918 out ! ! ! RP/0/0/CPU0:XR2# show rpl route-policy states Wed Jan 23 20:41:18.287 UTC ACTIVE -- Referenced by at least one policy which is attached INACTIVE -- Only referenced by policies which are not attached UNUSED -- Not attached (directly or indirectly) and not referenced The following policies are (ACTIVE) ------------------------------------------ route-policy PASS-ALL pass end-policy ! route-policy RFC1918 if destination in PREFIX-SET-RFC1918 then drop endif pass end-policy ! The following policies are (INACTIVE) ------------------------------------------ None found with this status. The following policies are (UNUSED) ------------------------------------------ None found with this status. RP/0/0/CPU0:XR2# show rpl route-policy RFC1918 attachpoints BGP Attachpoint: Neighbor Neighbor/Group type afi/safi in/out vrf name bound by -------------------------------------------------------------------------------- 100.64.2.1 -- IPv4/uni out default RFC1918

51 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR2#

Notice how the policy is now applied and active Step 8. Verify the intended results The locally generated prefix should not be advertised to EBGP neighbor XR1

show bgp ipv4 unicast show bgp nei 100.64.1.1 advertised-routes

XR2

show bgp ipv4 unicast show bgp nei 100.64.2.1 advertised-routes

XR1 RP/0/0/CPU0:XR1# show bgp ipv4 unicast <output omitted> Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 0 1100 ? *> 8.8.8.0/24 100.64.1.1 0 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i164.144.11.0/24 192.168.2.2 0 100 0 1200 123 109 ? *>i172.31.100.0/30 192.168.100.100 0 100 0 i *> 192.168.1.1/32 0.0.0.0 0 32768 i *>i192.168.2.2/32 192.168.2.2 0 100 0 i Processed 7 prefixes, 7 paths RP/0/0/CPU0:XR1# show bgp nei 100.64.1.1 advertised-routes Wed Jan 23 20:51:37.015 UTC Network Next Hop From AS Path 164.144.11.0/24 100.64.1.254 192.168.2.2 100 1200 123 109? Processed 1 prefixes, 1 paths RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# show bgp ipv4 unicast <output omitted> Status codes: s suppressed, d damped, h history, * valid, > best

52 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i5.5.1.0/24 192.168.1.1 0 100 0 1100 ? *>i8.8.8.0/24 192.168.1.1 0 100 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *> 164.144.11.0/24 100.64.2.1 0 0 1200 123 109 ? *>i172.31.100.0/30 192.168.100.100 0 100 0 i *>i192.168.1.1/32 192.168.1.1 0 100 0 i *> 192.168.2.2/32 0.0.0.0 0 32768 i Processed 7 prefixes, 7 paths RP/0/0/CPU0:XR2# RP/0/0/CPU0:XR2# show bgp neighbor 100.64.2.1 advertised-routes Wed Jan 23 20:52:47.990 UTC Network Next Hop From AS Path 5.5.1.0/24 100.64.2.254 192.168.1.1 100 1100? 8.8.8.0/24 100.64.2.254 192.168.1.1 100 1100 7018i Processed 2 prefixes, 2 paths RP/0/0/CPU0:XR2#

XR1 is not advertising the following prefixes that are not part of RFC1918 for the following reasons: 5.5.1.0/24 and 8.8.8.0/24 – they were directly learnt from the EBGP neighbor 100.64.1.1 XR2 is not advertising the following prefixes that are not part of RFC1918 for the following reasons: 164.144.11.0/24 – it was learnt directly from the EBGP neighbor 100.64.2.1

53 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Blocking based off AS-PATH Task Objective:

Establish an EBGP session with the following devices: (Use the PASS-ALL RPL for inbound/outbound)

Node BGP Peer IP Address Remote-AS # XR1 100.64.11.1 2000

XR2 100.64.22.1 2000

Verify routes that are received from the BGP Peer Create an RPL (BAD-ASN) on XR1 that drops routes that match traversal through AS 123

using inline set notation. Create an RPL (BAD-ASN) on XR2 that drops routes that match traversal through AS 123

using a Prefix set instead of inline set notation. Verify the RPLs Apply RPL BAD-ASN inbound to all EBGP peers, and verify outbound routes.

Step 9. Establish BGP Sessions to AS 2000 on XR1 and XR2 XR1 router bgp 100 neighbor 100.64.11.1 remote-as 2000 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out commit end XR2 router bgp 100 neighbor 100.64.22.1 remote-as 2000 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out commit end

54 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 10. Analyze BGP table on XR1 and XR2 XR1 and XR2

show bgp ipv4 unicast XR1 RP/0/0/CPU0:XR1# show bgp ipv4 unicast BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 15 BGP main routing table version 15 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 0 1100 ? * 100.64.11.1 0 0 2000 ? *>i8.8.4.0/24 192.168.2.2 0 100 0 2000 2828 ? *> 8.8.8.0/24 100.64.1.1 0 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i164.144.11.0/24 192.168.2.2 0 100 0 1200 123 109 ? *> 164.144.22.0/24 100.64.11.1 0 0 2000 123 27343 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *> 192.168.1.1/32 0.0.0.0 0 32768 i *>i192.168.2.2/32 192.168.2.2 0 100 0 i Processed 9 prefixes, 10 paths RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# show bgp ipv4 unicast Wed Jan 23 21:19:00.972 UTC BGP router identifier 192.168.2.2, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 15 BGP main routing table version 15 BGP NSR Initial initsync version 5 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i5.5.1.0/24 192.168.1.1 0 100 0 1100 ? *> 8.8.4.0/24 100.64.22.1 0 0 2000 2828 ? *>i8.8.8.0/24 192.168.1.1 0 100 0 1100 7018 i

55 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

*>i10.100.100.0/24 192.168.100.100 0 100 0 i *> 164.144.11.0/24 100.64.2.1 0 0 1200 123 109 ? *>i164.144.22.0/24 192.168.1.1 0 100 0 2000 123 27343 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *>i192.168.1.1/32 192.168.1.1 0 100 0 i *> 192.168.2.2/32 0.0.0.0 0 32768 i Processed 9 prefixes, 9 paths RP/0/0/CPU0:XR2#

Step 11. Create the RPL BAD-ASN on XR1 and XR2. There are two methods to match AS 123, using regular expressions or XR’s ‘passess-through’ matching operation. You can pick either method or mix and match them, they work the same way and you will see the same result. The only difference is XR’s passess-through is more readable.

Regular Expression Passes-through Operation XR1 (inline set) route-policy BAD-ASN if as-path in (ios-regex '_123_') then drop endif pass end-policy commit end

XR1 (inline set) route-policy BAD-ASN if as-path passes-through '123' then drop endif pass end-policy commit end

XR2 (AS set) as-path-set AS-PATH-SET-BAD-AS ios-regex '_123_' end-set route-policy BAD-ASN if as-path in AS-PATH-SET-BAD-AS then drop endif pass end-policy commit end

XR2 (AS set) as-path-set AS-PATH-SET-BAD-AS passes-through '123' end-set route-policy BAD-ASN if as-path in AS-PATH-SET-BAD-AS then drop endif pass end-policy commit end

56 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 12. Verify the intended results Execute the following commands to test the RPL and verify if it is filtering AS 123 before applying it to the EBGP neighbor XR1 and XR2

show bgp ipv4 unicast route-policy BAD-ASN show bgp

XR1 RP/0/0/CPU0:XR1# show bgp ipv4 unicast route-policy BAD-ASN <output omitted> Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 0 1100 ? * 100.64.11.1 0 0 2000 ? *>i8.8.4.0/24 192.168.2.2 0 100 0 2000 2828 ? *> 8.8.8.0/24 100.64.1.1 0 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *> 192.168.1.1/32 0.0.0.0 0 32768 i *>i192.168.2.2/32 192.168.2.2 0 100 0 i Processed 7 prefixes, 8 paths RP/0/0/CPU0:XR1# show bgp <output omitted> Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 0 1100 ? * 100.64.11.1 0 0 2000 ? *>i8.8.4.0/24 192.168.2.2 0 100 0 2000 2828 ? *> 8.8.8.0/24 100.64.1.1 0 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i164.144.11.0/24 192.168.2.2 0 100 0 1200 123 109 ? *> 164.144.22.0/24 100.64.11.1 0 0 2000 123 27343 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *> 192.168.1.1/32 0.0.0.0 0 32768 i *>i192.168.2.2/32 192.168.2.2 0 100 0 i Processed 9 prefixes, 10 paths RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# show bgp ipv4 unicast route-policy BAD-ASN <output omitted>

57 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i5.5.1.0/24 192.168.1.1 0 100 0 1100 ? *> 8.8.4.0/24 100.64.22.1 0 0 2000 2828 ? *>i8.8.8.0/24 192.168.1.1 0 100 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *>i192.168.1.1/32 192.168.1.1 0 100 0 i *> 192.168.2.2/32 0.0.0.0 0 32768 i Processed 7 prefixes, 7 paths RP/0/0/CPU0:XR2# RP/0/0/CPU0:XR2# show bgp <output omitted> Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i5.5.1.0/24 192.168.1.1 0 100 0 1100 ? *> 8.8.4.0/24 100.64.22.1 0 0 2000 2828 ? *>i8.8.8.0/24 192.168.1.1 0 100 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *> 164.144.11.0/24 100.64.2.1 0 0 1200 123 109 ? *>i164.144.22.0/24 192.168.1.1 0 100 0 2000 123 27343 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *>i192.168.1.1/32 192.168.1.1 0 100 0 i *> 192.168.2.2/32 0.0.0.0 0 32768 i Processed 9 prefixes, 9 paths RP/0/0/CPU0:XR2#

Notice how in the RPL test command the AS 123 prefixes (highlited in yellow) are missing from XR1 and XR2 as expected Step 13. Apply the RPL BAD-ASN Inbound to EBGP Peers XR1

router bgp 100 neighbor 100.64.1.1 address-family ipv4 unicast route-policy BAD-ASN in neighbor 100.64.11.1 address-family ipv4 unicast route-policy BAD-ASN in commit end

XR2

router bgp 100

58 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

neighbor 100.64.2.1 address-family ipv4 unicast route-policy BAD-ASN in neighbor 100.64.22.1 address-family ipv4 unicast route-policy BAD-ASN in commit end

59 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 14. Verify RPL configuration XR1

show run router bgp 100 neighbor 100.64.1.1 show run router bgp 100 neighbor 100.64.11.1 show rpl route-policy states show rpl route-policy BAD-ASN attachpoints

XR2

show run router bgp 100 neighbor 100.64.2.1 show run router bgp 100 neighbor 100.64.22.1 show rpl route-policy states show rpl route-policy BAD-ASN attachpoints

XR1 RP/0/0/CPU0:XR1# show run router bgp 100 neighbor 100.64.1.1 Wed Jan 23 22:11:54.625 UTC router bgp 100 neighbor 100.64.1.1 remote-as 1100 address-family ipv4 unicast route-policy BAD-ASN in route-policy RFC1918 out ! ! ! RP/0/0/CPU0:XR1# show run router bgp 100 neighbor 100.64.11.1 Wed Jan 23 22:12:01.735 UTC router bgp 100 neighbor 100.64.11.1 remote-as 2000 address-family ipv4 unicast route-policy BAD-ASN in route-policy PASS-ALL out ! ! ! RP/0/0/CPU0:XR1# show rpl route-policy states Wed Jan 23 22:12:07.944 UTC ACTIVE -- Referenced by at least one policy which is attached INACTIVE -- Only referenced by policies which are not attached UNUSED -- Not attached (directly or indirectly) and not referenced The following policies are (ACTIVE) ------------------------------------------ route-policy BAD-ASN if as-path in (ios-regex '_123_') then drop endif pass end-policy

60 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

! route-policy PASS-ALL pass end-policy ! route-policy RFC1918 if destination in (10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16) then drop endif pass end-policy ! The following policies are (INACTIVE) ------------------------------------------ None found with this status. The following policies are (UNUSED) ------------------------------------------ None found with this status. RP/0/0/CPU0:XR1# show rpl route-policy BAD-ASN attachpoints Wed Jan 23 22:12:14.114 UTC BGP Attachpoint: Neighbor Neighbor/Group type afi/safi in/out vrf name bound by -------------------------------------------------------------------------------- 100.64.1.1 -- IPv4/uni in default BAD-ASN 100.64.11.1 -- IPv4/uni in default BAD-ASN RP/0/0/CPU0:XR1#

Notice how the policy is now applied and active Step 15. Verify the intended results The locally generated prefix should not be advertised to EBGP neighbors XR1

show bgp neighbor 100.64.1.1 show bgp neighbor 100.64.1.1 routes show bgp neighbor 100.64.11.1 show bgp neighbor 100.64.11.1 routes

XR2

show bgp neighbor 100.64.2.1 show bgp neighbor 100.64.2.1 routes show bgp neighbor 100.64.22.1 show bgp neighbor 100.64.22.1 routes

61 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR1 RP/0/0/CPU0:XR1# show bgp nei 100.64.1.1 Wed Jan 23 22:28:14.398 UTC BGP neighbor is 100.64.1.1 <output omitted> For Address Family: IPv4 Unicast BGP neighbor version 17 Update group: 0.3 Filter-group: 0.1 No Refresh request being processed Route refresh request: received 0, sent 2 Policy for incoming advertisements is BAD-ASN Policy for outgoing advertisements is RFC1918 2 accepted prefixes, 2 are bestpaths Cumulative no. of prefixes denied: 2. No policy: 2, Failed RT match: 0 By ORF policy: 0, By policy: 0 Prefix advertised 8, suppressed 0, withdrawn 6 Maximum prefixes allowed 1048576 Threshold for warning message 75%, restart interval 0 min An EoR was not received during read-only mode Last ack version 17, Last synced ack version 0 Outstanding version objects: current 0, max 2 Additional-paths operation: None Connections established 1; dropped 0 Local host: 100.64.1.254, Local port: 179, IF Handle: 0x00000400 Foreign host: 100.64.1.1, Foreign port: 18767 Last reset 04:37:45, due to BGP Notification sent: peer in wrong AS Time since last notification sent to neighbor: 04:37:45 Error Code: peer in wrong AS Notification data sent: DC050000 RP/0/0/CPU0:XR1# show bgp nei 100.64.1.1 routes Wed Jan 23 22:28:25.557 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 17 BGP main routing table version 17 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 0 1100 ? *> 8.8.8.0/24 100.64.1.1 0 0 1100 7018 i Processed 2 prefixes, 2 paths RP/0/0/CPU0:XR1#

XR1 is not advertising AS 123. XR2 should show also not be advertising AS 123

62 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

MPLS Configuration Task Objective:

Configure LDP between the following devices: XR1-XR2 and RR-1 Verify LDP neighbor relationship is established Understand difference between label advertisement and label allocation filtering

Cisco Website for MPLS Switching Configuration

Step 1. Configure LDP XR1

mpls ldp router-id 192.168.1.1 log neighbor interface GigabitEthernet 0/0/0/0 interface GigabitEthernet 0/0/0/1 commit end

XR2

mpls ldp router-id 192.168.2.2 log neighbor interface GigabitEthernet 0/0/0/0 interface GigabitEthernet 0/0/0/1 commit end

Step 2. Verify LDP is enabled on the interfaces XR1 and XR2

show mpls interfaces RP/0/0/CPU0:XR1# show mpls interfaces Wed Jan 23 22:39:32.741 UTC Interface LDP Tunnel Static Enabled -------------------------- -------- -------- -------- -------- GigabitEthernet0/0/0/0 Yes No No Yes GigabitEthernet0/0/0/1 Yes No No Yes RP/0/0/CPU0:XR1#

63 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

The output above shows LDP is enabled on both interfaces Step 3. Configure MPLS OAM on XR1 and XR2 MPLS OAM allows for Management and troubleshooting tools for MPLS switching which will be used in this section to perform MPLS pings and traceroutes. XR1 and XR2

mpls oam commit end

Step 4. Verify LDP Configuration and Functionality XR1 and XR2

show mpls interface show mpls ldp neighbor brief show mpls ldp parameters show mpls ldp summary show mpls ldp binding brief

RP/0/0/CPU0:XR1# show mpls interface Wed Jan 23 22:44:27.461 UTC Interface LDP Tunnel Static Enabled -------------------------- -------- -------- -------- -------- GigabitEthernet0/0/0/0 Yes No No Yes GigabitEthernet0/0/0/1 Yes No No Yes RP/0/0/CPU0:XR1#show mpls ldp neighbor brief Wed Jan 23 22:44:51.090 UTC Peer GR NSR Up Time Discovery Addresses Labels ipv4 ipv6 ipv4 ipv6 ipv4 ipv6 ----------------- -- --- ---------- ---------- ---------- ------------ 192.168.100.100:0 N N 00:06:17 1 0 5 0 8 0 192.168.2.2:0 N N 00:05:46 1 0 5 0 10 0 RP/0/0/CPU0:XR1# show mpls ldp parameters Wed Jan 23 22:44:56.949 UTC LDP Parameters: Role: Active Protocol Version: 1 Router ID: 192.168.1.1 Null Label: IPv4: Implicit Session: Hold time: 180 sec Keepalive interval: 60 sec Backoff: Initial:15 sec, Maximum:120 sec Global MD5 password: Disabled Discovery:

64 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Link Hellos: Holdtime:15 sec, Interval:5 sec Targeted Hellos: Holdtime:90 sec, Interval:10 sec Quick-start: Enabled (by default) Transport address: IPv4: 192.168.1.1 Graceful Restart: Disabled NSR: Disabled, Not Sync-ed Timeouts: Housekeeping periodic timer: 10 sec Local binding: 300 sec Forwarding state in LSD: 15 sec Delay in AF Binding Withdrawl from peer: 180 sec Max: 1500 interfaces (1200 attached, 300 TE tunnel), 2000 peers OOR state Memory: Normal RP/0/0/CPU0:XR1# show mpls ldp summary Wed Jan 23 22:45:02.279 UTC AFIs : IPv4 Routes : 10 prefixes Bindings : 14 prefixes Local : 10 Remote : 18 Neighbors : 2 Hello Adj : 2 Addresses : 5 Interfaces: 2 LDP configured RP/0/0/CPU0:XR1# show mpls ldp binding brief Wed Jan 23 22:45:08.018 UTC Prefix Local Advertised Remote Bindings Label (peers) (peers) ------------------ --------- ---------- --------------- 10.12.1.0/24 ImpNull 2 2 10.13.1.0/24 ImpNull 2 2 10.23.1.0/24 24001 2 2 10.100.100.0/24 - 0 1 100.64.1.0/24 ImpNull 2 1 100.64.2.0/24 - 0 1 100.64.11.0/24 ImpNull 2 0 100.64.22.0/24 24003 2 1 100.96.1.0/24 - 0 1 100.96.2.0/24 24004 2 0 172.31.100.0/30 - 0 1 192.168.1.1/32 ImpNull 2 2 192.168.2.2/32 24002 2 2 192.168.100.100/32 24000 2 2 RP/0/0/CPU0:XR1#

Step 5. Verify MPLS ping and MPLS traceroute commands This requires MPLS OAM on all routers in the path. We already enabled it on XR1 and XR2 and it is preconfigured on all the P routers in the lab.

65 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR1 ping mpls ipv4 192.168.2.2/32 traceroute mpls ipv4 192.168.2.2/32 show mpls forwarding RP/0/0/CPU0:XR1# ping mpls ipv4 192.168.2.2/32 Sending 5, 100-byte MPLS Echos to 192.168.2.2/32, timeout is 2 seconds, send interval is 0 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/6/20 ms RP/0/0/CPU0:XR1# traceroute mpls ipv4 192.168.2.2/32 Wed Jan 23 23:14:29.278 UTC Tracing MPLS Label Switched Path to 192.168.2.2/32, timeout is 2 seconds Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. 0 10.12.1.1 MRU 1500 [Labels: implicit-null Exp: 0] ! 1 10.12.1.2 20 ms RP/0/0/CPU0:XR1# RP/0/0/CPU0:XR1# show mpls forwarding Wed Jan 23 23:16:03.081 UTC Local Outgoing Prefix Outgoing Next Hop Bytes Label Label or ID Interface Switched ------ ----------- ------------------ ------------ --------------- ------------ 24000 Pop 192.168.100.100/32 Gi0/0/0/1 10.13.1.3 9857 24001 Pop 10.23.1.0/24 Gi0/0/0/1 10.13.1.3 0 24002 Pop 192.168.2.2/32 Gi0/0/0/0 10.12.1.2 9321 24003 Unlabelled 100.64.22.0/24 Gi0/0/0/0 10.12.1.2 0 24004 Unlabelled 100.96.2.0/24 Gi0/0/0/0 10.12.1.2 0 RP/0/0/CPU0:XR1#

66 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

The implicit-null was used because XR1 and XR2 are directly connected. If you shut down the link between the two of them, and then re-run the ping test, you will see the MPLS label between XR1 and RR

67 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 6. LDP Trace command Just as with other protocols, LDP also has a tracing functionality for troubleshooting purposes. To see all options available execute the command: show mpls ldp trace ? RP/0/0/CPU0:XR1# show mpls ldp trace ? binding LDP binding event traces(cisco-support) capabilities LDP Capabilities event traces(cisco-support) config LDP configuration event traces(cisco-support) dev LDP development private traces(cisco-support) discovery LDP Hello/discovery and adj event traces(cisco-support) error LDP error traces(cisco-support) file Specific file(cisco-support) forwarding LDP forwarding event traces(cisco-support) gr LDP graceful-restart event traces(cisco-support) hexdump Display traces in hexadecimal(cisco-support) iccp LDP ICCP signaling event traces(cisco-support) igp-sync LDP IGP sync event traces(cisco-support) interface LDP interface event traces(cisco-support) last Display last <n> entries(cisco-support) location Card location(cisco-support) misc LDP miscellaneous event traces(cisco-support) mldp LDP mLDP event traces(cisco-support) nsr LDP non-stop routing event traces(cisco-support) peer LDP peer session event traces(cisco-support) process LDP process-level event traces(cisco-support) pw LDP L2VPN pseudo-wire event traces(cisco-support) reverse Display latest traces first(cisco-support) route LDP route event traces(cisco-support) since show traces from(cisco-support) stats Display statistics(cisco-support) tailf Display new traces as they are added(cisco-support) unique Unique entries with counts(cisco-support) usec Display timestamp w/usec detail(cisco-support) verbose Display internal debugging information(cisco-support) vrf LDP VRF event traces(cisco-support) wide Dont display buffer name, node name, tid(cisco-support) wrapping Wrapping entries(cisco-support) | Output Modifiers <cr> RP/0/0/CPU0:XR1#

68 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

MPLS L3VPN (Optional)

Local VRF Configuration Task Objective:

Define VRF VPN_01 & VPN_02 on XR1 & XR2 Set Route Targets Import/Export of VPN_01 to 100:1 Set Route Targets Import/Export of VPN_02 to 100:2 Create Loopbacks 100 & 101, assign VRFs to the interfaces listed below and assign the

proper IP addresses as shown in the table below. Verify local connectivity for each VRF

Node VRF Interface 1 IP Address Interface 2 IP Address

XR1 VPN_01 Lo 100 192.168.10.1/24 Gi0/0/0/4.10 192.168.1.254/24

XR1 VPN_02 Lo 101 172.16.10.1/24 Gi0/0/0/4.20 172.16.1.254/24

XR2 VPN_01 Lo 100 192.168.20.1/24 Gi0/0/0/4.10 192.168.2.254/24

XR2 VPN_02 Lo 101 172.16.20.1/24 Gi0/0/0/4.20 172.16.2.254/24

Cisco Website for IOS-XR MPLS L3 VPN

Step 1. Configure VRF VPN_01 & VPN_02 In IOS, if an IP address is already programmed when you associate a VRF to an interface, it removes the IP address automatically. In IOS-XR, you have to do this manually. XR1

vrf VPN_01 address-family ipv4 unicast import route-target 100:1 export route-target 100:1 vrf VPN_02 address-family ipv4 unicast import route-target 100:2 export route-target 100:2 interface Loopback100

69 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

vrf VPN_01 ipv4 address 192.168.10.1 255.255.255.0 interface GigabitEthernet0/0/0/4.10 vrf VPN_01 ipv4 address 192.168.1.254 255.255.255.0 encapsulation dot1q 10 interface Loopback101 vrf VPN_02 ipv4 address 172.16.10.1 255.255.255.0 interface GigabitEthernet0/0/0/4.20 vrf VPN_02 ipv4 address 172.16.1.254 255.255.255.0 encapsulation dot1q 20 interface GigabitEthernet0/0/0/4 no shutdown commit end

XR2

vrf VPN_01 address-family ipv4 unicast import route-target 100:1 export route-target 100:1 vrf VPN_02 address-family ipv4 unicast import route-target 100:2 export route-target 100:2 interface Loopback100 vrf VPN_01 ipv4 address 192.168.20.1 255.255.255.0 interface GigabitEthernet0/0/0/4.10 vrf VPN_01 ipv4 address 192.168.2.254 255.255.255.0 encapsulation dot1q 10 interface Loopback101 vrf VPN_02 ipv4 address 172.16.20.1 255.255.255.0

70 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

interface GigabitEthernet0/0/0/4.20 vrf VPN_02 ipv4 address 172.16.2.254 255.255.255.0 encapsulation dot1q 20 interface GigabitEthernet0/0/0/4 no shutdown commit end

Step 2. Verify VRF Configuration To see all the VRFs (including the default (global)), the word ‘all’ can be used in the following show commands show vrf <vrf name> show ipv4 vrf <vrf name> int br show route vrf <vrf name> RP/0/0/CPU0:XR1# show vrf all VRF RD RT AFI SAFI Management not set VPN_01 not set import 100:1 IPV4 Unicast export 100:1 IPV4 Unicast VPN_02 not set import 100:2 IPV4 Unicast export 100:2 IPV4 Unicast RP/0/0/CPU0:XR1# show ipv4 vrf all int brief Interface IP-Address Status Protocol Vrf-Name Loopback0 192.168.1.1 Up Up default Loopback100 192.168.10.1 Up Up VPN_01 Loopback101 172.16.10.1 Up Up VPN_02 MgmtEth0/0/CPU0/0 198.18.1.10 Up Up Management GigabitEthernet0/0/0/0 10.12.1.1 Up Up default GigabitEthernet0/0/0/1 10.13.1.1 Up Up default GigabitEthernet0/0/0/2 100.64.1.254 Up Up default GigabitEthernet0/0/0/3 100.64.11.254 Up Up default GigabitEthernet0/0/0/4 unassigned Up Up default GigabitEthernet0/0/0/4.10 192.168.1.254 Up Up VPN_01 GigabitEthernet0/0/0/4.20 172.16.1.254 Up Up VPN_02 RP/0/0/CPU0:XR1# show route vrf all VRF: **nVSatellite Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path

71 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path Gateway of last resort is not set L 10.0.0.1/32 is directly connected, 23:53:58, nV-Loopback0 L 10.0.0.2/32 is directly connected, 23:53:58, nV-Loopback1 VRF: Management Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path 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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path Gateway of last resort is 198.18.1.1 to network 0.0.0.0 S* 0.0.0.0/0 [1/0] via 198.18.1.1, 09:23:12 C 198.18.1.0/24 is directly connected, 09:23:12, MgmtEth0/0/CPU0/0 L 198.18.1.10/32 is directly connected, 09:23:12, MgmtEth0/0/CPU0/0 VRF: VPN_01 Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path 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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path Gateway of last resort is not set C 192.168.1.0/24 is directly connected, 00:07:48, GigabitEthernet0/0/0/4.10 L 192.168.1.254/32 is directly connected, 00:07:48, GigabitEthernet0/0/0/4.10 C 192.168.10.0/24 is directly connected, 00:07:48, Loopback100 L 192.168.10.1/32 is directly connected, 00:07:48, Loopback100 VRF: VPN_02 Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path 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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path

72 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Gateway of last resort is not set C 172.16.1.0/24 is directly connected, 00:07:48, GigabitEthernet0/0/0/4.20 L 172.16.1.254/32 is directly connected, 00:07:48, GigabitEthernet0/0/0/4.20 C 172.16.10.0/24 is directly connected, 00:07:48, Loopback101 L 172.16.10.1/32 is directly connected, 00:07:48, Loopback101 RP/0/0/CPU0:XR1#

In IOS XR, VRFs RD are configured under the BGP configuration. This is demonstrated later in this lab Step 3. Verify VRF Connectivity. Ping VRF Local CEs XR1

ping vrf VPN_01 192.168.1.1 ping vrf VPN_02 172.16.1.1

XR2

ping vrf VPN_01 192.168.2.1 ping vrf VPN_02 172.16.2.1

73 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR1 RP/0/0/CPU0:XR1# ping vrf VPN_01 192.168.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/9 ms RP/0/0/CPU0:XR1# ping vrf VPN_02 172.16.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/9 ms RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# ping vrf VPN_01 192.168.2.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.2.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/9 ms RP/0/0/CPU0:XR2# ping vrf VPN_02 172.16.2.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.2.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/9 ms RP/0/0/CPU0:XR2#

74 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

BGP VPNv4 Configuration (Optional) Task Objective:

Initialize the VPNv4 Address Family Establish a VPNv4 BGP session with the route-reflector 192.168.100.100 (RR-1) Initialize the IPv4 Address family for both VRFs, and redistribute connected networks into it Verify routes are exchanged between the nodes, and that connectivity from VRF Loopback

to VRF Loopback exists

Step 4. Create BGP 100 process, and configure BGP sessions to the RR-1 XR1 and XR2

router bgp 100 address-family vpnv4 unicast neighbor 192.168.100.100 address-family vpnv4 unicast ! vrf VPN_01 rd 100:1 address-family ipv4 unicast redistribute connected ! vrf VPN_02 rd 100:2 address-family ipv4 unicast redistribute connected commit end

In IOS XR the VRF RDs are set under the BGP vrf configuration The addres-family command initializes the VPNv4 Address family on the router Step 5. Verify VPNv4 routes have been exchanged To see all the VRFs (including the default (global)), the word ‘all’ can be used in the following show commands. show bgp vpnv4 unicast summary show bgp vpnv4 unicast vrf <vrf name> show bgp vrf <vrf name> summary show ipv4 vrf <vrf name> interface brief show route vrf <vrf name>

75 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# show bgp vpnv4 unicast summary Thu Jan 24 00:09:25.832 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0x0 RD version: 0 BGP main routing table version 19 BGP NSR Initial initsync version 11 (Not Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 19 19 19 19 19 0 Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 192.168.100.100 0 100 452 416 19 0 0 00:00:52 4 RP/0/0/CPU0:XR1#show bgp vpnv4 unicast vrf VPN_01 Thu Jan 24 00:13:19.426 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0x0 RD version: 0 BGP main routing table version 19 BGP NSR Initial initsync version 11 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 100:1 (default for vrf VPN_01) *> 192.168.1.0/24 0.0.0.0 0 32768 ? *>i192.168.2.0/24 192.168.2.2 0 100 0 ? *> 192.168.10.0/24 0.0.0.0 0 32768 ? *>i192.168.20.0/24 192.168.2.2 0 100 0 ? Processed 4 prefixes, 4 paths RP/0/0/CPU0:XR1#show bgp vpnv4 unicast vrf VPN_02 Thu Jan 24 00:13:29.215 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0x0 RD version: 0 BGP main routing table version 19 BGP NSR Initial initsync version 11 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 100:2 (default for vrf VPN_02)

76 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

*> 172.16.1.0/24 0.0.0.0 0 32768 ? *>i172.16.2.0/24 192.168.2.2 0 100 0 ? *> 172.16.10.0/24 0.0.0.0 0 32768 ? *>i172.16.20.0/24 192.168.2.2 0 100 0 ? Processed 4 prefixes, 4 paths RP/0/0/CPU0:XR1# RP/0/0/CPU0:XR1# show bgp vrf all summary Thu Jan 24 00:09:40.131 UTC VRF: VPN_01 ----------- BGP VRF VPN_01, state: Active BGP Route Distinguisher: 100:1 VRF ID: 0x60000004 BGP router identifier 192.168.1.1, local AS number 100 Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000013 RD version: 17 BGP main routing table version 19 BGP NSR Initial initsync version 11 (Not Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 19 19 19 19 19 0 VRF: VPN_02 ----------- BGP VRF VPN_02, state: Active BGP Route Distinguisher: 100:2 VRF ID: 0x60000005 BGP router identifier 192.168.1.1, local AS number 100 Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000014 RD version: 19 BGP main routing table version 19 BGP NSR Initial initsync version 11 (Not Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 19 19 19 19 19 0 RP/0/0/CPU0:XR1# show ipv4 vrf all interface brief Thu Jan 24 00:10:01.960 UTC Interface IP-Address Status Protocol Vrf-Name Loopback0 192.168.1.1 Up Up default Loopback100 192.168.10.1 Up Up VPN_01 Loopback101 172.16.10.1 Up Up VPN_02 MgmtEth0/0/CPU0/0 198.18.1.10 Up Up Management GigabitEthernet0/0/0/0 10.12.1.1 Up Up default GigabitEthernet0/0/0/1 10.13.1.1 Up Up default GigabitEthernet0/0/0/2 100.64.1.254 Up Up default GigabitEthernet0/0/0/3 100.64.11.254 Up Up default

77 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

GigabitEthernet0/0/0/4 unassigned Up Up default GigabitEthernet0/0/0/4.10 192.168.1.254 Up Up VPN_01 GigabitEthernet0/0/0/4.20 172.16.1.254 Up Up VPN_02 RP/0/0/CPU0:XR1# show route vrf all <output omitted> VRF: VPN_01 Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path 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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path Gateway of last resort is not set C 192.168.1.0/24 is directly connected, 00:33:14, GigabitEthernet0/0/0/4.10 L 192.168.1.254/32 is directly connected, 00:33:14, GigabitEthernet0/0/0/4.10 B 192.168.2.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 00:01:33 C 192.168.10.0/24 is directly connected, 00:33:14, Loopback100 L 192.168.10.1/32 is directly connected, 00:33:14, Loopback100 B 192.168.20.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 00:01:33 VRF: VPN_02 Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path 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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path Gateway of last resort is not set C 172.16.1.0/24 is directly connected, 00:33:14, GigabitEthernet0/0/0/4.20 L 172.16.1.254/32 is directly connected, 00:33:14, GigabitEthernet0/0/0/4.20 B 172.16.2.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 00:01:33 C 172.16.10.0/24 is directly connected, 00:33:14, Loopback101 L 172.16.10.1/32 is directly connected, 00:33:14, Loopback101 B 172.16.20.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 00:01:33 RP/0/0/CPU0:XR1#

78 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 6. Verify connectivity across the core for both VRFs XR1 pings 192.168.2.254 (remote CE device connected to XR2) in VPN_01

ping vrf VPN_01 192.168.2.254 XR2 pings 172.16.1.254 (remote CE device connected to XR1) in VPN_02

ping vrf VPN_02 172.16.1.254 XR1 RP/0/0/CPU0:XR1# ping vrf VPN_01 192.168.2.254 Thu Jan 24 00:20:23.487 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.2.254, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/9 ms RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# ping vrf VPN_02 172.16.1.254 Thu Jan 24 00:20:32.956 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.1.254, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/7/19 ms RP/0/0/CPU0:XR2#

79 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

BGP PE-CE Configuration Task Objective:

On XR1 and XR2 configure a BGP session on VRF VPN_01 as indicated in the table below Verify that routes have been exchanged, and connectivity is successful across the core. CE devices are preconfigured.

PE VRF / CE CE IP Address CE Remote-AS

XR1 VPN_01 192.168.1.1 200

XR2 VPN_01 192.168.2.1 200

Step 7. Configure BGP as PE-CE Routing Protocol XR1

router bgp 100 vrf VPN_01 neighbor 192.168.1.1 remote-as 200 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out as-override commit end

XR2

router bgp 100 vrf VPN_01 neighbor 192.168.2.1 remote-as 200 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out as-override commit end

80 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 8. Verify BGP adjacency to CE as well as reachability

show run router bgp <AS> vrf <vrf name> show bgp vrf <vrf name> summary show bgp vrf <vrf name> show route vrf <vrf name>

RP/0/0/CPU0:XR1# show run router bgp 100 vrf VPN_01 Thu Jan 24 03:42:45.315 UTC router bgp 100 vrf VPN_01 rd 100:1 address-family ipv4 unicast redistribute connected ! neighbor 192.168.1.1 remote-as 200 address-family ipv4 unicast route-policy PASS-ALL in route-policy PASS-ALL out as-override ! ! ! ! RP/0/0/CPU0:XR1# show bgp vrf VPN_01 summary Thu Jan 24 03:42:55.304 UTC BGP VRF VPN_01, state: Active BGP Route Distinguisher: 100:1 VRF ID: 0x60000004 BGP router identifier 192.168.1.1, local AS number 100 Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000013 RD version: 22 BGP main routing table version 22 BGP NSR Initial initsync version 11 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 22 22 22 22 22 0 Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 192.168.1.1 0 200 6 7 22 0 0 00:01:03 2 RP/0/0/CPU0:XR1# show bgp vrf VPN_01 Thu Jan 24 03:43:15.373 UTC BGP VRF VPN_01, state: Active BGP Route Distinguisher: 100:1 VRF ID: 0x60000004 BGP router identifier 192.168.1.1, local AS number 100 Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000013 RD version: 22 BGP main routing table version 22 BGP NSR Initial initsync version 11 (Reached) BGP NSR/ISSU Sync-Group versions 0/0

81 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 100:1 (default for vrf VPN_01) *> 192.168.1.0/24 0.0.0.0 0 32768 ? * 192.168.1.1 0 0 200 ? *>i192.168.2.0/24 192.168.2.2 0 100 0 ? *> 192.168.10.0/24 0.0.0.0 0 32768 ? *>i192.168.20.0/24 192.168.2.2 0 100 0 ? *> 192.168.100.0/24 192.168.1.1 0 0 200 ? *>i192.168.200.0/24 192.168.2.2 0 100 0 200 ? Processed 6 prefixes, 7 paths RP/0/0/CPU0:XR1# show route vrf VPN_01 Thu Jan 24 03:43:52.171 UTC Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path D - EIGRP, EX - EIGRP exter`nal, 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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path Gateway of last resort is not set C 192.168.1.0/24 is directly connected, 04:06:44, GigabitEthernet0/0/0/4.10 L 192.168.1.254/32 is directly connected, 04:06:44, GigabitEthernet0/0/0/4.10 B 192.168.2.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 03:35:03 C 192.168.10.0/24 is directly connected, 04:06:44, Loopback100 L 192.168.10.1/32 is directly connected, 04:06:44, Loopback100 B 192.168.20.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 03:35:03 B 192.168.100.0/24 [20/0] via 192.168.1.1, 00:02:00 B 192.168.200.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 00:01:18 RP/0/0/CPU0:XR1#

Notice the 192.168.100.0/24 and 192.168.200.0/24 routes have been added. Each route was learned from a CE_Device. The Next-Hop IP address should help you identify which XR router the route was learned from Step 9. Verify connectivity across the Core XR1

ping vrf VPN_01 192.168.200.1 XR2

ping vrf VPN_01 192.168.100.1

82 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR1 RP/0/0/CPU0:XR1# ping vrf VPN_01 192.168.200.1 Thu Jan 24 03:53:57.799 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.200.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/19 ms RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# ping vrf VPN_01 192.168.100.1 Thu Jan 24 03:54:23.207 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 192.168.100.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/9/19 ms RP/0/0/CPU0:XR2#

83 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

OSPF PE-CE Configuration

Task Objective:

On XR1 and XR2 configure OSPF Process 100 for VRF VPN_02 Mutually redistribute routes between OSPF and BGP Verify that routes have been exchanged, and connectivity is successful across the

core. CE devices are already preconfigured.

PE VRF / CE Interfaces OSPF Area

XR1 VPN_02 Gi0/0/0/4 , Lo101 1

XR2 VPN_02 Gi0/0/0/4 , Lo101 2

Step 10. Configure OSPF as PE-CE Routing Protocol We changed the OSPF process from what the global routing table is using (router ospf 1). It is possible to use the same process number as the global table. We are just making it easier for you to read XR1 and XR2

router ospf 100 vrf VPN_02 redistribute bgp 100 area 0 interface Loopback101 interface GigabitEthernet0/0/0/4.20 router bgp 100 vrf VPN_02 address-family ipv4 unicast redistribute ospf 100 commit end

84 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 11. Verify OSPF Adjacency to CE and Reachability show run router ospf <process> vrf <vrf name> show ospf vrf <vrf name> interface brief show ospf vrf <vrf name> neighbor show route vrf <vrf name> show run router ospf 100 vrf VPN_02 show ospf vrf VPN_02 interface brief show ospf vrf VPN_02 neighbor show route vrf VPN_02 RP/0/0/CPU0:XR1# show run router ospf 100 vrf VPN_02 Thu Jan 24 04:19:43.843 UTC router ospf 100 vrf VPN_02 redistribute bgp 100 area 0 interface Loopback101 ! interface GigabitEthernet0/0/0/4.20 ! ! ! ! RP/0/0/CPU0:XR1# show ospf vrf VPN_02 interface brief Thu Jan 24 04:19:54.572 UTC * Indicates MADJ interface, (P) Indicates fast detect hold down state Interfaces for OSPF 100, VRF VPN_02 Interface PID Area IP Address/Mask Cost State Nbrs F/C Lo101 100 0 172.16.10.1/24 1 LOOP 0/0 Gi0/0/0/4.20 100 0 172.16.1.254/24 1 BDR 1/1 RP/0/0/CPU0:XR1# show ospf vrf VPN_02 neighbor Thu Jan 24 04:20:02.902 UTC * Indicates MADJ interface # Indicates Neighbor awaiting BFD session up Neighbors for OSPF 100, VRF VPN_02 Neighbor ID Pri State Dead Time Address Interface 172.16.100.1 1 FULL/DR 00:00:32 172.16.1.1 GigabitEthernet0/0/0/4.20 Neighbor is up for 00:07:06 Total neighbor count: 1 RP/0/0/CPU0:XR1# show route vrf VPN_02 Thu Jan 24 04:20:09.271 UTC Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

85 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

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 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, su - IS-IS summary null, * - candidate default U - per-user static route, o - ODR, L - local, G - DAGR, l - LISP A - access/subscriber, a - Application route M - mobile route, r - RPL, (!) - FRR Backup path Gateway of last resort is not set C 172.16.1.0/24 is directly connected, 04:43:02, GigabitEthernet0/0/0/4.20 L 172.16.1.254/32 is directly connected, 04:43:02, GigabitEthernet0/0/0/4.20 B 172.16.2.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 00:07:04 C 172.16.10.0/24 is directly connected, 04:43:02, Loopback101 L 172.16.10.1/32 is directly connected, 04:43:02, Loopback101 B 172.16.20.0/24 [200/0] via 192.168.2.2 (nexthop in vrf default), 00:07:04 O 172.16.100.1/32 [110/2] via 172.16.1.1, 00:07:12, GigabitEthernet0/0/0/4.20 B 172.16.200.1/32 [200/2] via 192.168.2.2 (nexthop in vrf default), 00:07:02 RP/0/0/CPU0:XR1#

Step 12. Verify connectivity across the Core XR1

ping vrf VPN_02 172.16.200.1 XR2

ping vrf VPN_02 172.16.100.1

XR1 RP/0/0/CPU0:XR1# ping vrf VPN_02 172.16.200.1 Thu Jan 24 04:24:32.503 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.200.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/7/9 ms RP/0/0/CPU0:XR1#

XR2 RP/0/0/CPU0:XR2# ping vrf VPN_02 172.16.100.1 Thu Jan 24 04:24:54.322 UTC Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 172.16.100.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 9/9/9 ms RP/0/0/CPU0:XR2#

86 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

MPLS Traffic Engineering (Optional) Task Objective:

Enable RSVP on all core interfaces; set the RSVP reservation to 10 Mbps Enable MPLS TE on all core interfaces. Configure MPLS TE to re-optimize after 60 seconds. Configure OSPF (Area 0) for MPLS TE on XR1 and XR2. RR-1 has been pre-configured

Cisco Web Site for MPLS Traffic Engineering

Step 1. Configure RSVP to 10Mbps XR1 and XR2

rsvp interface GigabitEthernet0/0/0/0 bandwidth 10 Mbps interface GigabitEthernet0/0/0/1 bandwidth 10 Mbps commit end

Step 2. Validate RSVP is operational

show rsvp interface RP/0/0/CPU0:XR1# show rsvp interface *: RDM: Default I/F B/W % : 75% [default] (max resv/bc0), 0% [default] (bc1) Interface MaxBW (bps) MaxFlow (bps) Allocated (bps) MaxSub (bps) ----------- ------------ ------------- -------------------- ------------- Gi0/0/0/0 10M 10M 0 ( 0%) 0 Gi0/0/0/1 10M 10M 0 ( 0%) 0 RP/0/0/CPU0:XR1#

87 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 3. Enable MPLS TE on relevant interfaces XR1 and XR2

mpls traffic-eng interface GigabitEthernet0/0/0/0 interface GigabitEthernet0/0/0/1 reoptimize 60 commit end

Step 4. Validate MPLS-TE was enabled on the interfaces

show mpls traffic-eng link-management interfaces | i Link ID RP/0/0/CPU0:XR1# show mpls traffic-eng link-management interfaces | i Link ID Thu Jan 24 04:42:00.312 UTC Link ID:: GigabitEthernet0/0/0/0 (10.12.1.1) Link ID:: GigabitEthernet0/0/0/1 (10.13.1.1) RP/0/0/CPU0:XR1#

Step 5. Enable the IGP protocol (OSPF) for MPLS-TE XR1 and XR2 router ospf 1 area 0 mpls traffic-eng mpls traffic-eng router-id Loopback0 commit end

88 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Dynamic Path (Optional) Task Objective:

On XR1, create interface Tunnel-TE 12 interface with a destination of 192.168.2.2 On XR2, create interface Tunnel-TE 21 interface with a destination of 192.168.1.1 On all TE tunnels, set the bandwidth to 2 Mbps, IPv4 Unumbered to Loopback 0, Path-

Option 10 with Dynamic Verify the tunnels and that traffic is forwarded on the tunnels

Cisco Web Site for MPLS Traffic Engineering

Step 1. Create MPLS-TE Tunnels Note: This section requires the section MPLS Traffic Engineering to be completed XR1

interface tunnel-te12 bandwidth 2000 ipv4 unnumbered Loopback0 destination 192.168.2.2 path-option 10 dynamic no shut commit end

XR2

interface tunnel-te21 bandwidth 2000 ipv4 unnumbered Loopback0 destination 192.168.1.1 path-option 10 dynamic no shut commit end

Step 2. Verify MPLS-TE Tunnels are up It may take a few seconds for the tunnels to come up show mpls traffic-eng tunnels brief show mpls traffic-eng tunnels tabular

89 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# show mpls traffic-eng tunnels brief TUNNEL NAME DESTINATION STATUS STATE tunnel-te12 192.168.2.2 up up XR2_t21 192.168.1.1 up up Displayed 1 (of 1) heads, 0 (of 0) midpoints, 1 (of 1) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads RP/0/0/CPU0:XR1# show mpls traffic-eng tunnels tabular Tunnel LSP Destination Source Tun FRR LSP Path Name ID Address Address State State Role Prot ----------------- ----- --------------- --------------- ------ ------ ---- ----- tunnel-te12 2 192.168.2.2 192.168.1.1 up Inact Head Inact XR2_t21 2 192.168.1.1 192.168.2.2 up Inact Tail RP/0/0/CPU0:XR1#

Step 3. Verify connectivity across the Core From XR1, ping and trace the MLPS-TE tail end

ping mpls traffic-eng tunnel-te 12 trace mpls traffic-eng tunnel-te 12

From XR2, ping and trace the MLPS-TE tail end

ping mpls traffic-eng tunnel-te 21 trace mpls traffic-eng tunnel-te 21

XR1 RP/0/0/CPU0:XR1# ping mpls traffic-eng tunnel-te 12 Thu Jan 24 05:04:03.571 UTC Sending 5, 100-byte MPLS Echos to tunnel-te12, timeout is 2 seconds, send interval is 0 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/8/10 ms RP/0/0/CPU0:XR1# trace mpls traffic-eng tunnel-te 12 Thu Jan 24 05:04:12.290 UTC

90 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Tracing MPLS TE Label Switched Path on tunnel-te12, timeout is 2 seconds Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. 0 10.12.1.1 MRU 1500 [Labels: implicit-null Exp: 0] ! 1 10.12.1.2 10 ms RP/0/0/CPU0:XR1# XR2 RP/0/0/CPU0:XR2# ping mpls traffic-eng tunnel-te 21 Thu Jan 24 05:05:06.986 UTC Sending 5, 100-byte MPLS Echos to tunnel-te21, timeout is 2 seconds, send interval is 0 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/6/10 ms RP/0/0/CPU0:XR2# trace mpls traffic-eng tunnel-te 21 Thu Jan 24 05:05:16.056 UTC Tracing MPLS TE Label Switched Path on tunnel-te21, timeout is 2 seconds Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. 0 10.12.1.2 MRU 1500 [Labels: implicit-null Exp: 0] ! 1 10.12.1.1 10 ms RP/0/0/CPU0:XR2#

91 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Explicit Path (Optional) Task Objective:

On XR1, create interface Tunnel-TE 132 with a destination of 192.168.2.2 On XR2, create interface Tunnel-TE 231 with a destination of 192.168.1.1 On all TE tunnels, set the bandwidth to 2 Mbps, IPv4 Unnumbered to Loopback 0, and explicit

path per the chart provided below Verify the tunnels and that traffic is forwarded on the tunnels

Tunnel Explicit Path Exact Hops

132 XR1-RR-XR2 10.13.1.3 — 10.23.1.2

231 XR2-RR-XR1 10.23.1.3 – 10.13.1.1

Cisco Web Site for MPLS Traffic Engineering

Step 1. Build MPLS-TE Explicit Paths Note: This section requires the section MPLS Traffic Engineering to be completed XR1

explicit-path name XR1-XR2 index 1 next-address strict ipv4 unicast 10.13.1.3 index 2 next-address strict ipv4 unicast 10.23.1.2

XR2

explicit-path name XR2-XR1 index 1 next-address strict ipv4 unicast 10.23.1.3 index 2 next-address strict ipv4 unicast 10.13.1.1

92 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 2. Create MPLS-TE Tunnel Interface for Explicit Paths XR1

interface tunnel-te132 bandwidth 2000 ipv4 unnumbered Loopback0 destination 192.168.2.2 path-option 10 explicit name XR1-XR2 no shut commit end

XR2

interface tunnel-te231 bandwidth 2000 ipv4 unnumbered Loopback0 destination 192.168.1.1 path-option 10 explicit name XR2-XR1 no shut commit end

Step 3. Verify MPLS-TE Explicit Path Tunnels come up XR1

show mpls traffic-eng tunnels tabular show mpls traffic-eng tunnels 132

XR2

show mpls traffic-eng tunnels tabular show mpls traffic-eng tunnels 231

93 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR1 RP/0/0/CPU0:XR1# show mpls traffic-eng tunnels tabular Thu Jan 24 05:17:14.987 UTC Tunnel LSP Destination Source Tun FRR LSP Path Name ID Address Address State State Role Prot ----------------- ----- --------------- --------------- ------ ------ ---- ----- tunnel-te12 2 192.168.2.2 192.168.1.1 up Inact Head Inact tunnel-te132 2 192.168.2.2 192.168.1.1 up Inact Head Inact XR2_t21 2 192.168.1.1 192.168.2.2 up Inact Tail XR2_t231 2 192.168.1.1 192.168.2.2 up Inact Tail RP/0/0/CPU0:XR1# show mpls traffic-eng tunnels 132 Thu Jan 24 05:17:26.136 UTC Name: tunnel-te132 Destination: 192.168.2.2 Ifhandle:0x980 Signalled-Name: XR1_t132 Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit XR1-XR2 (Basis for Setup, path weight 101) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Thu Jan 24 05:14:12 2020 (00:03:14 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (default) Path Selection: Tiebreaker: Min-fill (default) Hop-limit: disabled Cost-limit: disabled Path-invalidation timeout: 45000 msec (default), Action: Tear (default) AutoRoute: disabled LockDown: disabled Policy class: not set Forward class: 0 (default) Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Disabled, Protection Desired: None Path Protection: Not Enabled BFD Fast Detection: Disabled Reoptimization after affinity failure: Enabled Soft Preemption: Disabled History: Tunnel has been up for: 00:03:13 (since Thu Jan 24 05:14:13 UTC 2020) Current LSP: Uptime: 00:03:13 (since Thu Jan 24 05:14:13 UTC 2020) Reopt. LSP: Last Failure: LSP not signalled, identical to the [CURRENT] LSP Date/Time: Thu Jan 24 05:14:25 UTC 2020 [00:03:01 ago] Path info (OSPF 1 area 0): Node hop count: 2 Hop0: 10.13.1.3 Hop1: 10.23.1.2 Hop2: 192.168.2.2 Displayed 1 (of 2) heads, 0 (of 0) midpoints, 0 (of 2) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads RP/0/0/CPU0:XR1#

94 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR2 RP/0/0/CPU0:XR2# show mpls traffic-eng tunnels tabular Tunnel LSP Destination Source Tun FRR LSP Path Name ID Address Address State State Role Prot ----------------- ----- --------------- --------------- ------ ------ ---- ----- tunnel-te21 2 192.168.1.1 192.168.2.2 up Inact Head Inact tunnel-te231 2 192.168.1.1 192.168.2.2 up Inact Head Inact XR1_t12 2 192.168.2.2 192.168.1.1 up Inact Tail XR1_t132 2 192.168.2.2 192.168.1.1 up Inact Tail RP/0/0/CPU0:XR2# show mpls traffic-eng tunnels 231 Thu Jan 24 05:18:29.761 UTC Name: tunnel-te231 Destination: 192.168.1.1 Ifhandle:0x880 Signalled-Name: XR2_t231 Status: Admin: up Oper: up Path: valid Signalling: connected path option 10, type explicit XR2-XR1 (Basis for Setup, path weight 101) G-PID: 0x0800 (derived from egress interface properties) Bandwidth Requested: 0 kbps CT0 Creation Time: Thu Jan 24 05:14:27 2020 (00:04:02 ago) Config Parameters: Bandwidth: 0 kbps (CT0) Priority: 7 7 Affinity: 0x0/0xffff Metric Type: TE (default) Path Selection: Tiebreaker: Min-fill (default) Hop-limit: disabled Cost-limit: disabled Path-invalidation timeout: 45000 msec (default), Action: Tear (default) AutoRoute: disabled LockDown: disabled Policy class: not set Forward class: 0 (default) Forwarding-Adjacency: disabled Loadshare: 0 equal loadshares Auto-bw: disabled Fast Reroute: Disabled, Protection Desired: None Path Protection: Not Enabled BFD Fast Detection: Disabled Reoptimization after affinity failure: Enabled Soft Preemption: Disabled History: Tunnel has been up for: 00:04:02 (since Thu Jan 24 05:14:27 UTC 2020) Current LSP: Uptime: 00:04:02 (since Thu Jan 24 05:14:27 UTC 2020) Reopt. LSP: Last Failure: LSP not signalled, identical to the [CURRENT] LSP Date/Time: Thu Jan 24 05:14:31 UTC 2020 [00:03:58 ago] Path info (OSPF 1 area 0): Node hop count: 2 Hop0: 10.23.1.3 Hop1: 10.13.1.1 Hop2: 192.168.1.1 Displayed 1 (of 2) heads, 0 (of 0) midpoints, 0 (of 2) tails Displayed 1 up, 0 down, 0 recovering, 0 recovered heads RP/0/0/CPU0:XR2#

95 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 4. Verify connectivity across the Core From XR1, ping and trace the MLPS-TE tail end

ping mpls traffic-eng tunnel-te 132 trace mpls traffic-eng tunnel-te 132

From XR2, ping and trace the MLPS-TE tail end

ping mpls traffic-eng tunnel-te 231 trace mpls traffic-eng tunnel-te 231

XR1 RP/0/0/CPU0:XR1# ping mpls traffic-eng tunnel-te 132 Thu Jan 24 05:26:12.120 UTC Sending 5, 100-byte MPLS Echos to tunnel-te132, timeout is 2 seconds, send interval is 0 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/10 ms RP/0/0/CPU0:XR1# trace mpls traffic-eng tunnel-te 132 Thu Jan 24 05:26:22.199 UTC Tracing MPLS TE Label Switched Path on tunnel-te132, timeout is 2 seconds Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. 0 10.13.1.1 MRU 1500 [Labels: 19 Exp: 0] L 1 10.13.1.3 MRU 1504 [Labels: implicit-null Exp: 0] 20 ms ! 2 10.23.1.2 1 ms RP/0/0/CPU0:XR1#

96 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR2 RP/0/0/CPU0:XR2# ping mpls traffic-eng tunnel-te 231 Thu Jan 24 05:26:59.796 UTC Sending 5, 100-byte MPLS Echos to tunnel-te231, timeout is 2 seconds, send interval is 0 msec: Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms RP/0/0/CPU0:XR2# trace mpls traffic-eng tunnel-te 231 Thu Jan 24 05:27:10.596 UTC Tracing MPLS TE Label Switched Path on tunnel-te231, timeout is 2 seconds Codes: '!' - success, 'Q' - request not sent, '.' - timeout, 'L' - labeled output interface, 'B' - unlabeled output interface, 'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch, 'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label, 'P' - no rx intf label prot, 'p' - premature termination of LSP, 'R' - transit router, 'I' - unknown upstream index, 'X' - unknown return code, 'x' - return code 0 Type escape sequence to abort. 0 10.23.1.2 MRU 1500 [Labels: 20 Exp: 0] L 1 10.23.1.3 MRU 1504 [Labels: implicit-null Exp: 0] 10 ms ! 2 10.13.1.1 1 ms RP/0/0/CPU0:XR2#

97 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Advanced RPLs (Optional)

Multiple Action Policies

Task Objective:

Create a new RPL called INBOUND that does the following: o Discard all routes that match the PREFIX-SET-RFC1918 o All routes originating from AS 1100 received from AS 7018 set the Local Preference

to 7018 o All routes originating from AS 2000 received from AS 2828 set the Local Preference

to 2828 o All other routes should receive a local-preference of 1000

Apply the RPL inbound to EBGP Peers & Verify the BGP Table Correct the problem and verify.

Step 1. Create the RPL INBOUND on XR1 and XR2 XR1

prefix-set PREFIX-SET-RFC1918 10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16 end-set route-policy INBOUND if destination in PREFIX-SET-RFC1918 then drop endif if as-path originates-from '2828' exact and as-path neighbor-is '2000' exact then set local-preference 2828 elseif as-path originates-from '7018' exact and as-path neighbor-is '1100' exact then set local-preference 7018 endif set local-preference 1000 end-policy commit

98 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

XR2 Note: Prefix set PREFIX-SET-RFC1918 should already be configured on XR2 from the Basic Route Policy Language Section, so there is no need to configure it again

route-policy INBOUND if destination in PREFIX-SET-RFC1918 then drop endif if as-path originates-from '2828' exact and as-path neighbor-is '2000' exact then set local-preference 2828 elseif as-path originates-from '7018' exact and as-path neighbor-is '1100' exact then set local-preference 7018 endif set local-preference 1000 end-policy commit

Step 2. Apply the RPL inbound to EBGP Peers XR1

router bgp 100 address-family ipv4 unicast neighbor 100.64.1.1 address-family ipv4 unicast route-policy INBOUND in neighbor 100.64.11.1 address-family ipv4 unicast route-policy INBOUND in commit end

XR2

router bgp 100 address-family ipv4 unicast neighbor 100.64.2.1 address-family ipv4 unicast route-policy INBOUND in neighbor 100.64.22.1 address-family ipv4 unicast route-policy INBOUND in

99 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

commit end

Step 3. Perform a Soft Reset and verify the intended results clear bgp ipv4 unicast * soft show bgp ipv4 unicast RP/0/0/CPU0:XR1# clear bgp ipv4 unicast * soft Thu Jan 24 05:53:37.887 UTC RP/0/0/CPU0:XR1# show bgp ipv4 unicast Thu Jan 24 05:53:47.767 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 26 BGP main routing table version 26 BGP NSR Initial initsync version 2 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 1000 0 1100 ? * 100.64.11.1 0 1000 0 2000 ? *>i8.8.4.0/24 192.168.2.2 0 1000 0 2000 2828 ? *> 8.8.8.0/24 100.64.1.1 0 1000 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i164.144.11.0/24 192.168.2.2 0 1000 0 1200 123 109 ? *> 164.144.22.0/24 100.64.11.1 0 1000 0 2000 123 27343 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *> 192.168.1.1/32 0.0.0.0 0 32768 i *>i192.168.2.2/32 192.168.2.2 0 100 0 i Processed 9 prefixes, 10 paths RP/0/0/CPU0:XR1#

Notice that the highlighted values have a local preference of 1000 when they should have either 7018 or 2828 for the local preference. The reason that the local preference is set to 1000 is that once the local preference was set to 7018 or 2828 on the RPL; it was overwritten in the next step. Adding the keyword ‘DONE’ to the RPL will stop processing further events as shown in the following step.

100 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Step 4. Correct the RPL XR1 and XR2

route-policy INBOUND if destination in PREFIX-SET-RFC1918 then drop endif if as-path originates-from '2828' exact and as-path neighbor-is '2000' exact then set local-preference 2828 done elseif as-path originates-from '7018' exact and as-path neighbor-is '1100' exact then set local-preference 7018 done endif set local-preference 1000 end-policy commit end

Another option is to use an additional ‘else’ command so that other processing can continue if desired. In our example, we wanted to emphasize that ‘done’ can be used to break out of the RPL and keep it from executing any further actions.

route-policy INBOUND if destination in PREFIX-SET-RFC1918 then drop endif if as-path originates-from '2828' exact and as-path neighbor-is '2000' exact then set local-preference 2828 elseif as-path originates-from '7018' exact and as-path neighbor-is '1100' exact then set local-preference 7018 else set local-preference 1000 endif end-policy commit end

Step 5. Perform a Soft Reset and verify the intended results clear bgp ipv4 unicast * soft show bgp ipv4 unicast

101 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

RP/0/0/CPU0:XR1# clear bgp ipv4 unicast * soft Thu Jan 24 06:01:23.745 UTC RP/0/0/CPU0:XR2# show bgp ipv4 unicast Thu Jan 24 06:01:33.954 UTC BGP router identifier 192.168.2.2, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 28 BGP main routing table version 28 BGP NSR Initial initsync version 5 (Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i5.5.1.0/24 192.168.1.1 0 1000 0 1100 ? *> 8.8.4.0/24 100.64.22.1 0 2828 0 2000 2828 ? *>i8.8.8.0/24 192.168.1.1 0 7018 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *> 164.144.11.0/24 100.64.2.1 0 1000 0 1200 123 109 ? *>i164.144.22.0/24 192.168.1.1 0 1000 0 2000 123 27343 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *>i192.168.1.1/32 192.168.1.1 0 100 0 i *> 192.168.2.2/32 0.0.0.0 0 32768 i Processed 9 prefixes, 9 paths RP/0/0/CPU0:XR2#

After correcting the mistake, the Local Preference was set correctly

102 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

Nested Policies (Optional) Task Objective:

Modify the RPL INBOUND to achieve the following: Apply the RFC1918 RPL to:

o Set the Local Preference to 109 on all routes originating from AS 109 received from AS 1200

o Set the Local Preference to 27343 on all routes originating from AS 27343 received from AS 2000

Apply the PASS-ALL RPL as the last action

Step 1. Modify the RPL INBOUND In this step, we will apply the RFC1918 RPL we configured at the beginning of this lab in the Basic RPL Configuration section inside the INBOUND RPL and then we will use a show command to see what this looks like behind the scenes This is the original INBOUND RPL that is currently configured and we’ll replace the highlighted section with the RFC1918 RPL which will achieve the same result

route-policy INBOUND if destination in PREFIX-SET-RFC1918 then drop endif if as-path originates-from '2828' exact and as-path neighbor-is '2000' exact then set local-preference 2828 elseif as-path originates-from '7018' exact and as-path neighbor-is '1100' exact then set local-preference 7018 else set local-preference 1000 endif end-policy

Execute the following commands to replace the section highlighted in yellow above with the RFC1918 RPL XR1 and XR2

route-policy INBOUND apply RFC1918 if as-path originates-from '109' exact and as-path neighbor-is '1200' exact then set local-preference 109 done

103 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

elseif as-path originates-from '27343' exact and as-path neighbor-is '2000' exact then set local-preference 27343 done endif apply PASS-ALL end-policy commit end

Step 2. Verify what the INBOUND RPL looks like behind the scene show rpl route-policy INBOUND inline RP/0/0/CPU0:XR1# show rpl route-policy INBOUND inline Thu Jan 24 06:27:25.861 UTC route-policy INBOUND # apply RFC1918 if destination in (10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16) then drop endif pass # end-apply RFC1918 if as-path exact-originates-from 109 and as-path exact-neighbor-is 1200 then assign local-preference 109 done elseif as-path exact-originates-from 27343 and as-path exact-neighbor-is 2000 then assign local-preference 27343 done endif # apply PASS-ALL pass # end-apply PASS-ALL end-policy ! RP/0/0/CPU0:XR1#

Step 3. Verify the routes and PASS-ALL RPLs show bgp ipv4 unicast show rpl route-policy states show rpl route-policy PASS-ALL attachpoints show rpl route-policy PASS-ALL references RP/0/0/CPU0:XR1# show bgp ipv4 unicast Thu Jan 24 06:30:00.300 UTC BGP router identifier 192.168.1.1, local AS number 100 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 27 BGP main routing table version 27 BGP NSR Initial initsync version 9 (Reached)

104 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs Status codes: s suppressed, d damped, h history, * valid, > best i - internal, r RIB-failure, S stale, N Nexthop-discard Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> 5.5.1.0/24 100.64.1.1 0 0 1100 ? * 100.64.11.1 0 0 2000 ? *>i8.8.4.0/24 192.168.2.2 0 100 0 2000 2828 ? *> 8.8.8.0/24 100.64.1.1 0 0 1100 7018 i *>i10.100.100.0/24 192.168.100.100 0 100 0 i *>i164.144.11.0/24 192.168.2.2 0 109 0 1200 123 109 ? *> 164.144.22.0/24 100.64.11.1 0 27343 0 2000 123 27343 i *>i172.31.100.0/30 192.168.100.100 0 100 0 i *> 192.168.1.1/32 0.0.0.0 0 32768 i *>i192.168.2.2/32 192.168.2.2 0 100 0 i Processed 9 prefixes, 10 paths RP/0/0/CPU0:XR1# show rpl route-policy states Thu Jan 24 06:30:15.289 UTC ACTIVE -- Referenced by at least one policy which is attached INACTIVE -- Only referenced by policies which are not attached UNUSED -- Not attached (directly or indirectly) and not referenced The following policies are (ACTIVE) ------------------------------------------ route-policy INBOUND apply RFC1918 if as-path originates-from '109' exact and as-path neighbor-is '1200' exact then set local-preference 109 done elseif as-path originates-from '27343' exact and as-path neighbor-is '2000' exact then set local-preference 27343 done endif apply PASS-ALL end-policy ! route-policy PASS-ALL pass end-policy ! route-policy RFC1918 if destination in (10.0.0.0/8 ge 8, 172.16.0.0/12 ge 12, 192.168.0.0/16 ge 16) then drop endif pass end-policy ! The following policies are (INACTIVE) ------------------------------------------ None found with this status. The following policies are (UNUSED) ------------------------------------------ route-policy BAD-ASN if as-path in (ios-regex '_123_') then

105 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide

drop endif pass end-policy ! RP/0/0/CPU0:XR1# show rpl route-policy PASS-ALL attachpoints Thu Jan 24 06:30:26.479 UTC BGP Attachpoint: Neighbor Neighbor/Group type afi/safi in/out vrf name bound by -------------------------------------------------------------------------------- 100.64.11.1 -- IPv4/uni out default PASS-ALL 192.168.1.1 -- IPv4/uni in VPN_01 PASS-ALL 192.168.1.1 -- IPv4/uni out VPN_01 PASS-ALL 100.64.1.1 -- IPv4/uni in default INBOUND 100.64.11.1 -- IPv4/uni in default INBOUND RP/0/0/CPU0:XR1# show rpl route-policy PASS-ALL references Thu Jan 24 06:30:35.158 UTC Usage Direct -- Reference occurs in this policy Usage Indirect -- Reference occurs via an apply statement Status UNUSED -- Policy is not in use at an attachpoint (unattached) Status ACTIVE -- Policy is actively used at an attachpoint Status INACTIVE -- Policy is applied by an unattached policy Usage/Status count -------------------------------------------------------------- Direct 1 Indirect 0 ACTIVE 1 INACTIVE 0 UNUSED 0 Usage Status Route-policy -------------------------------------------------------------- Direct ACTIVE INBOUND RP/0/0/CPU0:XR1#

Congratulations on finishing the lab, hope you enjoyed it!! Please, don’t forget to provide feedback

106 | P a g e

LTRARC-2002 Introduction to IOS XR Lab Guide