Commit graph

30 commits

Author SHA1 Message Date
bg-
74af5c6e47 * Sprinkle () in boolean expression to aid readability. 2007-06-28 15:16:41 +00:00
bg-
cd5b4d0e64 * Add bad hop extension to RREQ messages (#ifdef:ed AODV_BAD_HOP_EXTENSION) 2007-06-28 15:06:56 +00:00
bg-
8b8f23962e * Send RREP-ACKs if we can. 2007-06-05 10:04:20 +00:00
bg-
f4a9e896fd * Put back code for sending fake RREPs in response to HEELOs but now
#ifdef:ed AODV_RESPOND_TO_HELLOS.
2007-06-01 14:49:54 +00:00
bg-
e1cd724f37 * #ifndef NOINIT around NOINIT define. 2007-05-31 14:24:20 +00:00
bg-
f528ff9fe2 * Increase MY_ROUTE_TIMEOUT but real value should be even larger.
* Honor ip::ttl when processing and forwarding RREQs.

* Fix obob for when to jump my_hseqno after a reboot.

* No longer send fake RREPs in response to HELLO messages.

* If we received a RERR message with flag UAODV_RERR_UNKNOWN set then
  clear flag and set bad routes seqno from our route.
2007-05-31 10:10:26 +00:00
bg-
ad43dbf25f * Route lifetime is a 32 bit quantity. 2007-05-28 16:41:06 +00:00
bg-
67d94fd579 * Optional AODV BAD_HOP extension. 2007-05-28 16:32:43 +00:00
bg-
6c19bed556 * Rename field reserved to prefix_sz.
* Literal constant RSSI_THRESHOLD.

* Send fake RREPs to implementations that insist on sending HELLOs.

* Ignore and clear ACK flag in RREPs.
2007-05-21 15:26:57 +00:00
fros4943
42a952981b bugfix: could not store last seen rreqs 2007-05-20 20:08:28 +00:00
oliverschmidt
4832e803e8 Made use of signed 32 bit data type. 2007-05-12 21:04:05 +00:00
bg-
82aa4b4926 * When looking up potentially bad routes use uaodv_rt_lookup_any
rather than uaodv_rt_lookup.
2007-05-09 16:45:03 +00:00
bg-
faf94db265 * Respect "destination only" flag in RREQs.
* If our routes seqno is <= requester last known seqno our route must
  be bad (in his eyes). Previos comparison was < which must be wrong.
2007-05-09 14:53:54 +00:00
bg-
34490eeecb * Make it explicit that some seqno:s are in host byte order by naming
them hseqno.

* Change uaodv_rt_add to take argument in (standard) network byte
  order (and change it to be a pointer).
2007-05-09 13:54:41 +00:00
bg-
9cde72c806 * Make filtering criterion on rssi more liberal and don't use the
correlation value at all.
2007-05-09 13:07:55 +00:00
bg-
c23e583129 * Added flag UAODV_RERR_UNKNOWN to deal with unknown errors that are
often the result of rebooting nodes.

* Change function uaodv_bad_route to uaodv_bad_dest.
2007-05-08 13:33:57 +00:00
bg-
a207770a1e * Add attribute to track bad routes and necessary support for this.
* Revamp forwarding to deal with bad routes or request new routes as
  appropriate.

* Mark bad routes (rather than tossing them) as we are informed by
  other hosts.

* No longer wait two ticks before making route request.
2007-05-08 08:41:26 +00:00
bg-
b9a3721076 * Keep track of last known seqno. Send last known seqno in RREQs.
* If we have rebooted, bump seqno (gleaned from RREQs).

* Reworked filtering of RREQs.

* Use last known seqno check before responding to RREQ that we have a
  route for. Never graft onto an existing but old route.
2007-05-07 11:51:20 +00:00
bg-
948a88d9e6 * Set route timeout to maximum value for std compliance.
* Rename aodvconn to bcastconn for clarity and uniformity.

* Use uip_udp_packet_send where possible.

* Change a lot of debug printfs.

* Moved call to fwc_add.

* Set ttl to sensible value if AODV_COMPLIANCE.
2007-04-30 15:26:09 +00:00
bg-
9acf8e021e * Missing return when filtering out bad neigbours.
* Make routing messages bypass routing rather than creating artificial
  neigbours.
2007-04-30 09:49:32 +00:00
bg-
8b1cd7a470 * Explain that SCMP32 comes from RFC 3561 and is easy to implement
using 2's complement arithmetic. Unfortunately C only defines
  unsigned arithmetic and consequently machines that don't use 2's
  complement (i.e unknown arithmetic) will have to be dealt with on a
  per machine basis.
2007-04-24 16:37:45 +00:00
bg-
42fe071745 * Some more debug printfs.
* Correct hop_count when an existing route is found.
2007-04-24 16:08:10 +00:00
oliverschmidt
195cf8cafb Made it build, but certainly _NOT_ work on non-gcc platforms. 2007-04-18 21:26:09 +00:00
bg-
e03f25aea7 * Unifdef UAODV_BAD_ROUTE.
* Allow more frequent RREQs but avoid some unnecessary ones.
2007-04-05 12:30:17 +00:00
bg-
e486c95da2 * Some constness and signedness.
* Connect new routes to existing routes.

* RERR bad destinations not bad nexthops.
2007-04-05 12:09:32 +00:00
bg-
9c8f01be41 * Major overhaul in order to support route sequence numbers.
* Changes to use network byte order.

* Add RREQ forwading cache.

* Fix some const:ness and casts.

* RERR shall only delete old routes.

* Filter RREQ:s also using cc2420_check_remote().

* LRU management of routes.
2007-04-04 12:12:21 +00:00
bg-
abbde5d8fa * Use convince macro uip_ipaddr_to_quad.
* Printf format check and fix format strings.

* More info in some printfs.

* Be conservative about keeping working routes in RREQ (forward) path.

* Put some spacing between forwarded packet and RREQ.
2007-02-01 14:33:05 +00:00
bg-
90cbfbba9c * Conditional compilation on CC2420_RADIO rather than TMOTE_SKY. 2007-01-24 16:32:34 +00:00
bg-
fb94d50410 Change typedef of uip_ipaddr_t from a vector type to a union.
typedef union uip_ip4addr_t {
  u16_t u16[2];
  u8_t  u8[4];
} uip_ip4addr_t;

typedef uip_ip4addr_t uip_ipaddr_t;

This implies that one must consistently pass pointers to
uip_ipaddr_t:s and not mix and match pointers with
uip_ipaddr_t:s as was done earlier.
2006-08-09 16:13:39 +00:00
adamdunkels
c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00