Commit graph

334 commits

Author SHA1 Message Date
nifi
a6d827fa1f moved initialization of ctimer to allow MAC layer to use ctimers 2007-11-15 13:07:42 +00:00
fros4943
c645cad175 fixed conflicting types: nbh.c vs nbh.h 2007-11-15 08:10:42 +00:00
adamdunkels
0a7f35d62c Added neighborhood discovery module 2007-11-13 21:01:54 +00:00
adamdunkels
1386b8ae8f Added API to retrieve address of current receiver 2007-11-13 21:00:10 +00:00
adamdunkels
c40dde1209 Updated ruc to send ACKs before notifying applications, and API support for the etx-based tree code 2007-11-13 20:58:46 +00:00
adamdunkels
6845d2a1aa Updated tree to use expected transmissions (etx) as routing metric 2007-11-13 20:39:29 +00:00
nifi
44480fc7b7 added fix to enable start of ctimers before etimer process has started 2007-11-13 15:13:03 +00:00
adamdunkels
1cb3bad088 Multiple bugfixes and updates to xmac code by Niclas 2007-11-12 22:29:37 +00:00
nvt-se
6b7173809d anonymous -> identified. 2007-11-12 12:34:29 +00:00
adamdunkels
feed6cf679 const parameter to rimbuef_copyfrom() 2007-10-25 12:48:46 +00:00
adamdunkels
67aa9e8589 Made initialization function return a pointer to the MAC driver structure, to make initialization nicer 2007-10-23 21:27:57 +00:00
adamdunkels
f638c628d7 Made initialization function return a pointer to the MAC driver structure, to make initialization nicer 2007-10-23 20:57:37 +00:00
nifi
9a11bc1543 only update rimestats rexmit for retransmissions + added debug output when retransmitting 2007-10-23 14:00:36 +00:00
nifi
0bf47de9ba fixed compiler warning 2007-10-19 13:50:01 +00:00
nifi
d5580ae7ee corrected debug print 2007-10-02 13:41:12 +00:00
matsutsuka
a6527b34d9 When UIP_UDP is off, turn off udp functions more accurately. 2007-09-29 03:54:18 +00:00
nifi
1abf2c4c16 fixed compiler warning 2007-09-26 11:34:49 +00:00
fros4943
aa99049af0 simple tdma rtimer implemetation 2007-09-18 10:37:17 +00:00
fros4943
19b3035e36 simple tdma ctimer implementation 2007-09-18 10:36:36 +00:00
fros4943
25d2514541 xmac ctimer implementation 2007-09-18 10:35:39 +00:00
nvt-se
33687d8e6f A function declared in lib/random.h is used, so this file should be included
instead of lib/rand.h.
2007-09-14 20:26:52 +00:00
matsutsuka
8fd76351eb removed debugging printf 2007-09-08 16:12:54 +00:00
matsutsuka
4cd7302ecb make an old debbuging printf optional 2007-09-08 15:32:30 +00:00
nvt-se
1d1b99c0aa refer to PSOCK_NEWDATA. 2007-09-04 12:39:00 +00:00
fros4943
858e2682e6 platform independent simple slotted tdma mac protocol
observe: uses event timers, not real-time timers!
2007-08-31 13:42:22 +00:00
matsutsuka
9d4fc0a1a8 Support for z80(sdcc) port.
In order to support, some core modules are modified as follows:

core/sys/dsc.h
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.
- DSC_HEADER is changed to remove extra semicolon.

core/sys/process.h
- process_data_t is expressed by void* in signatures (known bug on sdcc).

core/sys/autostart.h
- autostart_processes is changed to remove extra semicolon.

core/sys/cc.h
- CC_CONF_ASSIGN_AGGREGATE is introduced.
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/net/hc.c
core/net/uip_arp.c
core/net/uaodv.c
- Aggregation assignments are changed to uip_ipaddr_copy.

core/net/psock.c
core/net/uipbuf.c
core/net/dhcpc.c
apps/shell/shell.c
core/ctk/vnc-server.c
core/ctk/vnc-out.c
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

core/net/uip-over-mesh.c
- An extra semicolon is removed.

apps/dhcp/dhcp-dsc.c
apps/shell/shell-dsc.
apps/ftp/ftp-dsc.c
apps/process-list/process-list-dsc.c
apps/email/email-dsc.c
apps/webserver/webserver-dsc.c
apps/vnc/vnc-dsc.c
apps/vnc/vnc-viewer.h
apps/webbrowser/www-dsc.c
apps/about/about-dsc.c
apps/irc/irc-dsc.c
apps/telnet/telnet-dsc.c
apps/telnetd/telnetd-dsc.c
apps/netconf/netconf-dsc.c
apps/directory/directory-dsc.c
pps/calc/calc-dsc.c
- Modify an extern type to a real declaration, which is static
  to prevent a compile error.

core/net/mac/xmac.c
- Variables cannot be defined in a head of block on sdcc.

core/ctk/ctk.h
core/ctk/ctk.c
apps/program-handler/program-handler.c
- If CTK_CONF_ICONS is diabled, the whole icon-related code is disabled.

Makefile.include
- Add a set of configuration for an assembler.
- $(CLEAN) variable is introduced for customized cleanup.

apps/process-list/process-list.c
- PROCESSLIST_CONF_HEIGHT is introduced to address smaller screen size.

core/lib/ctk-filedialog.c
- FILES_CONF_HEIGHT is introduced to address smaller screen size.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/vnc/vnc-viewer.c
- A cast is added to prevent a compile error.
- "register" keyword in a signature cannot be used in sdcc,
  CC_REGISTER_ARG is used instead.

apps/webbrowser/webclient.c
- CC_CONF_INC_CAST_POINTER is introduced, a workaround of a kind
  of sdcc bug for an increment.

core/loader/elfloader.c
- A cast is added to prevent a compile error.

core/net/rime/rimeaddr.c
- An initialization is added to prevent a compile error.

core/net/rime/rudolph0.c
- NULL is changed to 0, because NULL causes a compile error.

core/net/rime/route-discovery.c
- Add an argument to match the definition of nf_callbacks.

cpu/z80/strcasecmp.h
cpu/z80/strcasecmp.c
cpu/z80/contiki-sdcc-conf.h
cpu/z80/mtarch.c
cpu/z80/mtarch.h
cpu/z80/Makefile.z80
- New files to make compilation availble on sdcc.
- Added support for multithreading.
2007-08-30 14:39:16 +00:00
ksb
bbdffcbc86 Use uip_ipaddr_copy in places where addresses are copied. 2007-08-22 10:47:37 +00:00
ksb
3337165590 Made it possible to override uip_ipaddr_copy .
Use uip_ipaddr_copy in some places where addresses are copied.
2007-08-22 10:45:42 +00:00
nifi
df4ae2a91f corrected function signature 2007-08-06 13:14:09 +00:00
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
oliverschmidt
c5608ad99f Moved uIP ppp support into backyard as it was never ported to Contiki 2.x. 2007-05-26 07:14:15 +00:00
adamdunkels
52eb372890 Modified to use the new MAC layer API 2007-05-25 08:06:44 +00:00
adamdunkels
b07cfde31b Generic API for MAC layers 2007-05-25 06:40:19 +00:00
oliverschmidt
e025faf68f Moved network related stuff that depends on the service paradigm into backyard. 2007-05-23 23:27:57 +00:00
oliverschmidt
6275ef313c Removed the empty PROCESS_NO_BROADCAST macro. 2007-05-23 22:16:05 +00:00
oliverschmidt
7904a7e294 Made it compile again. 2007-05-22 22:10:30 +00:00
adamdunkels
0e6b5e0099 Turn debug output off (which was inadvertedly left on) 2007-05-22 21:53:15 +00:00
adamdunkels
37993d254d Increased default neighbor lifetime, removed debug output 2007-05-22 21:15:17 +00:00
adamdunkels
26903043a3 Updated format of debug output 2007-05-22 20:58:00 +00:00
adamdunkels
e18b609039 Amount of retransmissions now configurable on a per-packet basis 2007-05-22 20:57:44 +00:00
adamdunkels
c0d3b9111a Stubborn timer now configurable on a per-transmission basis. 2007-05-22 20:57:20 +00:00
adamdunkels
af43f26ed2 Multiplicative increase in retransmission time. Statistics. Max amount of retransmissions now configurable on a per-packet basis 2007-05-22 20:56:52 +00:00
adamdunkels
525b37ca7a Added Rime statistics. 2007-05-22 20:56:10 +00:00
adamdunkels
396e8094c6 Added Rime statistics, rmh and rucb 2007-05-22 20:55:53 +00:00
adamdunkels
edd509acf5 Added nicer configuration options. Added hack for optimizing X-MAC for unicast packets. Added statistics gathering. Turn radio off when someone else is receiving a packet. Queueing packets when X-MAC cannot send immediately (since someone else is transmitting). 2007-05-22 20:55:24 +00:00
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