Skip to content

Commit

Permalink
Documentation update
Browse files Browse the repository at this point in the history
  • Loading branch information
albert-lopez committed Apr 24, 2019
1 parent 2b0c0b6 commit d86a56e
Show file tree
Hide file tree
Showing 11 changed files with 145 additions and 71 deletions.
42 changes: 22 additions & 20 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
We thank the following people for their contributions to the project.

David Meyer <[email protected]>
Preethi Natarajan <[email protected]>
Vina Ermagan <[email protected]>
Chris White <[email protected]>
Albert Cabellos <[email protected]>
Lorand Jakab <[email protected]>
Albert Lopez <[email protected]>
Marc Portolés <[email protected]>
Pranathi Mamidi <[email protected]>
Alberto Rodriguez-Natal <[email protected]>
Vasileios Lakafosis <[email protected]>
Florin Coras <[email protected]>
Konrad Gawda <[email protected]>
Matthieu Coudron <[email protected]>
Rene Bartsch <[email protected]>
Michiel Blokzijl <[email protected]>
François Cachereul <[email protected]>
Lluís García Torres <[email protected]>
José Miguel Guzmán <[email protected]>

David Meyer <dmm at cisco.com>
Preethi Natarajan <prenatar at cisco.com>
Vina Ermagan <vermagan at cisco.com>
Chris White <chris at logicalelegance.com>
Albert Cabellos <acabello at ac.upc.edu>
Lorand Jakab <lori at lispmob.org>
Albert Lopez <alopez at ac.upc.edu>
Marc Portolés <marc.portoles at cttc.cat>
Pranathi Mamidi <pranathi.3961 at gmail.com>
Alberto Rodriguez-Natal <arnatal at ac.upc.edu>
Vasileios Lakafosis <lakafosi at cisco.com>
Florin Coras <fcoras at ac.upc.edu>
Konrad Gawda <Konrad.Gawda at orange.com>
Matthieu Coudron <matthieu.coudron at lip6.fr>
Rene Bartsch <ml at bartschnet.de>
Michiel Blokzijl <mblokzij at cisco.com>
François Cachereul <f.cachereul at alphalink.fr>
Lluís García Torres <lluisgar93 at gmail.com>
José Miguel Guzmán <jmguzman at whitestack.com>
José Ortiz Padilla <jose.orpa at gmail.com>
Ernest Puigdemont <ernest_puigdemont at hotmail.com>
Oriol Marti <oriolmarimarques at gmail.com>
10 changes: 9 additions & 1 deletion Apple/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
# OpenOverlayRouter on Apple iOS

OOR-APPLE is the OpenOverlayRouter version for Apple iOS. We are using the official OOR code as base https://github.com/OpenOverlayRouter/oor. iOS version is working in an early state, there are a lot of code improvements to do and things to implement.
Open Overlay Router includes support for Apple iOS devices operating as LISP mobile
nodes (LISP-MN). The application is limited to one single EID (IPv4 or IPv6) mapped to one
or more RLOC interfaces (IPv4). Even though several interfaces can be managed by Open Overlay
Router at the same time, they can only be used in an active-backup fashion (no more
than one interface used at once).
You can install the application from the Apple Store:
https://itunes.apple.com/us/app/openoverlayrouter/id1454649703?mt=8

Or you can follow next steps to compile the application from source code.

## Requirements

Expand Down
2 changes: 0 additions & 2 deletions Apple/oor-ios/SettingsViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -211,14 +211,12 @@ class SettingsViewController: UITableViewController, UITextFieldDelegate {
config.append(" 217.8.98.33,\n")
config.append(" 217.8.98.35,\n")
config.append(" 147.83.131.33,\n")
config.append(" 158.38.1.92,\n")
config.append(" 203.181.249.172,\n")
config.append(" 202.51.247.10,\n")
config.append(" 2001:590::451f:1f62,\n")
config.append(" 2001:418:0:1000::63,\n")
config.append(" 2001:40B0:7500:205:1::E,\n")
config.append(" 2001:40B0:7500:205:1::12,\n")
config.append(" 2001:700:0:52E::4,\n")
config.append(" 2001:200:e000:17::172\n")
config.append("}\n\n\n")
config.append("# IPv4 / IPv6 EID of the node.\n")
Expand Down
103 changes: 74 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Overview
--------

The OpenOverlayRouter (OOR) project aims to deliver a flexible and modular
The Open Overlay Router (OOR) project aims to deliver a flexible and modular
open-source implementation to deploy programmable overlay networks. It
leverages on encapsulating overlay-specific packets into underlay-compatible
packets at the edges of the instantiated overlay and route them over the
Expand All @@ -26,12 +26,12 @@ specification to enable fast host mobility using LISP. For convenience, OOR
uses terminology borrowed from the LISP protocol and thus uses the term EID
for the overlay identifiers and the term RLOC for the underlay locators.
Regarding the LISP devices that OOR implements, currently it can operate as
an xTR, MS/MR, RTR or LISP-MN.
an xTR, LISP-MN, MS, MR, DDT Node or RTR.

Nowadays, OOR runs on desktop Linux, OpenWRT home routers and Android
Nowadays, OOR runs on desktop Linux, OpenWrt home routers and Android and iOS
devices. The current reference platform for OOR development is Ubuntu
Server 14.04.5 LTS (Trusty Tahr), OpenWRT 15.05 (Chaos Calmer) and
Android 4.3 (Jelly Bean).
Server 16.04 LTS (Xenial Xerus), OpenWrt 18.06 and Android 6.0 (Marshmallow),
iOS 11.3.

OOR can work together with the Vector Packet Processing (VPP) technology to
obtain an xTR capable to reach bandwith close to the 10 GBps. To use VPP as
Expand Down Expand Up @@ -61,13 +61,13 @@ RTR
* a publicly routable RLOC for the device running OOR, which is neither
firewalled, nor behind NAT.

MS/MR
MS - MR - DDT
* a publicly routable RLOC for the device running OOR, which is neither
firewalled, nor behind NAT.

The above information is used for configuring 'oor' via the configuration file
'oor.conf'. See section "OpenWRT" for OpenWRT configuration details and "Android"
for Android configuration details.
'oor.conf'. See section "OpenWrt" for OpenWrt configuration details,"Android"
for Android configuration details and "iOS" for Apple iOS configuration.

Visit http://www.lisp4.net/ for more info on the deployment status of the LISP
beta-network and how you can join the testbed.
Expand Down Expand Up @@ -118,16 +118,16 @@ To install it in `/usr/local/sbin`, run
A `Vagrantfile` is provided for quick installation in a dedicated VM, see the
"Using Vagrant" section.

To build the code for OpenWRT you will need the OpenWRT official SDK. However,
for your convenience, we encourage you to install the precompiled .ipk, from our
website. Check section "OpenWRT" for details.
To build the code for OpenWrt you will need the OpenWrt official SDK. However,
for your convenience, we encourage you to install the official packet from OpenWrt
repository. Check section "OpenWrt" for details.

Running Open Overlay Router
---------------------------

Once the code is successfully installed on the device, `oor.conf.example` should
be copied to `/etc/oor.conf` and edited with the proper values. Again, see
section 'OpenWRT' for OpenWRT details about this. Additionally the device's
section 'OpenWrt' for OpenWrt details about this. Additionally the device's
interface used for physical network connectivity (such as 'eth0', 'wlan0' or 'ppp0')
must also be specified in the configuration file.

Expand All @@ -137,9 +137,9 @@ table (there is a 'default' entry for each outgoing interface). In most cases,
this is auto-configured by the operating system during start-up.

Check that sysctl options configuration is correct. Make sure that rp_filter
kernel network parameter is disabled. It is disabled by default in OpenWRT, but,
kernel network parameter is disabled. It is disabled by default in OpenWrt, but,
for instance, it is enabled by default in Ubuntu. Make sure too that IP
forwarding is enabled. It should be enabled by default in OpenWRT.
forwarding is enabled. It should be enabled by default in OpenWrt.

You can instruct your system to auto-configure these values during system
boot-up if you add the following lines to `/etc/sysctl.conf`. Remember to
Expand Down Expand Up @@ -181,6 +181,8 @@ This is the list of supported features at this moment
- Instance ID / VNI support
- NETCONF/YANG configurable
- VPP support (only for IPv4 RLOCs)
- Specify destination EID prefixes (only linux and OpenWrt)
- Remote RLOC registration

* RTR

Expand All @@ -207,6 +209,19 @@ This is the list of supported features at this moment
- Explicit Locator Path (ELPs)
- Instance ID support
- Experimental NAT traversal
- Process DDT Map Requests

* DDT
- DDT authoritative sites
- DDT delegated sites
- Process encapsulated DDT map request
- Generate Map Referrals
- Instance ID / VNI support

* DDT-MR
- Process mapping requests and forward them to DDT root nodes
- Process replies from DDT mapping system
- Instance ID / VNI support

Note: OOR doesn't support overlapping local prefixes with different IIDs when operating as
a XTR or MN.
Expand Down Expand Up @@ -243,8 +258,8 @@ route' will look like with IPv4, expect a similar output with IPv6:
xTR mode
--------

To configure Open Overlay Router to use it on xTR mode take into account the
following considerations.
To configure Open Overlay Router to use it on x Tunnel Router (xTR) mode take into
account the following considerations.
An EID /30 (at least) prefix is required for IPv4 EIDs. For IPv6 you should have
a /126 (at least). This prefix should be used as the network prefix for the subnet
where the hosts on the EID space connected to the router are allocated. Assign
Expand Down Expand Up @@ -335,16 +350,39 @@ with IPv4, expect a similar output with IPv6:
32766: from all lookup main
32767: from all lookup default

MS/MR mode
----------
MS mode
-------

Open Overlay Router can be configured as a basic MS/MR where configured EID prefixes can
be registered by xTRs. OOR will also reply to MapRequests addressed to those
prefixes.
Open Overlay Router can be configured as a basic Map Server (MS) where configured EID prefixes
can be registered by xTRs. OOR will also reply to MapRequests addressed to those prefixes.
MS can be associated with an RTR in order to provide NAT support to xTRs/MN.
To configure Open Overlay Router as a MS/MR, select the corresponding operating-mode and
fill the parameters of the MS section of the configuration file.

DDT mode
--------

Open Overlay Router implements the LISP Delegated Database Tree (LISP-DDT) specified
in the RFC 8111. LISP-DDT is a hierarchical distributed database that embodies the
delegation of authority to provide mappings from LISP EIDs to RLOCs. It is a statically
defined distribution of the EID namespace among a set of LISP-speaking servers called
"DDT nodes". Each DDT node is configured as "authoritative" for one or more EID-prefixes,
along with the set of RLOCs for Map-Servers or "child" DDT nodes to which more-specific
EID-prefixes are delegated.
To configure OOR as a DDT node, define the authoritative sites and the delegated sites.
Delegated sites could be of type MAP_SERVER_DDT_NODE if the next hop is a Map Server, or
CHILD_DDT_NODE if next hop is a DDT node with more-specific EID prefix information.
The node authoritative for all EID space is usually called DDT ROOT node.

MR mode
-------

A LISP Map Resolver (MR) is a node that forwards Map Requests from xTRs to the MSs
responsibles of the requested EID. The MR implemented by Open Overlay Router use LISP-DDT to
find the suitable MS.
To configure OOR as a MR, specify the addresses of the DDT Root nodes to be used.


Using Vagrant
-------------

Expand Down Expand Up @@ -402,17 +440,17 @@ In the Docker directory you can find a README.md file with more details in how t
create and use OOR as a container.


OpenWRT
OpenWrt
-------

To enable OpenWRT configuration mode and the specific routing
To enable OpenWrt configuration mode and the specific routing
operations, the code should have been compiled with the
`platform=openwrt` option during OpenWRT package creation. Please note that the best
way to get Open Overlay Router on OpenWRT is get a precompiled binary (either the
full system or just the Open Overlay Router package) from the github website
`platform=OpenWrt` option during OpenWrt package creation. Please note that the best
way to get Open Overlay Router on OpenWrt is using the official package from OpenWrt
repository or get a precompiled binary from the github website
(https://github.com/OpenOverlayRouter/oor/wiki/Downloads).

In OpenWRT, the configuration is performed through the OpenWRT standard
In OpenWrt, the configuration is performed through the OpenWrt standard
configuration tool UCI, instead of using 'oor.conf' file. Configure the UCI
file manually in '/etc/config/oor' (by default), use the UCI CLI application,
or use the web interface (if available). The configuration fields are analogue
Expand All @@ -422,15 +460,22 @@ Android
-------

Open Overlay Router includes support for Android devices operating as LISP-MN.
Please see the [README.android.md](README.android.md) file to get details on
Please see the [android/README.md](android/README.md) file to get details on
Open Overlay Router for Android installation, compilation and usage.

iOS
---

Open Overlay Router includes support for iOS devices operating as LISP-MN.
Please see the [Apple/README.md](Apple/README.md) file to get details on
Open Overlay Router for iOS installation, compilation and usage.

VPP
---

Open Overlay Router has adopted VPP as a new data plane that can be used to
encapsulate and decapsulate LISP traffic in a high performance rate.
Please see the README.vpp.md file to get details on how to configure OOR and
Please see the VPP/README.md file to get details on how to configure OOR and
VPP to work together.

NAT traversal
Expand Down
37 changes: 37 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
OpenOverlayRouter is a rename of the LISPmob project forked from the last version released (version 0.5.2.). OOR aims to deliver a flexible and modular open-source implementation to deploy programmable overlay networks. Major new functionalities since LISPmob last release include a new control plane to configure xTR devices through NETCONF and a new data plane based on VXLAN-GPE. For the full list of functionalities refer to the features section.

New functionalities since OOR 1.3

* Apple iOS application
* DDT Support (RFC 8111):
- DDT node
- DDT MR
- DDT MS
* xTR / MN: Specify allowed destination EID prefixes (Linux and OpenWRT)
* Register remote rloc-address of a database mapping

New functionalities since OOR 1.2

* NAT traversal support for RTRs and MSs
* OOR as a container with Dockers
* Quick creation of a VM with OOR using Vagrant

New functionalities since OOR 1.1

* VPP data plane support
* Modularize the network manager
* Replace proxy-etr by proxy-etr-ipv4 and proxy-etr-ipv6

New functionalities since OOR 1.0

* Experimental NAT traversal (xTR & MN)
* Bug fixes

New functionalities (since LISPmob 0.5.2):

* NETCONF support to configure xTR device:
- Add / Remove database mappings
- Add / Remove Map Servers
- Add / Remove Map Resolvers
* Packet encapsulation using VXLAN-GPE. Next protocol can be IPv4 or IPv6.
* Support for InstanceID (IID) and Virtual Network Identifier (VNI) at control and data plane. OOR doesn't support overlapping local prefixes with different IIDs.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -453,9 +453,7 @@ public void createConfFile() {
.append(" 129.250.1.63,\n")
.append(" 217.8.98.33,\n")
.append(" 217.8.98.35,\n")
.append(" 193.162.145.46,\n")
.append(" 147.83.131.33,\n")
.append(" 158.38.1.92,\n")
.append(" 203.181.249.172,\n")
.append(" 202.51.247.10\n")
.append("}\n\n\n")
Expand Down
2 changes: 0 additions & 2 deletions oor/oor.conf.example
Original file line number Diff line number Diff line change
Expand Up @@ -403,15 +403,13 @@ database-mapping {
# 129.250.1.63, # ntt-amer-pxtr
# 217.8.98.33, # intouch-pxtr-1
# 217.8.98.35, # intouch-pxtr-2
# 158.38.1.92, # uninett-pxtr
# 203.181.249.172, # apan-pxtr
# 202.51.247.10 # sg-nus-pxtr
# LISP beta-network IPv6 PITRs
# 2001:590::451f:1f62, # eqx-ash-pxtr
# 2001:418:0:1000::63, # ntt-amer-pxtr
# 2001:40B0:7500:205:1::E, # intouch-pxtr-1
# 2001:40B0:7500:205:1::12, # intouch-pxtr-2
# 2001:700:0:52E::4, # uninett-pxtr
# 2001:200:e000:17::172 # apan-pxtr
#}

Expand Down
16 changes: 3 additions & 13 deletions openWRT/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=oor
PKG_REV:=8b30f7110f49e1df00f2f826987fa4529c5a6a30
PKG_REV:=2b0c0b6a5a9ed7fb987ef09b46f9c6fbfaddea4c
PKG_VERSION:=1.3.0
PKG_RELEASE:=6

Expand All @@ -28,35 +28,25 @@ PKG_SOURCE_VERSION:=$(PKG_REV)

PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Albert Lopez <[email protected]>

include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk


define Package/oor/default
MAINTAINER:=Albert Lóepz <[email protected]>
URL:=http://www.openoverlayrouter.org
endef
MAKE_FLAGS += platform=openwrt

define Package/oor
SECTION:=net
CATEGORY:=Network
TITLE:=Open Overlay Router
URL:=https://github.com/OpenOverlayRouter
DEPENDS:= +librt +confuse +kmod-tun +uci @IPV6
$(call Package/oor/default)
endef

define Package/oor/description
This packet provides support for the Locator-ID Separation Protocol, VXLAN-GPE.
endef


define Build/Compile
$(call Build/Compile/Default,platform=openwrt)
endef


define Package/oor/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/oor/oor $(1)/usr/sbin/
Expand Down
Loading

0 comments on commit d86a56e

Please sign in to comment.