XORP

XORP is an open-source Internet Protocol routing software suite originally designed at the International Computer Science Institute in Berkeley, California. The name is derived from eXtensible Open Router Platform. It supports OSPF, BGP, RIP, PIM, IGMP, OLSR.

The product is designed from principles of software modularity and extensibility and aims at exhibiting stability and providing feature requirements for production use while also supporting networking research. The development project was founded by Mark Handley in 2000. Receiving funding from Intel, Microsoft, and the National Science Foundation, it released its first production software in July 2004. The project was then run by Atanu Ghosh of the International Computer Science Institute, in Berkeley, California.

In July 2008, the International Computer Science Institute transferred the XORP technology to a new entity, XORP Inc., a commercial startup founded by the leaders of the opensource project team and backed by Onset Ventures and Highland Capital Partners. In February 2010, XORP Inc. was wound up, a victim of the recession. However the open source project continued, with the servers based at University College London. In March 2011, Ben Greear became the project maintainer and the www.xorp.org server is now hosted by Candela Technologies.

The XORP codebase consists of around 670,000 lines of C++ and is developed primarily on Linux, but supported on FreeBSD, OpenBSD, DragonFlyBSD, NetBSD. Support for XORP on Microsoft Windows was recently re-added to the development tree. XORP is available for download as a Live CD or as source code via the project's homepage.

The software suite was selected commercially as the routing platform for the Vyatta line of products in its early releases, but later has been replaced with quagga.

Routing features
As of 2009, the project supports the following routing protocols:
 * Static routing
 * Routing Information Protocol (RIP and RIPng):
 * (RIP version 2)
 * (RIP-2 MD5 Authentication)
 * (RIPng for IPv6)
 * Border Gateway Protocol:
 * (A Border Gateway Protocol 4 (BGP-4))
 * (Capabilities Advertisement with BGP-4)
 * (Multiprotocol Extensions for BGP-4)
 * (Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing)
 * (BGP Communities Attribute)
 * (BGP Route Reflection - An Alternative to Full Mesh IBGP)
 * (Autonomous System Confederations for BGP)
 * (BGP Route Flap Damping)
 * (BGP Support for Four-octet AS Number Space)
 * (Definitions of Managed Objects for the Fourth Version of the Border Gateway Protocol (BGP-4) using SMIv2)
 * Open Shortest Path First version 2 (OSPFv2) and version 3 (OSPFv3):
 * (OSPF Version 2)
 * (The OSPF Not-So-Stubby Area (NSSA) Option)
 * (OSPF for IPv6)
 * PIM Sparse Mode (PIM-SM):
 * IGMP v1, v2, and v3:
 * (Internet Group Management Protocol, Version 2)
 * (Internet Group Management Protocol, Version 3)
 * Multicast Listener Discovery (MLD v1 and v2):
 * (Multicast Listener Discovery (MLD) for IPv6)
 * (Multicast Listener Discovery Version 2 (MLDv2) for IPv6)
 * Virtual Router Redundancy Protocol (VRRP v2):
 * (Multicast Listener Discovery Version 2 (MLDv2) for IPv6)
 * Virtual Router Redundancy Protocol (VRRP v2):

User interface
XORP provides a command line interface for interactive configuration and operation monitoring. The interface is implemented as a distinct application called xorpsh, that may be invoked by multiple users simultaneously. It interacts via interprocess communication with the router core modules. The command line language is modelled after that of Juniper Networks's JunOS platform.