Skip to content
unstrung is an IETF roll - RPL (ripple) implementation for Linux
C++ C Shell Groff Makefile Tcl Perl
Find file
Failed to load latest commit information.
doc updated documentation on test network, added node N
include added processing for logging count of unknown RPL codes, and now coun…
lib added processing for logging count of unknown RPL codes, and now coun…
packaging
programs Add option to disable multicast
testing Merge pull request #13 from bradjc/no-multicast-option
.gitignore ignore generated man pages
.travis.yml use/depend upon unversioned libboost
CHANGES.md merged patches for 1.11.0 version
CODE_OF_CONDUCT.md added code of conduct
CREDITS.md merged patches for 1.11.0 version
Makefile Merge remote-tracking branch 'herring/openwrt001'
Makefile.inc updates to virtual machines: updated debian inside, set memory size t…
Makefile.top updates to virtual machines: updated debian inside, set memory size t…
Makefile.ver added processing for logging count of unknown RPL codes, and now coun…
README.md bumped version and added minor release notes
build-setup-travis.sh do not rebuild tcpdump if cache found it

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.

Something went wrong with that request. Please try again.