OpenFlow setup on emulab using POX and OVS

Tag: networking , pox , openflow Author: bokee Date: 2013-06-22

I am experimenting with openflow on a setup on emulab. Emulab is a testbed for network experimentation.

I have the following topology. I have 4 regular PC machines, hosta, hostb, switch, and controller.

hosta, hostb, and controller are connected by a gigabit lan to switch. Switch has eth0 for internet connectivity and eth4-6 for all the other hosts. IP addresses follow this sort of pattern, eth4 10.10.1.x, eth5 10.10.2.x and so on.

I am basically following this guide http://geni-app-developer-documentation.readthedocs.org/en/latest/examples/example-3.html

Here is my problem, the guide says that i should create two diffrent bridge interfaces using openvswitch br-int and br-int1. Then procedes to set br-int to request flows from the controller. This makes no sense to me for three reasons.

1) br-int1 should also be requesting from the controller.

2) It seems to me that a bridge interface in this guide is really a swtich, and there should only be one switch and hence only be one bridge interface that includes all the eth4-6 as ports.

3) If the switch really is just "one" switch rather than multiple switches, Than endhosta and endhostb should have IP adresses of this sort, 10.10.a.1 and 10.10.a.2 where a is the same.

Best Answer

I figured it out,

The correct method is this.

ovs-vsctl add-br br0
ovs-vsctl add-port br0 eth4
ovs-vsctl add-port br0 eth5
ovs-vsctl add-port br0 eth6
ifconfig eth4 0
ifconfig eth5 0
ifconfig eth6 0
ifconfig br0 10.10.10.1 netmask 255.255.255.0
route add -net 10.10.10.0 netmask 255.255.255.0 dev br0

now in each of the three remaining nodes run the following command.

ifconfig eth 10.10.10.a

Where is the and a is a unique number.