Commit graph

434 commits

Author SHA1 Message Date
adamdunkels 6c95bd895a Added default initialization of polite announcements. Not sure where the best place for this is, but this at least allow us to start experimenting with this. 2009-02-09 22:05:33 +00:00
adamdunkels 3efb83c338 Added announcement includes 2009-02-09 21:09:42 +00:00
adamdunkels 0de445e035 Initialize the announcement module 2009-02-09 21:08:12 +00:00
adamdunkels 3670ef2f44 Rewrote the collect module so that it uses the announcement module rather than the neighbor-discovery module. This makes it possible to implement other annoumcement back-ends than the traditional broadcast-based neighbor discovery 2009-02-09 20:58:25 +00:00
adamdunkels dd9ffd87c4 Added missing #include announcement.h 2009-02-08 20:14:18 +00:00
adamdunkels 085df6b630 Improved version of LPP with support for broadcasts as well as announcement data in the probes 2009-02-08 19:30:18 +00:00
adamdunkels 91d280c4c9 Reverted to the old behaviour on broadcasts: send strobes for both unicast and broadcast packets. 2009-02-07 18:45:50 +00:00
adamdunkels 4b71003c2f Changed from random_rand() to rand() for better pseudo randomness 2009-02-07 18:43:45 +00:00
adamdunkels 752291f450 Changed from random_rand() to rand() function for (pseudo) random numbers because random_rand() does not work that well 2009-02-07 16:16:31 +00:00
adamdunkels 91e8487032 Added Doxygen documentation 2009-02-07 16:15:37 +00:00
adamdunkels be846d8c90 A new experimental network primitive called an 'announcement'. An
announcement is an (ID, value) tuple that is disseminated to local
area neighbors. An application or protocol can explicitly listen to
announcements from neighbors. When an announcement is heard, a
callback is invoked.

Announcements can be used for a variety of network mechanisms such as
neighbor discovery, node-level service discovery, or routing metric
dissemination.

Application programs and protocols register announcements with the
announcement module. An announcement back-end, implemented by the
system, takes care of sending out announcements over the radio, as
well as collecting announcements heard from neighbors.
2009-02-05 19:32:01 +00:00
fros4943 4f1a9d3c75 bugfix: stopping timeout timer when we receive route reply (still limited to only one active discovery) 2009-01-21 14:29:24 +00:00
adamdunkels 71e5adb254 Moved packet attributes specifications from rimebuf.h to the appropriate protocol header files 2009-01-15 22:15:51 +00:00
c_oflynn 5ec6412fbc *Support for Atmel 'Router Under Mac' (RUM) in Jackdaw 2008-12-10 21:26:05 +00:00
c_oflynn 17790ce46a Bug fix by David Kopf - sicslowpan timeout was always set at 20 seconds, this greatly improves performance!! 2008-12-02 22:04:16 +00:00
adamdunkels 50b1e60621 Rewrote the rimeaddr_copy() loop to use the ->u8 field instead of the ->u16 field (which now finally is removed) 2008-11-30 18:26:57 +00:00
adamdunkels 6951d9d582 Removed the unused ->u16 field (it was there only as a convenience/laziness access method during the initial development of the Rime stack, but has caused problems when being there) 2008-11-30 18:26:06 +00:00
oliverschmidt 7cf3165155 Replaced NETSIM macro with general (and now actually working) solution in Makefile.include. 2008-11-17 22:52:10 +00:00
fros4943 e42d572f81 updated for latest mac driver structure 2008-11-12 12:42:41 +00:00
zhitao 229d60d691 Neighbor ETX should accumulate over retransmission timeouts;
Best neighbor has minimum sum of routing metric and neighbor ETX. Previously best neighbor prioritizes routing metric before neighbor ETX, which often causes a poor neighbor with a good upstream path to be selected.
2008-11-12 10:47:17 +00:00
oliverschmidt 75ffd0640c Inform user about (most likely unintentional) call of dummy_tcpip_output_function. 2008-11-10 21:00:53 +00:00
adamdunkels 3b283a5ff3 Added dummy function so that tcpip_output() always is defined, even if tcpip_set_outputfunc() never has been called. This fixes a bug with programs attempting to use the network when compiled for the native platform. 2008-11-09 12:29:24 +00:00
adamdunkels 5243d58ac5 Added logic for announcing that a network has a gateway to the outside world (with the function uip_over_mesh_make_announced_gateway()). The announced gateway sends a trickle message to the network, containing the address of the gateway. Other nodes will then know that packets destined to the outside world should go through the gateway node. 2008-11-09 12:20:56 +00:00
adamdunkels 8851a6359a Remove unguarded printf() 2008-11-09 12:16:05 +00:00
oliverschmidt 28889f2210 Commented out otherwise unguarded printf(). 2008-11-06 23:15:58 +00:00
nvt-se 0c4f7bed8f temporary fix to get sicslowpan.c working on the Sky platform:
conventional MAC implementations require a call to the MAC driver's
read function.
2008-11-06 20:45:06 +00:00
adamdunkels d73124cc5e Bugfix: there was a problem with TCP segments not being properly retransmitted for protosockets-based applications. Cleaning up the logic around acknowledgements and retransmissions fixed the bugs pertaining to retransmissions of lost packets. This bugfix affects both the telnet server and the web server (which now work as expected wrt packet loss). 2008-10-31 18:10:24 +00:00
adamdunkels f623b81d59 Temporarily out-commented the problematic code and added a comment that describes the problem 2008-10-17 14:40:16 +00:00
mdurvy 75f036f698 uncommented the remove of the router (necessary for compliance) 2008-10-16 09:07:43 +00:00
blakelev 99f6932cdf Removed one line to prevent the default router from being removed
prematurely.  This timer should not time out, but it does.
2008-10-15 23:29:38 +00:00
adamdunkels adc57729c3 struct uip_udp_conn should be declared even if UIP_UDP is zero (it does not add any extra code) 2008-10-15 08:56:44 +00:00
adamdunkels e931260603 Added more curly brackets to ensure ANSI C compliance when UIP_TCP is defined; 2008-10-15 08:52:30 +00:00
adamdunkels 6a3565f5b6 Added an #if around the whole code if IPv6 is defined 2008-10-15 08:08:32 +00:00
adamdunkels 91910f82dd added curly brackets to ensure ANSI C compliance when UIP_TCP is defined; some automatic whitespace removal 2008-10-15 07:59:34 +00:00
adamdunkels 647443cb9d Added payload field to ICMP v4 header that was inadvertedly removed during the uIPv6 commits; automatic whitespace removal at line ends 2008-10-15 07:55:00 +00:00
julienabeille 2238f2e7da Debugged autoconf for ethernet 2008-10-14 16:50:11 +00:00
julienabeille 4f9bc05f90 ping-ipv6 example compiles on native cygwin 2008-10-14 13:39:12 +00:00
adamdunkels fc1a8575d6 Removed unused include files (also automatically removed whitespace from line endings) 2008-10-14 12:26:18 +00:00
julienabeille 2e8264010b Main uIPv6 files addition - more 2008-10-14 09:42:33 +00:00
julienabeille f95cdc5abb Main uIPv6 files addition 2008-10-14 09:40:56 +00:00
adamdunkels 7b238a91af Don't turn on the radio on after sending a broadcast 2008-09-04 17:44:01 +00:00
adamdunkels 41dcd78c8b Improved debugging output 2008-08-15 19:28:33 +00:00
adamdunkels 31509ad726 Fixed a bunch of bugs in the collection neighbor announcement/discovery code: neighbor announcments were not repeated unless there was a change in the ETX val. Neighbor announcements happened to often when there were changes in the ETX. 2008-08-15 19:00:38 +00:00
adamdunkels 210782d9c6 Set the channel as a packet attribute 2008-08-15 18:59:22 +00:00
adamdunkels 9a4e5dfabf Rewrote the neighbor discovery code so that messages are suppressed if a lower rtmetric is received. This reduces the overall number of broadcast packets. 2008-07-09 09:33:58 +00:00
adamdunkels 9318117429 Fixed function prototype compiler warning 2008-07-08 10:59:31 +00:00
adamdunkels ba5c18a468 Rewrote the trickle code to run directly over the broadcast primitive: the previous implementation did not work as expected, because packets were not supressed correctly by the previous underlying netflood primitive 2008-07-07 23:29:30 +00:00
adamdunkels df33cb6e16 Only send ACK if it was possible to allocate a queuebuf to hold the data packet. 2008-07-07 23:27:57 +00:00
adamdunkels 4d35b905d3 Bugfix: check should cover min(hdrsize, datalen), not max 2008-07-07 23:27:05 +00:00
adamdunkels c0c26262c4 No need to send strobes for broadcast packets: just send the actual packet instead 2008-07-07 23:25:12 +00:00