We’ve heard a lot of Software Defined Networking (SDN), Open Networking, APIs, and policy models over the past few months (and years). There are days where it’s sickening to hear the term SDN, but even on those darkest days, the reality is that the network industry has a bright and open future. In this post, I’m going to share a list of networking projects that I’m aware of that are not only open, but also open source. It is definitely eye opening and extremely positive to see so much open source activity in the network industry.
Edit/Note: updated list can be found here on GitHub. Feel free to issue a pull request to add or modify the list.
OpenDaylight (ODL) – established in April 2013 is an open source Software Defined Networking (SDN) controller platform(s). There are different controller platforms for different use cases.
OpenFlow (OF) – established in the late 2000s, the OpenFlow 1.0 release launched in December 2009. The Open Networking Foundation took over the development (not actually coding) of OpenFlow when ONF formed in late March / early April in 2010.
Open vSwitch (OVS) – established in mid to late 2009 by the Nicira team to replace the standard Linux bridge. It’s goal was to provide full featured switching capabilities to virtual environments running in Linux based hypervisors such as KVM and XEN. It’s also now being used to inter-connect containers.
Open Virtual Network (OVN) – just established last week and will be a sub project of the OVS project. Its goal is to provide native abstractions to OVS to simplify the provisioning of logical segments, logical routers, and security groups without requiring a SDN controller (initially for OpenStack environments).
OpenStack Neutron – formerly known as Quantum, it is the core networking project and API for the OpenStack project. For networks to be orchestrated by OpenStack, they must have a neutron plug in. It officially became a core project in the OpenStack Folsom release.
OpFlex – launched in early 2014 by Cisco as a way to create, deploy, and manage policies. It’s initially being used as part of the Cisco Application Centric Infrastructure (ACI) solution. Cisco has also submitted it to the IETF and is contributing work around OpFlex to the ODL and OpenStack Neutron communities. The OpFlex project consists of three things: the OpFlex protocol, SB plugin, and the policy agent.
Data Services Engine (DSE) – initially created in 2013 by Plexxi, the DSE has become part of the OpenStack Congress project (focused on policy). The DSE could revolutionize how different products and solutions communicate with one another. I’ll go out on a limb and say it could be the foundation for machine learning in the data center (and IT, more generally).
Quagga – this one has been around for some time, but is gaining more visibility with companies like Cumulus actively promoting open networking. Quagga is a routing software suite and has open source implementations of OSPF, RIP, BGP, etc.
OpenContrail – Juniper acquired Contrail, a network virtualization company, in December 2012. Shortly after, they open sourced the product and called it OpenContrail.
MidoNet – the network virtualization product by Midokura was just open sourced less than 3 months ago. Like a few other startups and solutions out there, they have been primarily focused on networking for OpenStack clouds.
Open Networking Install Environment (ONIE) – created by Cumulus Networks in 2012 and later adopted by the Open Compute Project (OCP), it is a lightweight operating system serving as a boot loader for bare metal switches allowing users to have choice in which operating systems can be used and loaded. Cumulus, Big Switch, OCP, Pica8, Dell, and Plexxi (they’ve committed to it, but don’t know where they stand) are now shipping switches with ONIE pre-installed and/or support ONIE in their software. You can find plenty whitebox/bare metal platforms that ship with ONIE that will allow you to load network operating systems like Cumulus Linux, Open Networking Linux, PicOS, etc.
Open Compute Project (OCP) – has been around since 2011 initially established by Facebook to share some of their hardware designs, but also to help accelerate hardware and software innovation in the open source world. OCP Networking was later established in early to mid 2013, publicly launched at Interop in 2013. It’s since been working on open source architectures for data center top of rack switches.
Prescriptive Topology Manager (PTM) – created by Cumulus in 2013 as a way to dynamically verify there is up to date and accurate cabling in place in switched networks. This is great and I do hope other vendors adopt PTM. I’ve been developing external (off box) functionality to do the same thing. Check out my blog for more details.
Open Networking Linux (ONL) – emerged onto the scene in late 2013 by Big Switch Networks and is now part of the Open Compute Project (OCP). ONL is a base level Linux distribution for bare metal switches. One of its main goals is to be the foundation of which others/vendors can build commercial solutions on top of bare-metal switches. Big Switch’s SwitchLight OS is an example, and is built on top of ONL.
Bird Internet Routing Daemon (BIRD) – similar to Quagga, it is an open source routing platform for Linux systems. In contrast to Quagga, BIRD offers multiple-RIB design, is often used as a route server, and does not support ISIS. On the other hand, Quagga is a single-RIB design, supports ISIS, and it’s not even recommended to be used as a route server.
Snort – many are aware of Snort, but it’s an open source IDS/IPS; its commercial version came via SourceFire, a company which Cisco acquired in 2013.
There are plenty more open source projects that will directly impact networking too. A few of them include:
OpenFlow controllers – there are plenty of these still out there, many in academia
Git, Gerrit, Jenkins, Travis CI – open source tooling for source control, code review, testing, and continuous integration. These aren’t too popular in the network community, but they can definitely have a positive impact.
SocketPlane, Weave, Akanda – new onto the network scene, SocketPlane and Weave are building open source networking solutions for Docker and Akanda (spin out from Dreamhost) is building an open source network virtualization platform for OpenStack environments.
Ansible, Puppet, Chef, SaltStack, etc. – there is an increasing amount of open source automation and configuration management tools that have been around for quite some time, but we’re just starting to see what kind of impact and what the integrations will look like for the network community
As you can see there is an increasing amount of activity in the open source world as it pertains to networking. While SDN is something that still can’t be defined, only sold to customers, it should be evident the role of open [source] networking will be significant going forward. There are huge opportunities to break these projects and technologies down to make them more consumable for the average user (that is often forgotten about). Because of this, I wouldn’t be surprised if we start to see different types of engagements with vendors, VARs, and integration companies.