Faucet

Open source SDN Controller for production networks

What is Faucet?

Faucet is a compact open source OpenFlow controller, which enables network operators to run their networks the same way they do server clusters. Faucet moves network control functions (like routing protocols, neighbor discovery, and switching algorithms) to vendor independent server-based software, versus traditional router or switch embedded firmware, where those functions are easy to manage, test, and extend with modern systems management best practices and tools. Faucet controls OpenFlow 1.3 hardware which delivers high forwarding performance.

You can read more about our approach to networking by reading our ACM Queue article Faucet: Deploying SDN in the Enterprise.

Easy Installation & Upgrades

Install in less than 30 seconds with pip3, apt-get or docker. Once installed, simply edit the configuration file and start the controller to manage your switches.

Faster upgrades than non-SDN (can upgrade controller in <1sec while network still runs and without rebooting the hardware)

Network Operations

Much easier to automate and integrate configuration (YAML). Time-series database integration for real time statistic dashboards with Grafana.

Push On Green: Built-in integration test framework for Mininet & Hardware

Control Plane Security

Switch control channel can be on a dedicated port secured by TLS.

Switch can be configured for “fail-secure” (default) - keep forwarding and using currently programmed flows until they expire or “fail-standalone” - revert to being a non-programmable switch

Hardware Support

Any dataplane (Switch) supporting Openflow v1.3.x with multiple tables, group table and optional table features messages. Vendor specific pipelines (e.g. Broadcom OFDPA) are not supported. Open vSwitch, Lagopous, HPE Aruba, Allied Telesis, Noviflow, Netronome, and Northbound Networks are some of the switch vendors supported.

SDN Configurability

Ability to configure secure learning modes (e.g. Unicast flooding), ACLs, Policy Based Forwarding (PBF) based on OpenFlow matches, Stacking of switches (Faucet distribted switching fabric) and so on. This configurability is the biggest difference between a traditional switch with a SDN enabled one.

High Availability & Scalability

High Availability (HA) via Idempotency (without need for a stateful HA cluster). Simply run redundant faucet controllers on different hardware with the same configuration filea and configure these controllers on our switches to enable HA. No state sharing or Inter-Process Communication between redundant faucet controllers is required.

Features

Events

Faucet Plugfest (co-located with SC18 Staging) — October 2018 — Dallas, Texas

Faucet Workshop Tokyo — May 2018 — Tokyo, Japan

Faucet Conference and Plugfest — October 2017 — Berkeley, CA, USA

Faucet Plugfest — March 2017 — Berkeley, CA, USA

Deployments

Faucet has been deployed in production around the world. Some of the sites include REANNZ, AARNet, ESNet, Victoria University of Wellington, Allied Telesis, The University of Tokyo, WIDE Project, Toulouse Internet Exchange and WAND Group Waikato University.

Support

Please subscrible to the appropriate mailing lists [ Announcements, Developers, Users ] to post your questions and feature requests. Use github Issue to post issues.

Get Connected