Supported Topologies
Floodlight currently features two reactive packet forwarding applications, which have different behaviors and work with topologies as described below:
- With Forwarding: Enabled by default right out of the box, Forwarding enables end-to-end packet forwarding between any two devices in the following network topologies:
- Within an OpenFlow island*: When any device A sends a packet towards device B in the same OpenFlow island, Forwarding computes a single shortest path between A and B.
- OpenFlow islands with Non-OpenFlow islands between/among them: Every OpenFlow island may have exactly one link connecting to a non-OpenFlow island. In addition, the OpenFlow and non-OpenFlow islands together may not form loops (as shown in Figure 3). Every device would have an attachment point on each OpenFlow island. Forwarding computes a single shortest path in each OpenFlow island and expects packets to be forwarded in the non-OpenFlow islands (i.e., assuming each non-OF island is a single L2 broadcast domain).
Fig. 1. Example network topology that works with Floodlight.
Fig. 2. Example network topology that does not work with Floodlight as OpenFlow Island 1 has two links connecting to the non-OpenFlow Island.
Fig. 3. Example network topology that does not work with Floodlight as OpenFlow and non-OpenFlow islands form a loop, even though every OpenFlow island is connected to a non-OpenFlow island through only one link.
-
- Paths installed by forwarding times out whenever no traffic is sent over the path for more than the specified timeout interval (default 5 sec).
- With Learning Switch: A simple L2 learning switch
- for use in any number of OpenFlow islands, even with non-OpenFlow L2 islands in between
- cannot work if switches in an island form loop topology, or islands form loop topology
- much less efficient in forwarding performance than the other approaches
- In addition, Floodlight also provides a Static Flow Entry Pusher application and a Circuit Pusher application that allow users to proactively install forwarding paths in the network
- Static Flow Entry Pusher allows installing flow entries switch by switch, thereby creating forwarding paths based on explicit choice of switch-ports by the user
- CircuitPusher builds upon Static Flow Entry Pusher, Device Manager, and Routing services based on their REST API to build single shortest path circuits within a single OpenFlow island.
* The terms "islands" and "clusters" are used interchangeably. An OpenFlow island/cluster is a connected set of OpenFlow switches with devices connected to any of them. Analogously, a non-OpenFlow island/cluster is a connected set of non-OpenFlow switches with devices connected to any of them.