Subject: [DNA] Code for implementations of draft-pentland-dna-protocol-00.txt, and draft-ietf-dna-cpl-00.txt

From: Greg Daley <[email-masked]>
Date: Thu, 14 Jul 2005 21:44:57 +1000

Dear DNA WG,

I've just finished basic testing of the following two pieces
of code, which comprise a complete implementation of one
of the DNA protocol proposals, as well as the DNA with
unmodified routers document: draft-ietf-dna-cpl-00.

As you're aware protocol-00 contains RS processing and
FastRA delivery/rate limiting mechanisms, and also describes
link idenfitication using prefix landmarking and CompleteRA.

This is all included.

host code (protocol-00 + CPL):

http://www.ctie.monash.edu.au/dna/eventrs0.02.tgz

router (radvd) code (protocol-00):

http://www.ctie.monash.edu.au/dna/radvddna0.02-0.7.3.patch

Router Support:
---------------

Here's the build instructions.

download and extract a tgz of radvd-0.7.3.

 From the expanded directory radvd-0.7.3:

patch -p1 --dry-run < ../radvddna0.02-0.7.3.patch

patch -p1 < ../radvddna0.02-0.7.3.patch

chmod 0755 ./auto

./auto; ./configure --sysconfdir=/etc ; make

Before running radvd, you need a radvd.conf file which
supports DNA:

setting:

DNASupport on;

Should probably be sufficient to start DNA on an Interface.

Also the settings:

RecvSourceLLAddress on;
RecvTentativeLLAddress on;

May be used to provide unicast responses without requiring Neighbour
Discovery exchanges.  Limits with the implementation (+kernel)
mean that this doesn't work well on links with many neighbours/hosts.

This radvd implements "variant 1" DNA option sizing, as discussed
on the DNA list.

Host Support:
-------------

extract the tar, it will create a subdirectory eventrs:

in this directory run:

make

This should build the dna clients.

There are:

stand-alone RS senders  - sendrsnew
stand-alone RS sender/RA receiver - sendrsmatch
link-layer event driven RS sending - eventrs
link-layer event driven RS sending/matching and CPL generation - dnadaem

dnadaem represents the furthest developed of these tools.

It provides DNA support using RS's with prefix landmarks and
TSLLAOs, and monitors inbound link-layer events, and RA reception.

It can infer whether link-change has occurred from Complete Prefix
Lists using unmodified routers, DNA compliant routers, or combination
DNA and legacy routers.   It prints out a message when link change
occurs, but takes no other actions.  Importantly, it doesn't modify
the kernel's perception of configuration state (please feel free),
or configure global addresses.

It has been tested with airo_cs (Cisco 350) on a Linux 2.4.9 kernel.
Kernel driver support for wireless events is required, but available
in the abovementioned kernel for airo_cs.

Some elementary support for other devices is available, but this is
expected to improve with further testing.

read the file README.txt for licensing and instructions on how to
use these tools.

Experimenting with the simple 'eventrs' tool is encouraged, while
event bugs are being diagnosed.

Please contact me with questions (on-list is OK, so long as the issues
are protocol not code specific), but I'm not immediately ready to
perform deep technical support for this (I.e. think of it as
experimental, and I'll answer questions as to how it works/doesn't
work but I'm not looking at fixing coredumps for you).  I hope that's
OK.

Please have a look, see if you can get it compiled and installed,
and see if it has the same results for you which it did for me in my
testbed.

Greg