Software-defined networking

Manos is working on his master thesis on software-defined networking (SDN) and he's also participating in CONFINE. Together with Leandro, we had some discussions on the potential changes to CONFINE's testbed architecture to support SDN with OpenFlow, Open vSwitch and related technologies so that slices could e.g. define virtual L2 links between nodes that have no such physical links.

I must confess that I had a real problem wrapping my head around how an OpenFlow-enabled network would look like in the context of CONFINE testbeds and community networks. After the last meeting I got a much clearer vision of how things could work, and how SDN could interact with CONFINE research devices and normal community network devices. A plausible option is to modify CONFINE's node architecture to add an OpenFlow bridge (an Open vSwitch) to research devices, and let an OpenFlow-enabled CONFINE slice create new OpenFlow sliver interfaces that have their traffic sent to that bridge, encapsulated and forwarded over VLAN-tagged direct links or IP tunnels. In fact, all nodes in the testbed may support that slice even when it had no slivers running on them, thus easing the definition of virtual topologies. One pending question is where to run the OpenFlow controller managing the nodes' OpenFlow bridges since network links may not be very reliable.

On a different topic, I did some rearrangement of the testbed architecture pages to better introduce the management network to wiki readers, but I'm still working on it. I also did some progress with the (yet unpublished, sorry for that) script to generate tinc host files for testbed gateways but the support for resource listings and HTTP Link: headers in the current REST API implementation is still a little bit lacking and I got somehow stuck in there.