In the first part of this 2-part blog, John looks at how our OpenWare switch management system came to be and some of the challenges that had to be overcome along the road.
Abaco has taken a somewhat unique approach to Ethernet switch management. We’ve made significant use of open source—the movement which has provided a huge amount of freely-available software to users worldwide. Open source has been around, in one form or another, since the 1990s—or before—and has been very significant in widening the use of software in many ways. Probably the best known open source software is the Linux operating system, and the related GNU software tools—and it is this GNU/Linux suite of software that Abaco makes use of within its OpenWare switch management package.
The story behind this is worth telling. Nearly 20 years ago, RAMiX (one of the group of companies that later became Abaco) needed to develop new Ethernet switch products for the embedded systems market—that is, computer systems built into “other things.” The other things for RAMiX ranged from telephone exchanges to army tanks. To give full functionality to these Ethernet switches, they had to be “managed”—they needed to be configurable, controllable and able to talk to other devices using some of the protocols common in the Internet. These protocols can range from simple "ping" (to see if another device responds) to complex things like routing protocols (e.g. RIPv3). To manage an Ethernet switch requires software—and a lot of it.
Of course, one option for RAMiX was to buy in a suite of software from one of the proprietary suppliers—but the decision was made to avoid that, and to keep full control over the software in our own hands. In order to do this, we needed to develop a strong team of communications software engineers, and we proceeded to do just that.
Some of the first managed switch products had our software built on top of one the leading real time operating systems (VxWorks). However, as our development went on, we decided to make full use of open source, and so moved to using the GNU/Linux platform, and adopted open source implementations of both the operating system environment and several of the protocol suites. This has required that we develop a lot of expertise in many software areas, but has given us some unique advantages.
We’ve had quite a number of company changes over the years—being acquired by GE, merged with a number of other embedded systems companies, and then becoming Abaco. However, our commitment to the use of open source has remained constant, and brought us together with other parts of the company also involved with open source.
Use of open source in OpenWare has allowed us to adapt more quickly to changing circumstances—for example, rolling in new patches for security issues. It has provided us with a product which customers can more easily trust. It means we can speak the same language when new prospective customers ask us about protocol interactions. It keeps us more aware of trends within the communications software world.
Certainly, there have also been challenges with this approach. Back in the early days, when open source was not so common (and when some organizations were “bad-mouthing” the concept) we had a bit of an uphill struggle to convince prospects that they could trust this “free software.” There were some customers who had policies in place which made use of open source difficult. In some way, it was seen as a poor alternative to “real, paid-for software.” The whole area of software licences became quite difficult for a few years, with GPL (especially GPLv3) causing quite a few headaches—partly through misunderstanding. However, one of the major changes that we’ve seen in the market recently—especially the military market—is the more positive attitude to open source. Indeed, over the last decade, we’ve seen many of our military customers adopting open source into their own projects—countless of them taking a similar, pragmatic view of open source being a workable solution to appropriate parts of their software architecture.
More than just open source
Obviously, OpenWare is far more than a set of open source packages. It consists of a heavily tailored suite of open source software (trimmed to the bare minimum of what we need) and a huge in-house developed management suite. The boot loader, operating system and filesystem are all open source—cut down and focused for our needs. Even some of the protocol packages are open source (e.g. we use Quagga for the routing protocols). But over nearly twenty years, our development team has constructed a software solution comprising nearly half a million lines of our own C code. This code is carefully structured in our own software architecture aimed purely at managing highly complex switch fabrics.
OpenWare now supports all the favorite protocols in use in the military networking arena; The list of acronyms is not appropriate here, but we can highlight: IGMP, MLD, G*RP, DHCP, SNMP, RIP, OSFP, PIM, BGP… and pages of RFC numbers and IEEE spec numbers. Needless to say, every one of our customers has a different list of protocols (or options) they want to use. Having developed this support in-house, we have the expertise to help in each case. Even if they are looking for some subtle “twist” or new option, or customization of the standard protocols, we can supply that in relatively short timeframes. At times, we work hand-in-hand with customer engineers to ensure we have the perfect solution for their networking needs.