I’ve been running a Cisco CSR-1000v box on my Mac in Parallels for a bit now. I love the convenience of being able to test on a real IOS XE device anywhere I am (airplane, coffee shop, maybe even my office)! I’ve been running the CSR-1000v since version 3.09 and I wanted to upgrade to 3.12.0S since it’s got some new features, bug fixes, and most importantly (for me) a lower memory footprint. I downloaded the new .bin file and proceeded to try and upgrade the image as I would any physical device, with TFTP. Well, here’s how well that went:

Let me introduce you to my basic setup on my laptop: 2 CSR-1000v appliances with 2 vNICs each. 1 vNIC is connected to the Parallels shared network for management, the other is connected the Parallels Host-Only network for Inter-CSR connectivity. The management interface is in a MGT VRF since this is the default configuration of the CSR-1000v.

The instant I started typing ping into the CLI, I knew what my problem was. I had no connectivity in the default VRF, illustrated here:

Ok, well at least I knew what my issue was. Question is, does TFTP have a vrf option?


Nope. After doing a little digging around though I did find this:

And guess what, problem solved! TFTP will now use the specified source-interface which happens to belong to the correct MGT VRF. I didn’t have to do any VRF route leaking changing of my VRF config. Let the upgrade begin!


This post was originally published on

Leave a Reply

Your email address will not be published. Required fields are marked *