View on GitHub rose

Research on Open SRv6 Ecosystem

Ready-to-go Virtual Machine (rose-srv6)

The rose-srv6 ready-to-go Virtual Machine is available for tutorial and development purposes related to the ROSE project.

The rose-srv6 VM includes an emulated network environment based on Mininet and relies on the Linux kernel for implementing the SRv6 data plane.

In the control plane, the Linux nodes offer a gRPC southbound API to a controller developed in python.

SRv6 tutorials based on rose-srv6 VM

ROSE-SRv6 tutorial on Linux - Part 1

(used in the HPSR 2020 tutorial: Segment Routing over IPv6 (SRV6) and the Network Programming Model and in the IEEE NFV-SDN tutorial: SRv6 and the Network Programming Model Hands-On tutorial )

ROSE-SRv6 tutorial on Linux - Part 2

(used in the IEEE NFV-SDN tutorial: SRv6 and the Network Programming Model Hands-On tutorial )

How to install

The rose-srv6 VM is currently available for the Virtualbox hypervisor (download) and for the VMware hypervisor. For Virtualbox, we also support Vagrant (download) to manage the provisioning of the VM.

The rose-srv6 VM is used in the IEEE HPSR 2020 tutorial and in the IEEE NFV-SDN 2020, if you want to replicate the experiments during the hands-on part. We invite you to subscribe to our slack workspace (channel #ieee-nfvsdn-tutorial) for getting support about the rose-srv6 VM. See also our contact page.

The password for the rose user on the rose-srv6 VM is 1234. To adapt the VM to your keyboard layout see below.

Virtualbox hypervisor

Option 1. Direct download of .ova image for Virtualbox

We assume that you have installed the latest version of Virtualbox (6.1).

Download rose-srv6-v2.7.ova (almost 4 GB).

Import rose-srv6.ova in Virtualbox (File-> Import Appliance)

Option 2. Deploy using Vagrant

We assume that you have installed the latest version of Virtualbox (6.1) and Vagrant (2.2.7).

Option 2.1 Deploy the VM from the Vagrant Cloud
vagrant init rosevm/xubuntu
vagrant up
2.2 Download the .box file from our repository

Download rosevm-xubuntu-v2.7.box (almost 4 GB).

Create a new directory rose-vm in your PC and move the file rosevm-xubuntu.box inside.

Create a text file called “Vagrantfile” in the rose-vm directory, with this content: Vagrantfile, then run:

cd rose-vm
vagrant up

VMware hypervisor

Download rose-srv6-vmware-v2.7.ova (almost 4 GB).

Import the rose-srv6-vmware.ova as described here.

Advanced tips and tricks

Change keyboard layout

  1. Open the Settings Manager : Menu -> Settings -> Keyboard.
  2. Switch to the Layout tab.
  3. Uncheck Use system defaults.
  4. Click the Add button and choose the appropriate keymap from the list.
  5. Remove the previous keymap
  6. Close the Settings Manager

Rename the VM in option 2.1

In option 2.1, if you want to change the VM name to rose-srv6, edit the Vagrantfile auto-generated after the first command, find the following line:

  config.vm.box = "rosevm/xubuntu"

add the following three lines immediately afterwards:

  config.vm.provider "virtualbox" do |v|
    v.name = "rose-srv6"
  end

Scripted version of option 2.2 (for Linux)

git clone https://https://github.com/netgroup/rose-vm.git
cd rose-vm/vagrant-from-box-file
wget http://swift.cloud.garr.it/swift/v1/rose/vm/rosevm-xubuntu.box
vagrant up

Using the Virtualbox rose-srv6 VM with VMware hypervisor

The Virtualbox rose-srv6 VM can also be used on VMware with some adaptation. For using it with VMware you need to remove Virtualbox guest additions:

cd /opt/VBoxGuestAdditions-6.1.6/
sudo ./uninstall.sh

(I’ve followed these instructions).

List of github repositories

Github project board for developers’ community

rose-srv6 VM project board

Raw github version of this page (easier for working)

https://github.com/netgroup/rose/blob/master/docs/rose-vm.md

github.io version of this page (nicer to read)

https://netgroup.github.io/rose/rose-vm.html