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.