Module Applications

The following applications have been implemented as Floodlight Modules in Java as described at Module Descriptions and Javadoc.

  • Forwarding: Floodlight's default reactive packet forwarding application. See Supported Topologies for its utilities, and Forwarding (Dev) for its exposed Java interface and implementation.
  • Static Flow Entry Pusher: An application for installing specific flow entry (match + action) to a specific switch. Enabled by default. Exposes a set of REST APIs to add, remove and inquire flow entries.
  • Firewall: An application to apply ACL rules to allow/deny traffic based on specified match. Loaded but disabled by default. Exposes a set of REST API to enable/disable the firewall and add/remove/list rules.
  • Port Down Reconciliation: An application to reconcile flows across a network when a port or link goes down. Enabled by inserting net.floodlightcontroller.flowcache.PortDownReconciliation in floodlight property file.
  • Learning Switch: A common L2 learning switch. Not enabled by default. Exposes a REST API to list current switch table (known hosts: vlan: port).
  • Hub: A hub application that always flood any incoming packets to all other active ports. Not enabled by default.
  • Virtual Network Filter: A simple MAC-based network isolation application. Not enabled by default. Exposes a set of REST API to add, remove and inquire virtual networks. Currently compatible with OpenStack Essex release.
  • Load Balancer: A simple load balancer module for ping, tcp, and udp flows. This module is accessed via a REST API defined close to the OpenStack Quantum LBaaS (Load-balancer-as-a-Service) v1.0 API proposal.