NIST 2.2.2 review

Download
by rbytes.net on

The NIST Implementation of the Ad-Hoc On Demand Distance Vector protocol is a kernel-level driver for Linux

License: GPL (GNU General Public License)
File size: 0K
Developer: Klein Berndt
0 stars award from rbytes.net

The NIST Implementation of the Ad-Hoc On Demand Distance Vector protocol is a kernel-level driver for Linux . AODV is a routing protocol for ad hoc networks designed with mobile wireless devices in mind. For a quick overview on AODV's basics, check out our Quick Guide to AODV page. If you are interested in running a simulation of AODV, NIST has developed a simulation in OPNET.

Kernel AODV is a loadable kernel module for Linux. It implements AODV routing between computers equipped with WLAN interfaces.

This software was developed at the National Institute of Standards and Technology by employees of the Federal Government in the course of their official duties. Pursuant to title 17 Section 105 of the United States Code this software is not subject to copyright protection and is in the public domain. Kernel AODV is an experimental system. NIST assumes no responsibility whatsoever for its use by other parties, and makes no guarantees, expressed or implied, about its quality, reliability, or any other characteristic. We would appreciate acknowledgement if the software is used.

This software can be redistributed and/or modified freely provided that any derivative works bear some notice that they are derived from it, and any modified versions bear some notice that they have been modified.

What's New in This Release:
Corrected LINK_LIMIT #ifdefs (Fix from Peter Barron)
aodv_neigh.c
hello.c
module.c
Add Packet Queuing back in (Fix from Peter Barron)
Send queued messages when recieving a route, aodv_route.c
Drop packet from queue if RREQ fails, rreq.c
Added packet_queue.c back in, packet_queue.c
Added init and cleanup of packet_queue, module.c
Added additional check to packet_out.c to determine if packet is going to external subnet on a gateway.
Shouldn't be neccesary since a route should be created for the external destination anyhow. Have to look into this. (Fix from Peter Barron)
Removed annoying message printed when signal strength can not be read. Instead only prints when can not be set. signal.c
Fixed the 'undefined symbol STRCHR' problem for real this time. The problem is doing strstr() with a singlecharecter results in it being converted to strchr(), but for some reason it is not properly imported. The solution it to simply use stchr() instead. module.c
Changed it so that find_aodv_route() will return valid routes that have expired. When it didn't return expired routes two routes would sometimes be created. Also, now kernel routes are only removed when an expired route is removed. find_aodv_route() will also invalidate expired valid routes.
Had some trouble with duplicate kernel routes. Now we are always deleting before inserting a new route. Should fix it, fingers are crossed.
Changed delete_neighbor() so that we send out an RERR even if the route is no longer valid. Also change gen_rerr() so that is will send out a RERR even if the route is not valid. It has to be better to send out a few extra rather than not enough. Just cause you have timed a route out doesn't mean others have.
Compared the Metrics wrong in update_route() if the seq numbers were equal.

NIST 2.2.2 keywords