5

I need some help with Mininet. I know it may seem odd to try to do this, but trust me it is necessary given my circumstances. I need to start mininet with a host, and then, "manually", set that host up as an OpenFlow Switch.

What I have so far is this: I am setting up 5 hosts, of which 1 is "the switching host". The other 4 hosts are only connected to this special host. In order to make this "a switching host" I'm executing the following commands in the start script:

os.system('sudo ovs-vsctl add-br {NAME}')
os.system('sudo ovs-vsctl -- set bridge {NAME} protocols=OpenFlow13')
os.system('sudo ovs-vsctl set-controller {NAME} tcp:127.0.0.1:6633')
os.system('sudo ovs-vsctl add-port {NAME} {NAME}-eth0')
os.system('sudo ovs-vsctl add-port {NAME} {NAME}-eth1')
os.system('sudo ovs-vsctl add-port {NAME} {NAME}-eth2')
os.system('sudo ovs-vsctl add-port {NAME} {NAME}-eth3')

I have a controller listening in port 6633 (which works fine in regular scenarios).

The behaviour I am observing is that when I start the topology, the switch and the controller have a handshake session correctly, but when I try to ping from one host to the other, it makes an ARP request, as it should, but the switch doesn't do anything so the ARP request keeps hanging there.

I know there has to be some sort of extra configuration that I am not doing but I can't seem to find anywhere what that is.

Am I missing some command to link that bridge to the host? How does Mininet create a switch? Maybe by knowing that I can try to do the same with my host.

Thanks in advance. Santiago.

  • uum, Isn't ARP for layer 3 (i.e. routers, etc)? For switches you need to use LLDP i think. LLDP is layer 2. – Ehsan Ab Jul 17 '15 at 20:42

0 Answers0