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.