The VMs in RouteFlow are implemented as LXC containers in the default setup. You can use other virtualization technologies. If you have experience with or questions about setting up RouteFlow on a particular technology, contact us!
A script is provided with RouteFlow to ease the creation of these containers.
A few facts:
/var/lib/lxc(this is important)
rftest/configdirectory is read to determine which containers will be created and what their content will be
quagga rsyslog vlan tcpdump \ libboost-thread1.46.1 libboost-system1.46.1 \ libboost-filesystem1.46.1 libboost-program-options1.46.1
If you need to install custom software in your container, modify the create script where indicated in it.
Each folder in the
config directory will become an LXC container. The names don't matter, but the directory structure does. It must be something like:
container/ rootfs/ ... config fstab
config file is the configuration file for LXC. It's used to declare the network interfaces and point to the
fstab file and
rootfs folder. The syntax is simple, so just base your own configuration on an existing one. Make sure to adapt the paths to where the container will be, usually
rootfs folder you'll find files that will be copied to the container. You'll usually need to:
/etc/network/interfacesto fit your needs
/root/run_rfclient.sh &in order to start RFClient on boot
If you have any doubts, try to follow what's in the default containers.
rftest1, the default containers are:
rfvm1: represents the switch/gateway
b1: first host connected to the switch (172.31.1.2)
b2: seconf host connected to the switch (172.31.2.2)
rftest2, the default containers are:
rfvmA: represents the switch/router A
rfvmB: represents the switch/router B
rfvmC: represents the switch/router C
rfvmD: represents the switch/router D
rftest2 is meant to run in Mininet or in a real network, the hosts are not created.
Make sure there's a
config directory with the templates at the same directory level as the script, and run:
$ sudo ./create
It will create a base container in the LXC directory (
/var/lib/lxc), and derive several other containers based on the templates.
The containers will have a default
root/root user/password combination. You should change that if you plan to deploy RouteFlow.