Home > Articles > CSR 1000V Software Architecture

CSR 1000V Software Architecture

Chapter Description

In this sample chapter from Virtual Routing in the Cloud, explore the software and data plane design of the CSR 1000V, a virtualized software router that runs the IOS XE operating system.

From the Book

Virtual Routing in the Cloud

Virtual Routing in the Cloud

$47.99 (Save 20%)

Installing the CSR 1000V on a KVM Hypervisor

The process for installing the CSR 1000V on a KVM hypervisor has two phases:

  1. Bring up the VM with the CSR 1000V on ESXi.

  2. Connect the vNIC with the CSR 1000V.

Bring Up the CSR 1000V as a Guest

Follow these steps to update essential packages on a Linux managed server so it can work as a type 1 hypervisor and run a CSR 1000V VM:

  • Step 1. Install the VM packages virt-manager, qemu-kvm, and bridge-utils like this:

    apt-get install virt-manager
    apt-get install qemu-kvm
    apt-get install bridge-utils

    or like this:

    yum install virt-manager
    yum install qemu-kvm
    yum install bridge-utils

    Figure 4-30 shows the installation of packages required for CSR creation.

    Figure 4-30

    Figure 4-30 Package Installation on a KVM Hypervisor

  • Step 2. Launch Virtual Machine Manager, which is the front end to KVM/QEMU that allows installation and management of CSR VMs, by selecting Application, System, Virtual Machine Manager.

    Click the Create a New Virtual Machine icon, and the dialog shown in Figure 4-31 appears. Click the Forward button.

    Figure 4-31

    Figure 4-31 Creating a Guest VM

  • Step 3. Load the ISO image (which you download from software.cisco.com ) for the CSR 1000V, as shown in Figure 4-32. Click the Forward button.

    Figure 4-32

    Figure 4-32 ISO Image Bootup for the CSR 1000V

  • Step 4. Allocate hardware resources for the guest VM as shown in Figure 4-33. (Refer to Table 2-2 in Chapter 2 for further allocation information.) Click Forward.

    Figure 4-33

    Figure 4-33 Choosing Memory and CPU Settings

  • Step 5. Select hardware resources, as shown in Figure 4-34, and click Forward.

    Figure 4-34

    Figure 4-34 Selecting Hardware Resources

  • Step 6. Look over the hardware resources summary (see Figure 4-35) and make any changes needed. Click Finish.

    Figure 4-35

    Figure 4-35 Resources Summary Snapshot

  • Step 7. To apply changes for the guest VM, select Application, System, Virtual Machine Manager and highlight the CSR installed in the VMM. Then click the Show Virtual Hardware Details tab and click the Add Hardware button, as shown in Figure 4-36.

    Figure 4-36

    Figure 4-36 Applying Hardware VM Changes

  • Step 8. To create serial connection access for console access, select Serial, and then select TCP for Device Type and provide the telnet information, as shown in Figure 4-37.

    Figure 4-37

    Figure 4-37 Creating the Serial Interface

  • Step 9. In the Virtual Machine Manager, highlight the guest VM and shut it down (if it is not down already). (See Figure 4-38.)

    Figure 4-38

    Figure 4-38 Shutting Down the Guest VM

    The guest VM goes down, as shown in Figure 4-39.

    Figure 4-39

    Figure 4-39 Shutdown of the Guest VM

  • Step 10. Access the router from the console, as shown in Figure 4-40. Make sure the VM is powered up before you try to access it.

    Figure 4-40

    Figure 4-40 Console Access to the KVM

  • Step 11. Use the serial interface command for telnet access: platform console serial and write mem, as shown in Figure 4-41.

    Figure 4-41

    Figure 4-41 Router Console for Telnet Access

  • Step 12. Access the CSR 1000V via the telnet, as shown in Figure 4-42.

    Figure 4-42

    Figure 4-42 Telnet Connection to the CSR 1000V

  • Step 13. Ensure that your virtual machine is shut down, and then start vNIC provisioning by selecting Show Virtual Hardware Details, NIC, as shown in Figure 4-43.

    Figure 4-43

    Figure 4-43 Accessing CSR 1000V Network Settings

  • Step 14. In the Virtual Machine Manager, select virtio as the device model (see Figure 4-44) because it is the para-virtualized driver in Linux. Using virtio is the best way to exploit the underlying kernel for I/O virtualization. It provides an efficient abstraction for hypervisors and a common set of I/O drivers.

    Figure 4-44

    Figure 4-44 Selecting CSR 1000V Network Settings

    Select the virtual network with NAT to tie all VMs in the same bridge domain and NAT it to the outgoing physical interface (see Figure 4-45). Attach the other NIC to the bridge tap.

    Figure 4-45

    Figure 4-45 CSR 1000V NIC Settings

    In KVM, macvtap is a combination of the macvlan driver and a Tap device. Here the function of the macvlan driver is to create virtual interfaces and map virtual interfaces to physical network interfaces. A unique MAC address identifies each virtual interface to the physical interface. A TAP interface is a software only interface that exists only in the kernel. You use Tap interfaces to enable user-space networking and allow passing of datagrams directly between VMs instead of sending datagrams to and from a physical interface. The macvtap interface combines these two functions together (see Figure 4-46).

    Figure 4-46

    Figure 4-46 macvtap Diagram

  • Step 15. Configure the mapping of the vNIC to the physical interface:

    1. Access the directory /etc/network/interfaces/ifcfg-br0 on the Ubuntu host and view the bridge type (see Figure 4-47).

      Figure 4-47

      Figure 4-47 Bridge Configuration File Output

    2. Access the directory /etc/network/interfaces/ifcfg-eth4 and configure the vNIC to be in the same bridge type, BR0 (see Figure 4-48).

      Figure 4-48

      Figure 4-48 Interface Configuration File Output

    To configure the spanning tree mode to promiscuous, use this:

    auto eth4
    iface eth4 inet manual
    up ip address add 0/0 dev $IFACE
    up ip link set $IFACE up
    up ip link set $IFACE promisc on

    Alternatively, access the file /etc/network/interfaces/ifcfg-eth4 and type this:


    This method provides persistent configuration settings for ifcfg-eth4.

  • Step 16. In the Virtual Machine Manager, select Show Virtual Hardware Details.

5. Performance Tuning of the CSR 1000V | Next Section Previous Section

There are currently no related articles. Please check back later.