PROPOSAL: OCP COMMON LINUX SWITCH DISTRIBUTION Rob Sherwood and Mansour Karam OCP November 2013
OUTLINE Background: A Linux distribukon is more than lots of packages SupporKng new plarorms can be a PITA Proposal: OCP should host its own Linux distribukon for switches DistribuKon == exiskng distro + added switch bits and config Users and developers benefit from common repository Benefits for users Benefits for developers Going forward: Big Switch willing to contribute code/scripts to bootstrap 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 2
BACKGROUND DISTRIBUTION Linux proper is just the kernel DistribuQon is everything else e.g., RedHat, Ubuntu, Slackware, Gentoo, etc. Libc, compiler, user space binaries ConfiguraKon, file system layout, startup scripts Package management, full- featured boot loader A lot of work goes into making a good distribuqon Default configurakons, daemons Q/A (lots and lots) Lots of possibiliqes for niche distribuqons e.g., embedded environments differ from server Bootloaders vs. full fledged systems 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 3
BACKGROUND PLATFORM SUPPORT SomeKmes we forget, but the boot process is horrible Server and switch plauorms have many idiosyncrasies Litany of lible devices we never think of USB, GPIO, flash, PCI, serial, RTC, EEPROM, DMA, Crypto chips MPIC - MulKple programmable interrupt controller all at plarorm- specific memory locakons x86- based standards shield us from low- level plauorm details Vendor must write a BIOS for each plarorm, e.g., ACPI standard OperaKng systems (e.g., Linux) discovery devices via BIOS But switch plauorm ecosystem is not as evolved Includes switch specific devices, like I2C, GPIOs, etc. Manual map/inventory of hardware à memory address via Device Tree Source (DTS) files 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 4
BACKGROUND RISK TOWER OF BABEL STP + MLAG Fedora Linux Kernel Device Tree #1 Initrd #1 OCP PlaRorm V1 OpenFlow daemon Std. Debian Linux Kernel Device Tree #2 Initrd #2 OCP PlaRorm V2 Quagga + hooks BusyBox Linux Kernel Device Tree #3 Initrd #3 White box vendor Stack #1 Stack #2 Stack #3 Switch Agent(s) PlaRorm Independent PlaRorm Dependent Hardware Layer 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 5
PROPOSAL: PICTORIAL VERSION STP + MLAG OpenFlow daemon Quagga + hooks Keep differenkakon in switch agents OCP PlaRorm V1 Standard Debian, tools, etc. Stock Linux Kernel + any patches Unified Device Tree Repository Unified Driver Repository OCP PlaRorm V2 White box vendor Come together around the common bits Maximize hardware abstrackon 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 6
PROPOSAL OCP SWITCH DISTRIBUTION OCP should make its own Linux- based switch distribuqon Low effort - repackage well- known distro, e.g., Debian Tuned for switches, but with full- featured tools CollecKon of the right DTS files for common switch plarorms CollecKon of the right kernel modules Running the things you want and nothing else Yes: NTP, syslog, SNMP server, No (by default): NetworkManager, avahi, etc. All switch vendors have effecqvely do this already There is lible (no?) Intellectual Property in the distribukon Vendors differenkate themselves by daemons that run on top of the distribukon 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 7
PERSPECTIVE RELATIVE TO ONIE Different tools for different use cases but maximize code reuse ~160 MB ~3MB ~16MB ONIE First boot Loader Normal Full- featured Boot Loader (w/busybox) Main Network OS Image (.swi) (w/real binaries) Github.com/ onie/onie Proposed OCP DistribuKon Common kernel and DTS files?? 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 8
BENEFITS FOR USERS Help foster an OSS ecosystem sandbox Easy OS binary to download and play with Vendor agnosqc common Linux plauorm Deploy your non- switch tools on any box - e.g., Chef/puppet/custom Manage the switch like any other server Central repository for DTS files Less frickon to support new plarorms Easy hardware validakon Possible app store for vendor- specific add- ons Deploy and swap daemons with `apt- get` Probably a long way off, but skll intereskng 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 9
BENEFITS FOR VENDORS Secondary importance, but why we re proposing this All vendors already have their own distribuqons Informal check: most are based off of Debian Wheezy No significant space for differenkakon, might as well standardize Reduce engineering effort Reduce the effort to support new plauorms Open up the ecosystem good for everyone Central repository for hardware vendors to test their drivers Normalize hardware compaqbility lists 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 10
GOING FORWARD CONTRIBUTION FROM BSN A developer workflow as much as a distribukon Contribute enqre Linux distribuqon to open source/ocp Based off of Debian Wheezy Pre- made binaries for x86 and PowerPC Tuned for embedded switches Non- BusyBox à real tools for main OS, BusyBox for loader Extra drivers for flash, GPIOs, I2C, ethernet drivers, etc. A custom kernel patches, e.g., enhanced I2C support Linux drivers and DTS files for many common plauorms Quanta LB8D, LB9, LB9A, LY2, LY2R, LY5 Accton 5652 More coming Full- featured boot loader ONIE is just for first Qme install 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 11
SWITCHLIGHT ARCHITECTURE Legend 3 rd Party Open 3 rd Party Closed BSN Open SSH Switch Light Lib C Controller Fan Control NTP Syslog SNMP CLI DistribuKon decoupled from OpenFlow Agent ASIC Driver ASIC SDK OpenFlow Agent Loxi Indigo Vswitch Driver Vswitch Kernel BSN Binary Linux Kernel ASIC x86 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 12
REFERENCES More on Device Trees hbp://www.devicetree.org/main_page hbp://www.celinux.org/elc08_presentakons/glikely- - device- tree.pdf x86 Boot Process and BIOS Standards ONIE hbp://duartes.org/gustavo/blog/post/how- computers- boot- up hbp://www.acpi.info/presentakons/acpi_overview.pdf Code: github.com/onie/onie Docs: hbp://onie.github.io/onie 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 13
CONCLUSION Linux distribuqons for switches are a fair bit of work Drivers, device trees, configurakon Full- featured loader, real tools Lots of opportunity and benefit to share code Good for users and vendors Reduces effort/frickon for community hardware support Vendor agnoskc base for sandbox Open up the ecosystem BSN is offering to seed the project with parts of the SwitchLight distribuqon (Safely decoupled from the OpenFlow daemon) 2013 BIG SWITCH NETWORKS, INC. WWW.BIGSWITCH.COM 14