When Cisco and Juniper first said they were opening their router OSes, I thought that they'd be about as open as the iPhone. With Cisco's launch of IOS XE, I realize I was wrong: The iPhone is much more open.
The update to IOS runs on the ASR-1000, Cisco's new edge router aimed at both enterprises and carriers. Aside from the usual improvements in bandwidth and power consumption, its main selling point is that it can act as a platform for more than just routing, hosting multiple network services like a firewall, a session border controller, and deep packet inspection. The router is designed to be upgradeable for new services, but there's no sign of an API and Cisco has no plans to let outside developers create these services.
Still, IOS XE is open in one important sense: It's built on Linux, making the ASR Cisco's first router based on open-source code. (Or at least its first high-end enterprise router. Home Linksys APs have been running Linux since 2003.) Cisco last week preannounced its first box that runs Windows, so the move looks more like part of a general advance into server territory than a particular love of open source. But by router standards (or even Apple standards), Windows is open.
So far, Cisco plans to run Windows on top of IOS, pitching it as a way to give branch office users access to familiar print and file services without actually needing a server. With Linux, it's the other way round. IOS XE provides the high-level services that control security and routing itself, but the whole thing runs virtualized on a Linux core. The Linux part is perhaps more reliable than the IOS part, as Cisco touts failover as one of the virtualized architecture's big advantages: If one instance of IOS XE crashes, the router doesn't.
The ASR-1000 uses Linux's built-in Kernel-based Virtual Machine (KVM), which isn't as well known as Xen and VMWare (probably because no one is pumping millions of dollars into it) but seems to have gained a following in the embedded space. Last week, Cisco competitor Riverbed launched a branch office accelerator that uses KVM to virtualize software from partners like Infoblox, and the plan is that it will eventually be able to run user-created apps.
Cisco isn't going that far yet. Riverbed's accelerators are aimed at small offices (where they compete with Cisco's WAAS, the box that will run Windows), whereas the ASR is intended for much bigger corporate or carrier data centers. Right now, its virtualization just means multiple instances or versions of IOS XE. But with many of the networking startups that Cisco buys selling Linux-based appliances, KVM could make their technology much easier to assimilate.
Much of the value in high-end switches and routers comes from their custom hardware, which in the ASR's case means the QuantumFlow network processor – a new 40-core chip designed to handle 160 simultaneous threads. Cisco doesn't usually bother to list chips' names or tout their features separately from the products they go in, so it's clearly impressed with the QuantumFlow.
The QuantumFlow itself doesn't run Linux or IOS – they're in the control plane, it's in the data plane – but it, too, is more open than the ASICs that Cisco has traditionally used in its switches and routers. It can be programmed in standard C, and it's designed to be upgradeable to support new services. But as with IOS, all that programming will be done by Cisco, not by users.