For some kind of the reasons, I stopped tracking what's going on Floodlight for a while. I post my previous notes about Floodlight and OpenFlow from Floodlight dev discussion, and hope it is beneficial for those who are still working on it.
- Floodlight by default gets full packets from switch
- GreenMST module for Floodlight
- GreenMST is a module used to build the Minimum Spanning Tree of
an OpenFlow network, thus avoiding brodcast storm, using looped
topologies with the LearningSwitch module and switches not supporting
the Spanning Tree Protocol.
- http://github.com/LucaPrete/GreenMST
- Wildcard Matching on network address
-
OFMatch mTo = new OFMatch();
System.out.println(mTo.toString()); // This prints nw_dst as 224.128.0.0/9
System.out.println(mTo.getNetworkDestinationMaskLen()); //This prints destination mask length as 9
But when I do dump-flows in the switch, it doesn't show any mask. It simply gives nw_dst as 224.128.0.0.
- Push static flows based on ingress ports
- your forwarding would not work any more. Reason is any packet
coming to that port is forced out the same port, making LLDP no longer
workable. LLDP is needed for floodlight to learn topology and
route/forward packets.
- BDDP Topology Discovery
- In BSN BDDP and BSNPROBE types were defined. BDDP is used in
TopologyDiscovery to detect non-OpenFlow broadcast domains. BSNPROBE is
not used in Floodlight now.
- Disabling Flooding for a Switch Port
- OFPortMod p = (OFPortMod) floodlightprovider.
getOFMessageFactory().getMessage(OFType.PORT_MOD);
p.setPortNumber((short) 4); // or your port number
p.setConfig(config); // you have to enter the proper Integer to disable the port (see OpenFlow doc)
- The setting is related with OFPPC_NO_FLOOD
- No NAT in Floodlight now
- Creating static flows in Floodlight
- Northbound API
- Right now all the decisions are made logically (load balancer,
firewall) so they will never have to travel to other computers. As far
as the ordering in which these are executed you can enforce some special
ordering by returning something in the isCallbackOrderingPostreq
methods supplied by the IFloodlightmodule interface. For instance in the
firewall module we have...
@Override
public boolean isCallbackOrderingPostreq(OFType type, String name) {
return (type.equals(OFType.PACKET_IN) && name.equals("forwarding"));
}
This says that the module has a post requirement and forces Packet_IN
messages to be passed on to the forwarding module. This is an example of
how you would enforce an ordering. You can probably find something
similar in the loadbalancing module.
- Virtual Network
- multiple links between
two controller islands (which is the case for fat tree topologies) are
not supported by Floodlight, at least for now. See Supported Topologies for details.
No comments:
Post a Comment