Commit graph

282 commits

Author SHA1 Message Date
adamdunkels
a495d1230b Added Rime statistics 2007-05-22 20:53:24 +00:00
adamdunkels
a68b8a0a0d Rime statistics gathering 2007-05-22 20:48:41 +00:00
adamdunkels
0a26f4a712 Reliable single-hop unicast bulk transfer 2007-05-22 20:45:49 +00:00
adamdunkels
0206e1cd3b Hop-by-hop reliable multi-hop communication primitive (untested) 2007-05-22 20:45:18 +00:00
oliverschmidt
fdded2f77f no message 2007-05-22 20:32:32 +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
bg-
0d908b24c8 * Rename field reserved to prefix_sz. 2007-05-21 15:24:44 +00:00
fros4943
75e2463b17 removed:
uip_fw_init() called from process, causing all network interfaces to be reset *after* earlier initialization routines.
2007-05-21 14:30:38 +00:00
oliverschmidt
5f3296e943 Changed packet drivers from services to plain processes.
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.

Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
2007-05-20 21:29:39 +00:00
fros4943
42a952981b bugfix: could not store last seen rreqs 2007-05-20 20:08:28 +00:00
oliverschmidt
c32b2ca581 Replaced function with macro. 2007-05-20 00:04:18 +00:00
oliverschmidt
c15984eb24 Avoid function pointer mismatch in set_receive_function(). 2007-05-19 13:19:22 +00:00
oliverschmidt
0e9c61ca0c The PT_* macros contain return statements so a function using them must return a value. 2007-05-19 13:12:00 +00:00
oliverschmidt
e5d6dd1db5 Removed sources from makefile which don't exist in the CVS repository. 2007-05-17 19:22:04 +00:00
adamdunkels
940da856de Bugfixes, updates 2007-05-15 08:09:21 +00:00
adamdunkels
a9e8e9f4fe Replaced uabc with polite, uibc with ipolite, added rudolph2 2007-05-15 08:08:05 +00:00
adamdunkels
ac9ba33bd5 Yet another network bulk flooding protocol 2007-05-15 08:07:46 +00:00
adamdunkels
18825e05b6 Strobes for unicast packets are now acked immediately. Sleep cycle is now configurable. Many bugfixes 2007-05-15 08:07:07 +00:00
adamdunkels
434a6376d7 Added nullmac 2007-05-15 08:06:07 +00:00
adamdunkels
d1c6b2eb0d Added output functions 2007-05-15 08:05:52 +00:00
adamdunkels
db0571bef3 Identified polite broadcast primitive 2007-05-15 07:41:36 +00:00
adamdunkels
f539f4efd8 Polite broadcast primitive 2007-05-15 07:41:22 +00:00
adamdunkels
5728570aa4 A 'null' MAC protocol that does not do anything 2007-05-15 07:40:22 +00:00
bg-
5fb8871fb6 * NULL pointer spotted by Vlasios. 2007-05-13 15:14:48 +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-
1b3c2da7ab * 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:45:16 +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-
822f8f01f6 * Change function uaodv_bad_route to uaodv_bad_dest. 2007-05-08 16:07:59 +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-
9e9cadabaf * Added flag UAODV_RERR_UNKNOWN to deal with unknown errors that are
often the result of rebooting nodes.
2007-05-08 13:32:55 +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-
67e23ee564 * Add attribute to track bad routes and necessary support for this. 2007-05-08 08:30:49 +00:00
bg-
7ec3d191a2 * Need to track if we at the moment are doing forwarding or sending. 2007-05-08 08:28:59 +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-
b2bc97ddba * Constness, voidness. 2007-04-30 15:19:21 +00:00
bg-
5abe5334c8 * Remove forgotten printf. 2007-04-30 09:51:51 +00:00
bg-
b14026a394 * Move AODV_COMPLIANCE hack into better place. 2007-04-30 09:51:06 +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-
a9d536e50c * AODV requires that 255.255.255.255 is not rebroadcasted! Deal with
this using conditional compilation (AODV_COMPLIANCE).
2007-04-24 16:58:58 +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
oliverschmidt
4bf1ecc20e Made endianess configuration actually work. 2007-04-11 00:25:38 +00:00
adamdunkels
336246f406 Makefile 2007-04-07 05:43:52 +00:00
adamdunkels
d335cb8087 Power saving MAC protocol based on X-MAC [SenSys 2006] 2007-04-07 05:43:31 +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-
8994d8e0b5 * Make uaodv_rt_add return meaningful value.
* uaodv_rt_lru() moves route to head of list.

* Hop count is only 8 bits.
2007-04-04 11:52:29 +00:00
bg-
1d7932c6b3 * Make uaodv_rt_add return meaningful value.
* uaodv_rt_lru() moves route to head of list.

* Configurable number of routes.
2007-04-04 11:50:54 +00:00
bg-
8c0fa5bc8a * Abbreviate originator as orig rather than src to avoid confusion.
* #if 0 unused defines.
2007-04-04 11:48:49 +00:00
bg-
e5fa567869 * htonl and friends. 2007-04-04 11:37:20 +00:00
adamdunkels
cda806dc84 Bugfix: rudolph1 sometimes failed because the first packet was received from a neighbor 2007-04-02 19:12:37 +00:00
adamdunkels
d42b91fd20 Documentation updates 2007-04-02 18:07:10 +00:00
adamdunkels
2d42bd9e2a Now keeps track of highest chunk number heard and sends NACKs until it sees it 2007-04-02 17:53:27 +00:00
adamdunkels
a26906f478 Made send intervals configurable when sending a new file 2007-04-02 09:51:45 +00:00
adamdunkels
25af6bdcea Documentation updates 2007-04-01 18:20:41 +00:00
adamdunkels
ac3b3ea3ca Removed unused file 2007-03-31 18:36:03 +00:00
adamdunkels
6dc06d09af Made the number of retransmissions configurable 2007-03-31 18:33:27 +00:00
adamdunkels
91aa54dc77 Made advertisments for new shorter routes quicker, and advertisements for longer routes slower 2007-03-31 18:33:04 +00:00
adamdunkels
0650a014b5 Documentation updates 2007-03-31 18:31:27 +00:00
adamdunkels
36bc77d27f Documentation fixes 2007-03-29 23:38:07 +00:00
adamdunkels
bc1bb96809 Documentation fixes 2007-03-29 23:18:47 +00:00
adamdunkels
2f079ca8e2 Debug output 2007-03-29 23:18:22 +00:00
adamdunkels
4cde369174 Added call to timedout callback 2007-03-29 22:22:44 +00:00
adamdunkels
81b469d4b7 Made buffer sizes configurable from contiki-conf.h 2007-03-29 22:22:20 +00:00
adamdunkels
f35eeb49dd Added debugging output 2007-03-29 22:21:56 +00:00
adamdunkels
8e0ae73fa5 Increased default packet size to 64, removed out-commented code 2007-03-28 19:52:27 +00:00
adamdunkels
75dc71f70b Minor documentation change 2007-03-28 19:51:33 +00:00
oliverschmidt
f60b7aabcf Added stdio.h for printf. 2007-03-26 22:45:49 +00:00
adamdunkels
fbdd9799bd Use random_rand() instead of rand() due to bug on msp430 2007-03-25 21:44:23 +00:00
adamdunkels
06386b6f30 Reduce header before passing over to receiver 2007-03-25 21:44:06 +00:00
adamdunkels
41630b0f03 Free queued packet when closing 2007-03-25 21:43:23 +00:00
oliverschmidt
90f82d6a12 Keep system includes in front of Contiki includes. 2007-03-25 21:31:24 +00:00
oliverschmidt
4043448c02 Make consistent presumptions about inlcude paths. 2007-03-25 21:29:02 +00:00
adamdunkels
f67a47aff4 Documentation update, removed unneeded includes 2007-03-25 17:16:25 +00:00
adamdunkels
3eb156019e Documentation fix 2007-03-25 17:15:43 +00:00
adamdunkels
0f55a4efee Route discovery timeout configurable at run-time 2007-03-25 12:13:22 +00:00
adamdunkels
0c0d823dbf Typo 2007-03-25 12:13:04 +00:00
adamdunkels
d19e475fe6 Fixed include files 2007-03-25 12:06:39 +00:00
adamdunkels
f69268b4ab Timeouts configurable at run-time 2007-03-25 12:06:28 +00:00
adamdunkels
e12086c980 Documentation fixes 2007-03-25 12:05:51 +00:00
adamdunkels
f3872aac48 Make route lifetime dynamically configurable 2007-03-25 12:03:59 +00:00
adamdunkels
4a2f71c3ef Make use of consistent timer interface code 2007-03-25 12:03:41 +00:00
adamdunkels
6f72d9282b Added debugging output 2007-03-25 12:03:12 +00:00
adamdunkels
d9f0c89726 Moved rudolph{0,1} from apps/ directory into core/net/rime 2007-03-25 11:56:59 +00:00
adamdunkels
e57126ed0e Removed unused files 2007-03-25 11:55:20 +00:00
oliverschmidt
b3ab4b4e8f Added missing include. 2007-03-25 09:19:16 +00:00
adamdunkels
9d110c9adf File description 2007-03-24 16:42:43 +00:00
adamdunkels
deb8196333 #if'ed away debugging code 2007-03-24 16:42:36 +00:00
adamdunkels
047c807332 Removed redundant initialization 2007-03-24 16:42:21 +00:00
oliverschmidt
0ded7a166e Added stdio.h for printf. 2007-03-24 13:57:04 +00:00
oliverschmidt
e552140425 Added missing prototype. 2007-03-24 13:54:05 +00:00
oliverschmidt
41d6a76019 Make consistent presumptions about inlcude paths. 2007-03-24 13:42:25 +00:00
oliverschmidt
1a0d00e1d4 Added stdio.h for sprintf. 2007-03-24 13:38:06 +00:00
adamdunkels
013701f50c Renamed rimebuf_hdrextend() to rimebuf_hdralloc() 2007-03-23 10:46:35 +00:00
adamdunkels
2caf271d58 Removed unused node-id,.h 2007-03-22 23:57:19 +00:00
adamdunkels
c699512354 ctimer_set() bugfix 2007-03-22 23:57:08 +00:00
adamdunkels
de8a3fd507 Removed mesh and tree, added queuebuf 2007-03-22 19:03:07 +00:00
adamdunkels
eea7f463d7 Transmission of IP packets over mesh routing, implemented with Rime 2007-03-22 18:58:40 +00:00
adamdunkels
1f91695771 Added route initializaion 2007-03-22 18:54:45 +00:00
adamdunkels
095952f97d Added support for multiple simulteaneous tree connections, removed sibc connection in favour of a uibc connection 2007-03-22 18:54:22 +00:00
adamdunkels
3134789a94 Added debugging, reduced wait time 2007-03-22 18:53:38 +00:00
adamdunkels
5b5d9209a1 Refactored the mesh code by splitting multi-hop forwarding and route discovery. The mesh module is now much simpler than before 2007-03-22 18:53:22 +00:00
adamdunkels
423dc1a951 Queued packet pointer should be NULL when no packet is queued 2007-03-22 17:37:10 +00:00
adamdunkels
5af2430f95 Added automatic timeouts 2007-03-22 17:34:43 +00:00
adamdunkels
2ef8c91bbc Refactored the mesh code by splitting multi-hop forwarding and route discovery. The mesh module is now much simpler than before 2007-03-22 17:34:16 +00:00
adamdunkels
c914d268ca Best effort multi-hop routing 2007-03-22 17:33:15 +00:00
adamdunkels
5c6c6e3358 Added configurable interval 2007-03-21 23:23:02 +00:00
adamdunkels
d1de1e0001 Added hop counting, remade the rimeaddr_t u16 to be an array rather than a scalar 2007-03-21 23:22:42 +00:00
adamdunkels
b7afd2baf0 Remade the rimeaddr_t u16 to be an array rather than a scalar 2007-03-21 23:22:11 +00:00
adamdunkels
b377a83730 Removed automatic setting of Rime node address 2007-03-21 23:22:02 +00:00
adamdunkels
70f2be4652 nf is now based on uibc 2007-03-21 23:21:54 +00:00
adamdunkels
9951aba084 Unique identified best effort local area broadcast 2007-03-21 23:21:01 +00:00
adamdunkels
4328947d26 Debugging added, whitespace removed 2007-03-21 23:19:52 +00:00
adamdunkels
d9406024d0 Split interval: one half listen only, second half send packet 2007-03-21 09:09:33 +00:00
adamdunkels
4bd8cd32ac Fixed debug output 2007-03-20 12:28:13 +00:00
adamdunkels
558ebf3c5d Renamed suc_send_uc() to suc_send(), fixed debug output 2007-03-20 12:27:32 +00:00
adamdunkels
d937ff8d16 Fixed compilation problem, added send() call so that a packet is sent out immediately 2007-03-20 12:26:57 +00:00
adamdunkels
516f9316ab Added functions for accessing the data and length of a queued buffer 2007-03-20 12:26:23 +00:00
adamdunkels
accea52d88 New Rime module: unique anonymous best effort broadcast 2007-03-20 11:59:55 +00:00
adamdunkels
8147f47aab Trickle implementation for Rime 2007-03-19 23:26:18 +00:00
adamdunkels
e4a739a76c Added *_close() function to all Rime modules 2007-03-19 22:10:16 +00:00
adamdunkels
aa1389e873 Removed unused files 2007-03-19 22:07:48 +00:00
adamdunkels
43326b5ae6 API change for Rime: *_setup() renamed to *_open() 2007-03-19 19:24:36 +00:00
bg-
cb6bda5378 * Support longer lease times. 2007-03-16 12:16:16 +00:00
adamdunkels
cc87617ef2 Removed inclusion of non-existant file rime-types.h 2007-03-16 09:16:40 +00:00
adamdunkels
2e6dbad62b node_id -> rimeaddr_node_addr 2007-03-15 21:25:06 +00:00
adamdunkels
e4e57fca96 Renamed input function to rime_input() and the output function to rime_driver_send() 2007-03-15 21:24:11 +00:00
adamdunkels
833d098096 New Rime module: tree, a converge cast / tree data collection protocol 2007-03-15 20:04:30 +00:00
adamdunkels
cc60843e8b New Rime module: mesh, a mesh routing protocol 2007-03-15 19:52:51 +00:00
adamdunkels
ab0d556353 Added a new type for all addresses in Rime: rimeaddr_t. This is an abstract type that currently is defined as a 16-bit quantity but that most likely will be redefined in the future 2007-03-15 19:43:07 +00:00
adamdunkels
2b119b054e const qualifiers 2007-03-15 19:41:29 +00:00
adamdunkels
fd33a89214 Renamed ulayer -> callbacks 2007-03-15 10:01:04 +00:00
adamdunkels
26a681cf37 rimebuf_totle() prototype & documentation 2007-03-15 09:57:00 +00:00
adamdunkels
16bdd2f18c Sequence number now reported 2007-03-15 09:56:30 +00:00
adamdunkels
168765a205 Compiler warning fix 2007-03-15 09:56:15 +00:00
adamdunkels
537ecb9198 UDP initialization fixed 2007-03-15 09:56:00 +00:00
adamdunkels
fb23363a70 Removed abc-udp.c 2007-03-15 09:54:58 +00:00
adamdunkels
548e4ce556 New rime module: best-effort network flooding (nf) 2007-03-14 00:30:46 +00:00
adamdunkels
674f373f76 Renamed function for compacting the data in the rimebuf: rimebuf_compact 2007-03-14 00:30:11 +00:00
adamdunkels
91f8c4b8e4 Renamed driver output function to abc_driver_send 2007-03-14 00:29:05 +00:00
adamdunkels
355724669e Default channel allocations 2007-03-14 00:27:36 +00:00
adamdunkels
11627c2406 Added generic abc layer 2007-03-13 13:05:30 +00:00
adamdunkels
ba1dc7105f Rime driver running over UDP 2007-03-13 13:02:33 +00:00
adamdunkels
358259105e Generic abc module 2007-03-13 13:01:48 +00:00