I’m new to OpenFlow. Where should I start with Floodlight?
What version of OpenFlow does Floodlight support?
Floodlight currently supports the OpenFlow 1.0 specification. The timeline for support of 1.2/1.3 is currently unknown.
Can I submit code to Floodlight?
Absolutely. Floodlight is an open community project. We just ask that you join the mailing list, follow the project on github, and work with the code for some time in advance. Feel free to reach out on the mailing list about this at any time.
What’s the connection between Floodlight and Beacon?
Beacon was created by David Erickson of Stanford University as a cross platform, Java-based OpenFlow controller. It is currently licensed under GPL V2. Prior to assigning this license, Beacon was forked to create Floodlight, which carries on with an Apache license. Floodlight has been redesigned without the OSGI framework so it can be built, run, and modified without OSGI experience. Additionally, Floodlight’s community currently includes a number of developers at Big Switch Networks who are actively testing and fixing bugs and building additional tools, plugins, and features.
Does Floodlight support python?
Does Floodlight run on Windows?
Yes, it does. It runs anywhere Java does. We recommend using Linux or Mac for development though.
How can I measure link bandwidth and latency in Floodlight?
You can find the theoretical max link bandwidth of a port by making a features query through the REST API. Unfortunately finding the real link latency and bandwith is not as simple. OpenFlow, being a control-plane protocol has great difficult accurately determining data-plane measurements. The way to do this with OpenFlow entails making periodic flow stats requests to the switches on the network. The problem is that stats are never truly accurate. By the time they have been processed on the switch, sent over the network, and then processed by the controller they will be out of date. Data-plane measurements are best handled by third party applications.
How can I implement VLANs using Floodlight?
You can use the VirtualNetworkFilter in Floodlight. It creates logical virtual networks and associate hosts to the created virtual networks. In this case, the controller uses the hosts' mac addresses to check which virtual network they are in and allow only hosts in the same group to talk to each other.