Using Faucet to Build SC18 Network with OpenFlow

Remember how Nick Buraglio tried to use OpenDaylight to build a small part of SuperComputing conference network… and ended up with a programmable patch panel?

This time he repeated the experiment using Faucet SDN Controller – an OpenFlow controller focused on getting the job done – and described his experience in Episode 101 of Software Gone Wild.

We started with the usual “what problem were you trying to solve” and quickly started teasing apart the architecture and got geekily focused on interesting things like:

  • How do you integrate Faucet with external autonomous systems?
  • How did they automate Faucet configuration generation from conference-wide database?
  • How stable is Faucet?
  • What hardware can you run Faucet on?
  • How could you do network monitoring with Faucet?
  • How do you implement highly-available cluster of Faucet controllers?
  • What are the limits of OpenFlow-based networks?
  • What switches can you use with Faucet and what are the minimum requirements to have a usable OpenFlow switch?

And just in case you want to know more about Cisco’s and HPE’s programmable ASICs, we covered them in Episode 76 (Cisco) and Episode 37 (HPE).


  1. Maybe I missed something... How to integrate the Faucet with the app and program new flow(s) on specific device(s)? Is there NBI? I mean that high level abstraction / logic delivered by the app and the SDN controller only program the devices through SBI (actually OpenFlow here). And interesting thing how long does it take to program and use new flows...
  2. New Flows are pushing more or less in real time. Everything is programmed using OpenFlow 1.3 directly from the controller(s). There is middleware that converts the flowmods to routes and vice verse. Code can be found here and
Add comment