unstrung is an IETF roll - RPL (ripple) implementation for Linux
C++ C Shell Other Makefile Tcl Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
doc
include
lib unit test cases need to set the link-layer address too Jul 9, 2016
packaging instructions on building for openwrt Oct 19, 2015
programs
testing adjust 32 only interface for new DIO packet and instance 42 Jul 9, 2016
.gitignore ignore generated man pages Sep 28, 2015
.travis.yml
CHANGES.md merged patches for 1.11.0 version Oct 30, 2015
CODE_OF_CONDUCT.md
CREDITS.md added Brad Dec 10, 2015
Makefile Merge remote-tracking branch 'herring/openwrt001' Dec 27, 2014
Makefile.inc
Makefile.top updates to virtual machines: updated debian inside, set memory size t… Jun 27, 2015
Makefile.ver added processing for logging count of unknown RPL codes, and now coun… Nov 7, 2015
README.md bumped version and added minor release notes Oct 19, 2015
build-setup-travis.sh updated tcpdump install to pull from git Jul 9, 2016

README.md

Ripple

RPL, pronounced Ripple is an IETF protocol that provides connectivity among nodes that can not all hear each other, but rather have to form a multihop mesh-like network. The name comes a Grateful Dead Song.

Words by the Grateful Dead:

if my words did glow
With the gold of sunshine
and my tunes were played on the harp unstrung
would you hear my voice
come through the music
would you hold it near
as it were your own

its a hand me down
the thoughts are broken
perhaps
they're better left unsung

ripple, in still water
where there is no pebble tossed
nor wind to blow.

reach out your hand,
if your cup is empty
if your cup is full,
may be be again.

Unlike other mesh efforts, this all happens at layer-3, in IPv6 ICMP messages (originally, was going to be in Router Solicitation/ND messages).

This set of programs, plus a test bed/simulation system is a set of tools that runs under the Linux kernel: - on netbooks, - laptops, and - on phones like the Google Android, Raspberry PI, OpenWRT, etc..

Programs include: sunshine - run this on root/grounded server to announce routes and on any other well provisioned machines.

glow        - run this on very underpowered machines that
                    just need enough to join the DAG [PLANNED]

pebble      - insert DIO messages into the network, run from
        the command line [currently: senddao, senddio]

blow        - cmd line utility to control sunshine and glow.
                    [PLANNED]

===== community

Web site: http://unstrung.sandelman.ca/

Github: http://github.com/mcr/unstrung.git/

to subscribe to mailing list: https://lists.sandelman.ca/mailman/listinfo/unstrung-hackers

====== OpenWRT

See packaging/openwrt/OPENWRT.md for help on building for OpenWRT CC+.

====== Testing environment

This is based upon the UML-Network Testing Infrastructure (UNTI... pronounced like the british "aUNTIe") UML is UserModeLinux -- a completely paravirtualized virtualization technnology from the turn of the century.

The UMLroot image that goes with it can not be created as stock wheezy "debootstrap" image. An image that works can be found at: http://junk.sandelman.ca/umlroot/umlroot-38.tgz

In addition, there are extensive unit tests, which are invokved by "make unitcheck", and which run on travis-ci.org, see: https://travis-ci.org/mcr/unstrung/

Michael Richardson mcr@sandelman.ca, Ottawa, Ontario, October 2009-2015.