There was a tweet on Friday that some may have missed, but it is one that you do not want to miss. It was a subtle little announcement from @CiscoIOSXR about IOS XRv!
Your wait for IOS XR is over! Download IOS XRv here! 🙂 http://t.co/0WVMAuHqU1 #IWantIOSXR #IOSXR
— IOS XR (@CiscoIOSXR) February 7, 2014
Note: On Tuesday, February 11th there was an update that they are still working on the entitlement issue. Tweet is included below as well.
@fryguy_pa @steve We have a plan to resolve the entitlement checking issue, but this means images will be pulled off CCO for 3 days 🙁
— IOS XR (@CiscoIOSXR) February 11, 2014
So yes, that is a V as in Virtual! Finally, IOS XRv has been released – and on the latest IOS-XR code, 5.1.1!
So a few things about IOS XRv – first of all, it is a 32–bit softwrae version running on the QNX microkernel. The VM contains a single RP and a some LC Interfaces.
The demo version of the software is FREE for users, has AAA hard-coded users in it, and is rate-limited to 2 Mbps. There is also a Simulation Image available and has no hard-coded users and is rate-limited to 50 Mbps. Finally there is a Production Image that has no hard-coded users and no rate-limit.
To run the IOX XRv Router you will need:
You can find the IOS XRv Installation Guide at this link — LINK — but I will cover it in this post as well.
For the release notes, you can find them — HERE.
So how does one get this wonderful little treat, well you will need a CCO account and that should be about it!
Note: As of this writing some accounts are not able to download it. I have been informed they are working to fix that.
So, to download the software you need to click on this link and it will take you to the software download site: CLICK HERE TO BE TAKEN TO DOWNLOAD
NOTE: Updated link on 2/12/2014 Your download image screen might be different. I was seeing this today:
Once there you will be presented with the following screen:
Select your software and download. Note that these are all listed as Demo software and for the use of a Route-Reflector. Why does it say Route-Reflector? Well, a RR is perfect for a Virutualized router deployment. The biggest thing on a RR is memory, as they do not normally forward packets. The only thing they care about are routes – so why not make a RR a VR!
If you have VMWare Workstation, you can download the VMDK, if you have an ESXi server, the OVA is probably your best bet.
To deploy the OVA on ESXi, just click File -> Deploy OVF Template
Select the IOS XRv image
It will then show you the OVF Details – IOS XRv v5.1.1
You can then give it a name, or just accept the default
Now you can select your configuration size.
You have the choice of:
Small -– 1 vCPU, 3GB RAM, 2NICs
Medium -– 2 vCPU, 4GB RAM, 8 NICs
Large (ESXi) -– 4 vCPU, 6 GB RAM, 10 NICs*
Large (non-ESXi) –- 4 vCPU, 6GB RAM, 16 NICs
Huge (ESXi) -– 8 vCPU, 8 GB RAM, 10 NICs*
Huge (non-ESXi) -– 8 vCPU, 8 GB RAM, 32 NICs**
* – ESXi only supports up to 10 NICs in a VM
** IOS XRv supports up to 128 NICs, but most hypervisors do not
For this post, I choose Small.
Then you can select your datastore for the VM
Choose thick or thin provisioning ( I am going to do Think here).
Now you can map your NICs to the destination network. What is curious here is I did select Small for deployment, yet I still can configure 32 Interfaces. So what I have done is set the Mgmt0 Ethernet to my home network, and then set the G0/0/0 NIC to my CSR1000V network. I will boot one of my CSR1000V to connect to this VM later on.
And a confirmation screen and you are ready go deploy.
IMPORTANT note for accessing the console port of the IOS XRv machine:
Once you have created the Virtual Machine, you need to create a Serial Console connection to it. To do that…
Edit the Virtual Machine Properties
Click on Add on the Hardware Tab
From the add menu, select Serial Port
And configure the serial port for Use Network, Server,and enter telnet://SERVERIIP:PORT
For my server, it is at IP 192.168.0.2 and I configured port 2002 for the Serial connection. Also, your port must be higher than 1024.
If this is your first Serial connection to a device, you will also need to edit the ESXi firewall. To do that.
Select Configuration for your ESXi server
From there, select Security Profiles
Then Select the Properties option on the Firewall Line
And then scroll down and click on the VM serial port connected over network and click on OK.
Once you do that, power on your server and you will see the GNU GRUB screen
After that, telnet to the serial port
Once you do that you are on the “console” port on the router.
When you first login you will need to create a root-system username/password. You can use this to login into the system.
The users/passwords that are hard coded are: lab/lab, cisco/cisco, root/root, and admin/admin.
After that, login and you are set!
Here is a show version brief output
And when I look at my interfaces, I only have the two
Now a quick setup and test using 192.168.100.x/30 for the routers, 1.1.1.1/32 and 2.2.2.2/32 for the loopback,s and EIGRP 1
RP/0/0/CPU0:ios#conf t
Sun Feb 9 02:42:44.796 UTC
RP/0/0/CPU0:ios(config)#int loop0
RP/0/0/CPU0:ios(config-if)#ip add 2.2.2.2/32
RP/0/0/CPU0:ios(config-if)#exit
RP/0/0/CPU0:ios(config)#inter g0/0/0/0
RP/0/0/CPU0:ios(config-if)#ip add 192.168.100.2/30
RP/0/0/CPU0:ios(config-if)#no shut
RP/0/0/CPU0:ios(config-if)#exit
RP/0/0/CPU0:ios(config)#router eigrp 1
RP/0/0/CPU0:ios(config-eigrp)#address-family ipv4
RP/0/0/CPU0:ios(config-eigrp-af)#int g0/0/0/0
RP/0/0/CPU0:ios(config-eigrp-af-if)#exit
RP/0/0/CPU0:ios(config-eigrp-af)#int lo0
RP/0/0/CPU0:ios(config-eigrp-af-if)#passive
RP/0/0/CPU0:ios(config-eigrp-af-if)#exit
RP/0/0/CPU0:ios(config-eigrp-af)#exit
RP/0/0/CPU0:ios(config-eigrp)#exit
RP/0/0/CPU0:ios(config)#show
Sun Feb 9 02:43:46.312 UTC
Building configuration…
!! IOS XR Configuration 5.1.1
interface Loopback0
ipv4 address 2.2.2.2 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 192.168.100.2 255.255.255.252
no shutdown
!
router eigrp 1
address-family ipv4
interface Loopback0
passive-interface
!
interface GigabitEthernet0/0/0/0
!
!
!
end
RP/0/0/CPU0:ios(config)#commit
The CSR1000v was already configured with a loopback, internface, and EIGRP.
RP/0/0/CPU0:ios#sh eigrp neighbors
Sun Feb 9 02:46:00.063 UTC
IPv4-EIGRP Neighbors for AS(1) VRF default
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 192.168.100.1 Gi0/0/0/0 10 00:00:15 1266 5000 0 3
RP/0/0/CPU0:ios#sh ip route
Sun Feb 9 02:46:02.563 UTC
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
A – access/subscriber, a – Application route, (!) – FRR Backup path
Gateway of last resort is not set
D 1.1.1.1/32 [90/2570240] via 192.168.100.1, 00:00:16, GigabitEthernet0/0/0/0
L 2.2.2.2/32 is directly connected, 00:02:07, Loopback0
C 192.168.100.0/30 is directly connected, 00:02:07, GigabitEthernet0/0/0/0
L 192.168.100.2/32 is directly connected, 00:02:07, GigabitEthernet0/0/0/0
RP/0/0/CPU0:ios#
RP/0/0/CPU0:ios#ping 1.1.1.1 so 2.2.2.2
Sun Feb 9 02:46:46.959 UTC
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms
RP/0/0/CPU0:ios#
And we are in business!
Now if you want to learn more bout IOS XR, check out my 105 Page Lab Guide that can be found at this post:
https://www.fryguy.net/2012/10/19/ios-xr-workbook/