About XORP

XORP is a modular, extensible, open source networking platform that can be leveraged by:

XORP as an Open-Source Router

XORP code can be downloaded and used to build a fully functional PC-based router. A basic implementation of XORP is also available as a Live CD--i.e, a downloadable CD image that can be burned to a bootable CD. This allows XORP to be run without installing any additional software, understanding how XORP works internally, or knowing anything about Linux/Unix system administration.

XORP has a single unified command line interface (CLI) which is used to configure routing protocols and network interfaces. XORP's CLI can be extended to encompass additional router functionality such as queue manangement, QoS configuration, firewalls, NATs and DHCP configuration. The XORP architecture also permits different routing protocols to run in different security "sandboxes", offering the potential for greater robustness and security than alternative router platforms.

XORP currently supports both IPv4 and IPv6 versions of BGP4+, OSPFv2, OSPFv3, RIP and RIPng for unicast routing, and PIM-SM and IGMP/MLD for multicast. XORP runs on most Linux and *BSD distributions as well as Mac OS X and Microsoft Windows. Details can be found in the BUILD_NOTES file.

XORP for Network Equipment Vendors

The performance of PC-based XORP implementations depends on the forwarding capability of the underlying hardware. For environments and applications requiring higher bandwidth or greater speed, XORP can be used as a software stack for controlling advanced hardware forwarding planes. Its Forwarding Engine Abstraction (FEA) process provides a key abstraction layer that isolates higher level routing functionality from the underlying operating system and forwarding engines. This makes it straightforward to port XORP to new hardware platforms using software shims to protect vendor proprietary intellectual property.

XORP for Network Application Writers

Third-party router application development has been largely precluded by the lack of open APIs for commercial router platforms. XORP's extensible architecture allows router operators to install new binary application processes that appear as integrated parts of the router from an operational perspective. This is enabled via XORP's inter-process communication mechanism, combined with it's run-time extensible router-manager process and CLI. Practically speaking, XORP enables customer choice by de-coupling router applications from the underlying routing platform.

XORP for Networking Research

The networking research community has been hindered by the lack of an open, production-ready platform on which to develop new technology. Experimentation, testing and measurement are typically done via simulation with no guarantee that results will carry over to real-world routing. This is where XORP comes in: