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.