Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
What is OOR?
Open Overlay Router (OOR, pronounced as double-O R) is an open-source implementation to create programmable overlay networks. OOR is a production quality and fully featured overlay router implementation, written in C, available for Linux, Android and OpenWRT and, open-sourced under the Apache 2.0 license.
OOR aims to be a key tool in SDN/NFV environments. OOR works with OpenDayLight to easily create programmable overlay services. By combining OOR and OpenDayLight LISPFlowMappings module, overlay networks can be configured and provisioned using NETCONF/YANG and controlled during run-time using the LISP control-plane. As an example, traffic can be steered on-the-fly through different OORs by only interfacing with ODL. Check more use-cases for OOR.
OOR supports multiple encapsulations (data-planes): VXLAN-GPE draft-quinn-vxlan-gpe-04 and LISP RFC6830, as well as control-planes: NETCONF RFC6241 with YANG data modeling and the LISP control-plane RFC6833. OOR aims to provide support for other well-established data and control-planes in the near future. In addition, OOR supports L3 overlays (IPv4 and IPv6) as well as several key overlay features (multihoming, L3 mobility, pub/sub, active path probing, virtual network identifiers). Check the OOR features.
In addition, OOR targets the edge of SDN deployments and it is available for devices running Linux, Android or OpenWRT (a Linux-based firmware for home routers). With this, SDN can be available at the edge, and SDN controllers can also steer traffic and provision configuration at edge devices. Check the binaries available for OOR.
OOR runs as a user-space daemon and it is designed in such a way that it is compatible with many other network services (DHCP, standard routing, ACLs, L2 forwarding, etc). As for performance we are also developing DPDK hardware support for line-rate forwarding speed.
Feel free to engage the OOR community through the mailing lists and contribute as a user, reporting bugs, suggesting features, or developing new functionalities. Check the roadmap, but feel free to propose your own ideas for the future directions of OOR.
OOR was released in December 2015 as a rename of the LISPmob.org project. LISPmob was initially developed as a LISP mobile node implementation but soon became a fully featured LISP implementation (i.e. not only mobile node). The community (mainly researchers, companies and startups) started using it in different ways and as a result it was added support for other data and control planes as well as integration with ODL. With this, LISPmob evolved and became an overlay router supporting protocols well beyond LISP, that is why we decided to launch the Open Overlay Router project in January 2016. With plan to add even more data and control-plane protocols as well as integrate OOR with other well-established open-source communities besides ODL, such as OpenStack.