Giter Site home page Giter Site logo

openoverlayrouter / oor Goto Github PK

View Code? Open in Web Editor NEW
122.0 122.0 39.0 9.13 MB

OpenOverlayRouter is an implementation to create programmable overlay networks.

Home Page: http://openoverlayrouter.org/

License: Apache License 2.0

Makefile 7.27% C 60.85% Shell 19.26% XSLT 0.01% HTML 1.26% CSS 0.21% Lex 0.26% Java 3.58% C++ 0.47% M4 2.98% Roff 1.81% CMake 0.22% GDB 0.01% Dockerfile 0.02% Objective-C 0.14% Swift 1.63%
lisp openwrt overlay router

oor's People

Contributors

afrosuika avatar albert-lopez avatar alteholz avatar arnatal avatar florincoras avatar jmguzmanc avatar joseorpa avatar kgawda avatar ljakab avatar lluiso avatar logicalelegance avatar mportoles avatar oriolomm avatar rkunze avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oor's Issues

Recent Android build?

Anyone have luck compiling a recent Android build?

diff --git a/android/app/build.gradle b/android/app/build.gradle
index b9f4c22..cbcb0fe 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -1,11 +1,11 @@
 apply plugin: 'com.android.application'
 
 android {
-    compileSdkVersion 27
+    compileSdkVersion 33
     defaultConfig {
         applicationId "org.openoverlayrouter.noroot"
         minSdkVersion 15
-        targetSdkVersion 30
+        targetSdkVersion 33
         versionCode 7
         versionName "1.3.0"
         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -26,15 +26,18 @@ android {
             path '../jni/Android.mk'
         }
     }
+    namespace 'org.openoverlayrouter.noroot'
+    buildToolsVersion '33.0.2'
+    ndkVersion '25.1.8937393'
 }

help

i try to run oor from openwrt,but it have some problem. so,i need a example for oor , such as /etc/config/oor 。thanks so much.the troublres are map cache can add ,no output iface no contol iface .i set control iface eth0。but useless.

problem with netconf connection

  1. when starting netopeer-server, an error appears:
    sudo netopeer-server -v5
    netopeer-server[87531]: Shared memory key: -4
    netopeer-server[87531]: Shared memory ID: 32813
    netopeer-server[87531]: ncds_features_parse: no feature definitions found in data model ietf-inet-types.
    netopeer-server[87531]: ncds_features_parse: no feature definitions found in data model ietf-yang-types.
    netopeer-server[87531]: ncds_features_parse: no feature definitions found in data model ietf-netconf-monitoring.
    netopeer-server[87531]: ncds_features_parse: no feature definitions found in data model ietf-netconf-notifications.
    netopeer-server[87531]: ncds_features_parse: no feature definitions found in data model nc-notifications.
    netopeer-server[87531]: ncds_features_parse: no feature definitions found in data model notifications.
    netopeer-server[87531]: ncds_features_parse: no feature definitions found in data model ietf-netconf-with-defaults.
    netopeer-server[87531]: ncds_features_parse: no feature definitions found in data model ietf-netconf-acm.
    netopeer-server[87531]: ncds_set_validation: Relax NG validator set (//var/lib/libnetconf//ietf-netconf-acm-data.rng)
    netopeer-server[87531]: ncds_set_validation: Schematron validator set (//var/lib/libnetconf//ietf-netconf-acm-schematron.xsl)
    netopeer-server[87531]: Datastore ietf-netconf-acm initiated with ID 8.
    netopeer-server[87531]: Checking the default Events stream path //var/lib/libnetconf//streams/.
    netopeer-server[87531]: Unable to became primary owner of the org.liberouter.netopeer.server
    netopeer-server[87531]: Communication subsystem not initiated.

  2. #Create skeleton files result is
    ./lispsimple.yang:270 (at ./lispsimple.yang:72): warning: node "lispsimple::lcaf-type" is not found in "lispsimple::explicit-locator-path"
    ./lispsimple.yang:270 (at ./lispsimple.yang:72): warning: node "lispsimple::explicit-locator-path" is not found in "lispsimple::explicit-locator-path"
    /home/ira/oor/netconf/lispsimple.yin:266 (at /home/ira/oor/netconf/lispsimple.yin:72): warning: node "lispsimple::lcaf-type" is not found in "lispsimple::explicit-locator-path"
    /home/ira/oor/netconf/lispsimple.yin:266 (at /home/ira/oor/netconf/lispsimple.yin:72): warning: node "lispsimple::explicit-locator-path" is not found in "lispsimple::explicit-locator-path"

  3. #make clean && make && sudo make install && ./libtool --finish /usr/local/lib is also working with an error
    ./libtool --tag=CC --quiet --mode clean rm -f .obj/lispsimple.lo .obj/oor_api_netconf.lo .obj/../oor/lib/oor_log.lo .obj/../oor/lib/util.lo .obj/../oor/lib/mem_util.lo .obj/../oor/lib/generic_list.lo .obj/../oor/liblisp/lisp_address.lo .obj/../oor/liblisp/lisp_ip.lo .obj/../oor/liblisp/lisp_lcaf.lo .obj/../oor/config/oor_api.lo
    libtool: Version mismatch error. This is libtool 2.4.2, but the
    libtool: definition of this LT_INIT comes from libtool 2.4.6.
    libtool: You should recreate aclocal.m4 with macros from libtool 2.4.2
    libtool: and run autoconf again.
    make: *** [Makefile:55: clean] Ошибка 63

I am a beginner in netconf, please tell me how to solve these problems

Windows port for mobile node

I have to admit I'm no fan of MS Windows, but most PCs use it. So I suggest a Windows 7-10 port of OOR for use as mobile node.

Feature request: Make it configurable which traffic is routed via the tunnel device

At the moment all traffic is routed via the tunnel device. This is because on startup 2 routes are set:

0.0.0.0         0.0.0.0         128.0.0.0       U     0      0        0 lispTun0
128.0.0.0       0.0.0.0         128.0.0.0       U     0      0        0 lispTun0

It would be good to have a configuration possibility to route only traffic that has the destination in the lisp network via the lispTun0 device.
At the moment we need to delete the 2 routes and add a new route to send only traffic for the lisp network to the lisp device:
./oor -f /root/oor/oor.conf -D && sleep 5 && route del -net 0.0.0.0 gw 0.0.0.0 netmask 128.0.0.0; route del -net 128.0.0.0 gw 0.0.0.0 netmask 128.0.0.0; route add -net 192.168.17.0 netmask 255.255.255.0 dev lispTun0

Assertion error on deletion of negative map-cache entry

Setup:

  • OOR latest master (ee707f1)
  • OOR in xTR mode on Ubiquiti EdgeRouter Lite on beta network - I appreciate this is not a "supported" platform, but I thought to document this in case there's anything to be learned from this anyway (other than this bug OOR does seem to work).
  • 1 laptop with IP address from EID prefix for testing, sitting mostly idle

It looks like OOR sends a Map-Request for a DNS packet (must be the first excluding initial SMRs), gets back a negative map-reply, and then 6mins later when it expires asserts because the map-cache entry doesn't exist.

[2017/7/16 19:46:36] INFO:

 Open Overlay Router (v1.1.1): started...

...
[2017/7/16 19:46:38] DEBUG: Map-Request-> flags:a=0,m=0,p=0,s=0,P=0,S=0, irc: 0 (+1), record-count: 1, nonce: <nonce>, itr-rlocs: <my RLOC>, src-eid: <my EID>, req-eid: 8.8.4.4/32
[2017/7/16 19:46:38] DEBUG: ECM -> flags:s, inner IP: <my EID> -> 8.8.4.4/32, inner UDP: 4342 -> 4342
[2017/7/16 19:46:38] DEBUG: Sent control message IP: <my RLOC>-> 217.8.98.42 UDP: 4342 -> 4342
[2017/7/16 19:46:38] DEBUG: Received Map-Reply-> flags:P=0,E=0,S=0, record-count: 1, nonce: <nonce>, IP: 217.8.98.42 -> <my RLOC>, UDP: 4342 -> 4342
[2017/7/16 19:46:38] DEBUG:   Mapping-record -> ttl: 6 loc-count: 0 action: native-forward auth: 1 map-version: 0 eid: 0.0.0.0/3
[2017/7/16 19:46:38] DEBUG: Balancing locator vector for 0.0.0.0/3:
[2017/7/16 19:46:38] DEBUG:   IPv4 locators vector (0 locators):
[2017/7/16 19:46:38] DEBUG:   IPv6 locators vector (0 locators):
[2017/7/16 19:46:38] DEBUG:   IPv4 & IPv6 locators vector (0 locators):
[2017/7/16 19:46:38] DEBUG: The map cache entry of EID 0.0.0.0/3 will expire in 6 minutes.
...
[2017/7/16 19:52:36] DEBUG:  Successfully probed RLOC 193.162.145.46 of cache entry with EID ::/0
[2017/7/16 19:52:37] DEBUG: Got expiration for EID 0.0.0.0/3
[2017/7/16 19:52:37] DEBUG: Got expiration for EID 0.0.0.0/3
oor: lib/map_cache_entry.c:64: mcache_entry_del: Assertion `entry' failed.
Aborted

I did see the following two ERRors, but not sure if they are related, they look like transient failures?

[2017/7/16 19:47:37] DEBUG: Sending Map-Reply-> flags:P=1,E=0,S=0, record-count: 1, nonce: NNNN
[2017/7/16 19:47:37] DEBUG: Sent control message IP: <my RLOC> -> 193.162.145.46 UDP: 4342 -> 4342
[2017/7/16 19:47:45] ERR: LMAPI: Error while ZMQ receiving: Resource temporarily unavailable

[2017/7/16 19:47:45] ERR: oor_api_loop: Error while trying to retrieve API packet

[2017/7/16 19:47:47] DEBUG: Got expiration for EID 32.0.0.0/6
[2017/7/16 19:47:51] DEBUG: No map cache for EID <some IP>. Sending Map-Request!

Segmentation fault on incorrect configuration

I tried starting the OOR with the following in my config:

static-map-cache {
#    eid-prefix          = <ip-prefix/mask>
#    iid                 = 0
#    rloc-address {
#        address         = <string>
#        priority        = <int>
#        weight          = <int>
#    }
}

Note the content was commented out rather than the block around it. This resulted in a segfault here (rather than a configuration error): oor_config_confuse.c:183

No MAP Register with 1.3.0 with NAT traversal on

Hi,

my testbed looks like the following:

  • 3 Debian 10 Servers (MS, xTR, RTR) - all with public routeable RLOC
  • 2 OpenWRT boxes configured as xTR - 1 with public routable RLOC, 1 with NAT
  • EID space are some RFC1918 networks

On the debian servers "master" was self-compiled, for OpenWRT i used the precompiled package from http://www.openoverlayrouter.org/downloads/OpenWrt/

Communication works fine between the EID spaces, except for the OpenWRT box behind NAT which is unable to map-register. According to log output it sends out map-register packets, which don't show up on a tcpdump, which means they never actually get sent.

A downgrade of oor on the OpenWRT box to version 1.2.1 fixed this, map register over RTR is successful and EID space is reachable by others.

oor crashes with segmentation fault

We are using the newest version of oor. On one machine it is working, but on another one it always crashes. The only difference we found so far is that the IP addresses are different.
I have the config and log files attached.
oor.zip

please help me a VPP issue

when i execute the following command

lshw -class network -businfo

Bus info Device Class Description

pci@0000:19:00.0 em3 network NetXtreme BCM5720 Gigabit Ethernet PCIe
pci@0000:19:00.1 em4 network NetXtreme BCM5720 Gigabit Ethernet PCIe
pci@0000:18:00.0 em1 network NetXtreme BCM5720 Gigabit Ethernet PCIe
pci@0000:18:00.1 em2 network NetXtreme BCM5720 Gigabit Ethernet PCIe
pci@0000:3b:00.0 network Ethernet 10G 2P X520 Adapter
pci@0000:3b:00.1 network Ethernet 10G 2P X520 Adapter

then i configure startup.conf file as follows
93 # DPDK 相关配置 [email protected]
94 dpdk {
95 socket-mem 1024
96 dev 0000:3b:00.0
97 }

however, when i start up the vpp, where is a problem

vpp -c startup.conf

vlib_call_all_config_functions: unknown input `dpdk socket-mem 1024 dev 0000:3b:00.0 '

i don't know what to do, please help me if you see this ISSUE.

Manual policy routing configuration

Currently oor/data-plane/tun/tun.c always adds several policy routing rules. These are good for most standard systems, but sometimes give the opposite result when applied to complex network configurations.

Especially because the rules are such high-priority! Why does tun_add_datap_iface_addr() even use iface->iface_index as the priority value? For example, after starting oor I end up with this rule: 2: from 2a01:6f0:ffff:1::2 lookup 2 – which forces everything through the default gateway ignoring my tunnel and VPN routes.

Meanwhile, the rules from tun_register_lcl_mapping() are harmless... as long as they're cleaned up on shutdown. (Unfortunately current kernels don't check for duplicates, so every time oor crashes/restarts the rule list grows...)

So there should be an option to disable the two sets of policy rule additions, or at least to customize the rule priority used in tun_add_datap_iface_addr().

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.