Faucet
What it is
Faucet is a free, open-source OpenFlow controller for operators managing production networks. It moves routing, neighbor discovery, and switching control into vendor-independent server software with a centralized control plane. Faucet supports OpenFlow 1.3.x switches with multiple tables and group tables, plus VLANs, IPv4 and IPv6, static and BGP routing, access control lists, port mirroring, and switch stacking. Policy-based forwarding can send processing to external systems, including 802.1X through hostapd. YAML files define network configuration, and documentation provides a validation command before loading changes. Installation options include pip3, apt-get, and Docker, with a documented host setup alongside Gauge, Prometheus, and Grafana. Monitoring also supports Grafana dashboards and InfluxDB statistics. TLS can protect the switch channel. High availability uses redundant controllers with matching configuration but no shared state. Faucet runs on Linux and is licensed under Apache-2.0.
For and against
For
- Free Apache-2.0 open-source project
- Supports VLAN, IPv4, IPv6, and BGP
- YAML configuration with pre-load checking
- Prometheus, Grafana, and InfluxDB support
- Redundant-controller high availability
Against
- Vendor-specific Broadcom OFDPA pipelines unsupported
- Only one RADIUS server is supported
- No RADIUS accounting support
- Requires OpenFlow 1.3.x switch hardware
The verdict
Faucet provides centralized, Linux-based control for supported OpenFlow networks, with routing, segmentation, monitoring, and redundancy options. Its hardware and RADIUS limits should be checked before deployment.
Who it suits
It suits network operators using compatible OpenFlow hardware who want vendor-independent, self-hosted control and monitoring.
On the record
- Availability
- The site describes high availability using redundant controllers with the same configuration, without shared state or inter process communication.faucet.nz · read 7 Oct 2026
- Configuration
- Network configuration uses YAML, and the documentation provides a command to check configuration before loading it.docs.faucet.nz · read 7 Oct 2026
- Deployment model
- The installation guide describes installing and configuring Faucet on a host alongside Gauge, Prometheus, and Grafana.docs.faucet.nz · read 7 Oct 2026
- Hardware support
- Faucet supports OpenFlow 1.3.x switches with multiple tables and group tables; vendor-specific pipelines such as Broadcom OFDPA are not supported.faucet.nz · read 7 Oct 2026
- High availability
- The maker describes high availability by running redundant controllers on separate hardware with the same configuration, without state sharing between them.faucet.nz · read 7 Oct 2026
- How it works
- It moves network control functions such as routing, neighbor discovery, and switching algorithms to vendor independent server based software.faucet.nz · read 7 Oct 2026
- Installation
- The maker says Faucet can be installed with pip3, apt-get, or Docker.faucet.nz · read 7 Oct 2026
- Integrations
- The documentation lists integrations including doveSnap, pipette, Poseidon, DAQ, Forch, and a GNS3 Faucet appliance.docs.faucet.nz · read 7 Oct 2026
- Intended users
- The maker presents Faucet for network operators managing production networks and OpenFlow hardware.faucet.nz · read 7 Oct 2026
- License
- The project repository identifies Faucet as licensed under Apache-2.0.github.com · read 7 Oct 2026
- Monitoring
- Faucet supports Grafana dashboards, Prometheus monitoring and instrumentation, and InfluxDB time-series statistics.faucet.nz · read 7 Oct 2026
- Network features
- The listed features include VLANs, IPv4 and IPv6, static and BGP routing, ACLs, port mirroring, and switch stacking.faucet.nz · read 7 Oct 2026
- Notable limit
- Faucet connects to a single RADIUS server and does not support RADIUS accounting or multiple RADIUS servers.docs.faucet.nz · read 7 Oct 2026
- Policy forwarding
- Policy-based forwarding can offload processing to external systems, including 802.1X via hostapd.faucet.nz · read 7 Oct 2026
- Product
- Faucet is an open-source OpenFlow controller for production networks that moves network control functions into vendor-independent server software.faucet.nz · read 7 Oct 2026
- Security
- The switch control channel can use TLS on a dedicated port, and switches can use fail-secure or fail-standalone behavior.faucet.nz · read 7 Oct 2026
- Support
- Users can ask questions and request features through the mailing list, and report issues through GitHub.faucet.nz · read 7 Oct 2026
- Supported systems
- The documentation lists Debian 10+, Raspbian 10+, Raspberry Pi OS 11+, and Ubuntu 18.04+ for its apt repository.docs.faucet.nz · read 7 Oct 2026