
Faucet
Faucet is an open-source OpenFlow controller for operators managing production networks.
What Faucet is
Faucet is an open-source OpenFlow controller for operators managing production networks. It shifts control tasks such as routing, neighbor discovery, and switching algorithms from network hardware into vendor-independent server software, with a centralized control plane. It 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 hand processing to external systems, including 802.1X through hostapd. Configuration uses YAML, with a documented command to check it before loading. Installation options include pip3, apt-get, and Docker; the deployment guide describes a host setup alongside Gauge, Prometheus, and Grafana. Monitoring also includes InfluxDB time-series statistics. Switch control can use TLS, and redundant controllers can provide high availability, though they do not share state. Faucet is free and licensed under Apache-2.0. It supports Linux and self-hosted deployments.
Good
- Supports VLANs, IPv4 and IPv6, routing, ACLs, and mirroring
- Offers Prometheus, Grafana, and InfluxDB monitoring
- Can install through pip3, apt-get, or Docker
- Redundant controllers can provide high availability
Watch out
- Vendor-specific pipelines such as Broadcom OFDPA are unsupported
- No shared state between redundant controllers
- Supports only a single RADIUS server
- No RADIUS accounting or multiple RADIUS servers
Who it suits
Faucet suits network operators managing production networks with OpenFlow hardware. It is relevant to teams that want server-based network control and YAML configuration.
Verdict
Faucet brings a broad set of switching, routing, policy, and monitoring functions to OpenFlow 1.3.x networks. Check switch compatibility and its RADIUS limitations before choosing it.
The facts
Each one read from Faucet's own pages, with the date it was checked.
What it does
- Availability
- The site describes high availability using redundant controllers with the same configuration, without shared state or inter process communication.checked 7 Oct 2026
- Configuration
- Network configuration uses YAML, and the documentation provides a command to check configuration before loading it.checked 7 Oct 2026
- Deployment model
- The installation guide describes installing and configuring Faucet on a host alongside Gauge, Prometheus, and Grafana.checked 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.checked 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.checked 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.checked 7 Oct 2026
- Installation
- The maker says Faucet can be installed with pip3, apt-get, or Docker.checked 7 Oct 2026
- Integrations
- The documentation lists integrations including doveSnap, pipette, Poseidon, DAQ, Forch, and a GNS3 Faucet appliance.checked 7 Oct 2026
- Intended users
- The maker presents Faucet for network operators managing production networks and OpenFlow hardware.checked 7 Oct 2026
- License
- The project repository identifies Faucet as licensed under Apache-2.0.checked 7 Oct 2026
- Monitoring
- Faucet supports Grafana dashboards, Prometheus monitoring and instrumentation, and InfluxDB time-series statistics.checked 7 Oct 2026
- Network features
- The listed features include VLANs, IPv4 and IPv6, static and BGP routing, ACLs, port mirroring, and switch stacking.checked 7 Oct 2026
- Notable limit
- Faucet connects to a single RADIUS server and does not support RADIUS accounting or multiple RADIUS servers.checked 7 Oct 2026
- Policy forwarding
- Policy-based forwarding can offload processing to external systems, including 802.1X via hostapd.checked 7 Oct 2026
- Product
- Faucet is an open-source OpenFlow controller for production networks that moves network control functions into vendor-independent server software.checked 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.checked 7 Oct 2026
- Support
- Users can ask questions and request features through the mailing list, and report issues through GitHub.checked 7 Oct 2026
- Supported systems
- The documentation lists Debian 10+, Raspbian 10+, Raspberry Pi OS 11+, and Ubuntu 18.04+ for its apt repository.checked 7 Oct 2026
- Switching and routing
- It supports VLANs, IPv4 and IPv6, static and BGP routing, access control lists, port mirroring, and switch stacking.checked 7 Oct 2026
- Switch support
- Faucet controls hardware supporting OpenFlow 1.3.x with multiple tables; vendor specific pipelines such as Broadcom OFDPA are not supported.checked 7 Oct 2026
Alternatives to Faucet
- 1
Antrea
Free planOpen sourceAPILinuxSelf-hostedWindows7.2Free plan - 2
ONOS
Free planWebAPILinuxmacOS6.9Free plan - 3
TP-Link Omada Cloud-Based Controller
Free planAndroidiOSWeb6.7Free plan - 46.5Free plan
- 5
OpenDaylight
Free planAPILinuxmacOSSelf-hosted6.3Free plan - 6
Cisco Catalyst Center
WebAPILinuxmacOS6.2
