Open SDN Switch OS Rob Sherwood Big Switch Networks Ethernet Technology Summit 2014 Santa Clara, CA USA April-May 2014 1 Rob Sherwood • CTO, Software architect at Big Switch Networks • ONF: former chair of ArchWG and vice-chair of TestingWG • Working in OpenFlow/SDN since 2008 • Wrote the FlowVisor: • http://flowvisor.org Santa Clara, CA USA April-May 2014 2 Outline • Motivation: Open Networking • SDN Basics • Switch Software • Open Network Linux • OF-DPA • Conclusions and Community SDN Architectural Evolution BEFORE NOW Automation Tool Automation Tool APIs North-bound APIs SDN App North-bound APIs SDN App SDN Controller SDN Controller CP/DP Separation OpenFlow & Extensions OpenFlow (Thick) NetOS OF (Thin) SDN OS Network HW • Too many moving parts (multiple SDN SW vendors) • OF agent SW from HW vendor! • Limited access to switch ASIC access OpenFlow is just API Network HW • • • • SDN SW solution from single vendor Exactly like the hypervisor/server model Full access to switch ASIC Accelerate HW/SW disaggregation SDN Architectural Evolution Cloud Fabric Automation Tool Big Tap Big Switch Network’s Commercial Products This talk: Open Source Switch OS ©2014 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM PROPRIETARY AND CONFIDENTIAL SDN App SDN Controller (Thin) SDN OS Network HW 5 Isn’t Networking already open? All Hardware Specs Public X86 Servers Open Binary SDK for Packet Forwarding NPU, FPGA, SoC Closed OS, Open Control Plane APIs DC – 1U ToRs, Spines Closed OS, Open APIs for Policy, Stats Multi-chassis Routers 10 Gb/s 100 Gb/s 1 Tb/s Aggregate Throughput 10 Tb/s Isn’t Networking already open? All Hardware Specs Public X86 Servers Open Binary SDK for Packet Forwarding NPU, FPGA, SoC Closed OS, Open Control Plane APIs This talk DC – 1U ToRs, Spines DC – 1U ToRs, Spines Closed OS, Open APIs for Policy, Stats Multi-chassis Routers 10 Gb/s 100 Gb/s 1 Tb/s Aggregate Throughput 10 Tb/s Goal: One Big Switch Controller 1 Spine Leaf Controller 2 Line Card Line Card 4 5 1 2 3 4 5 6 Leaf Line Card Chassis-based Fabric 6 Leaf 3 Leaf Line Card 2 Spine Line Card 1 Spine Supervisor 2 Fabric Backplane Supervisor 1 These designs are fundamentally the same! Leaf-Spine Fabric Forwarding Abstraction: Flow Table Flow Table Flow FlowTable Table Priority Match Action List 500 IP.proto=6 TCP.dst=22 TTL--, Fwd:port 3 200 IP.dst= 128.8/16 * Queue: 4 100 DROP • “Assembly Language of Networking” • Too low-level for most operators • Active work in the Open Networking Foundation to bring OpenFlow to feature parity with “closed flow” Switch Scaling: Understanding Tables Classical OpenFlow versus Modern Proactive and Multi-table OpenFlow Processing Pipeline VLAN Table L2 Table: L3 Table: 100K+ Entries 100K+ Entries Early OpenFlow implementations only used the most flexible table. • Didn’t scale well • Scale forced reactive population • Reactive caused controller load and addition scale problems Our Modern OpenFlow implementation leverages all tables • Scales like traditional • Allows proactive population • Proactive reduces controller load and allows for headless control ACL Table: ~2k Entries OpenFlow does NOT imply Flow-based Networking Egress Table 10 OUtline • Motivation: Open Networking • SDN Basics • Switch Software • Open Network Linux • OF-DPA • Conclusions and Community Switch Light Architecture Big Network Controllers Legend Open Network Linux OpenFlow Agent CLI Switch Light OS Indigo Loxi BSN Open ZTN Loader BSN Closed 3rd Party Closed Source SSH Fan Control NTP Syslog SNMP LibC on Debian Wheezy Base Distribution ONL Linux Kernel I2C GPIO Device Trees Indigo/ASIC Driver ASIC SDK ASIC Switch Light is our Indigo OpenFlow Agent running on Open Network Linux on x86 or ASIC-based hardware. Open Network Linux A Linux distribution for bare metal switches • Open-sourced commercial code, build scripts, drivers from Switch Light • Part of Open Compute Project (OCP) • Project goals: • Improve perception/de-risk bare metal • “Crowd source” larger Switch Light HCL • Released mid-January: Initial results • Strong community response from ODMs, OCP • Accton self-supporting three new boxes, more ODMs interested • Other vendors investigating ONL for their own purposes • Info: http://opennetlinux.org – under construction ONL – Supported Hardware • ONL Support is Pre-cursor to Switch Light Support • Working on OCP box from Interface Masters with x86 support OpenFlow Datapath Abtraction: OF-DPA Indigo open driver OF-DPA SDK Chip OF-DPA API closed Conclusion and Community • Many Open Source projects • Take the pieces or the whole: ONL • Didn’t have time: Indigo and Loxi • All of these projects are used by BSN • Quality, tested code • “Productized” modern OpenFlow • Join at: opennetlinux.org/community • Comments and feedback welcome