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.