Oliver Schmidt
1eda821a75
Fixed severe bug in PSOCK_READTO (?)
...
Either I found and fixed a severe bug in PSOCK_READTO() or I misunderstood something completely. To me PSOCK_READTO() is supposed to return if either the supplied character was read or if the user supplied buffer is exhausted - sor far so good.
However if the latter occurs up to now PSOCK_READTO() was continuing to process characters already read from the network (aka present in the uIP buffer) in order to check if the supplied character was found there and adjust the return value accordingly. But this means that the character processed this way were lost forever for the caller as the next call to PSOCK_READTO() would continue to read past the characters processed this way.
Therefore I removed that character processing altogether. So now if the user supplied buffer is exhausted before the supplied character is found the next call to PSOCK_READTO() starts exactly where previous call left off.
2013-02-10 15:41:34 +01:00
Oliver Schmidt
29391ef9ae
Removed uiplib_ip6addrconv() from IPv4 builds.
...
While it may very well be beneficial to have explict uiplib_ip4addrconv() and uiplib_ip6addrconv() available for IPv6 builds I'm having a hard time to see the point in uiplib_ip6addrconv() for IPv4 builds.
Unrelated to the above the dispatching of uiplib_ipaddrconv() to either uiplib_ip4addrconv() or uiplib_ip6addrconv() can be accomplished by the C preprocessor only thus avoiding the size/speed overhead of an additional callframe.
2013-02-03 23:04:41 +01:00
Sébastien Dawans
95ab192e88
Makes RPL Initial Link Metric configurable
2013-02-01 09:02:31 +01:00
Simon Duquennoy
7c64a114aa
Added missing include of contiki-conf.h
2013-01-23 16:11:02 +01:00
Robert Quattlebaum
5afcbf6fff
Makefiles: Allow setting UIP_CONF_IPV6=0 to work as expected.
...
Setting UIP_CONF_IPV6 to zero from the make build command line is
something that seems like it should ensure that IPv6 is disabled, but in
fact it actually *enables* IPv6. This seems counter intuitive, so this
patch changes the behavior of the makefiles to handle this case
properly.
2013-01-14 22:03:42 -08:00
George Oikonomou
68f59113d6
Fix a route lifetime bug
...
There is a bug in the current route purge routine which would
result in a route's lifetime getting decremented more than once
during the same pass. This commit fixes it
The bug is documented here:
http://thread.gmane.org/gmane.os.contiki.devel/16209
2012-12-20 00:17:33 +00:00
Adam Dunkels
4324d74f12
Check callback pointers to avoid calling a NULL pointer
2012-12-10 01:50:37 +01:00
Adam Dunkels
83eb9a4ec3
Cleanup: removed the old routing table management functions that had previously been removed from compilation with #if 0
2012-11-27 23:04:34 +01:00
Adam Dunkels
edf141046b
Clean up of a few missing printf() that were converted into PRINTF()s
2012-11-27 23:04:34 +01:00
Adam Dunkels
43ecad5a99
Call the route callback API functions.
2012-11-27 23:04:33 +01:00
Adam Dunkels
a9cab81d4e
Added macros that allow handling IPv4 addresses even when uIP is configured to be an IPv6 stack
2012-11-27 23:04:33 +01:00
Adam Dunkels
afe13b22bc
Rewrote the uIP IPv6 route handling code. Instead of being nested deeply inside the uip-ds6.c file, the route management code is now in a separate file, uip-ds6-route.c. This file presents a lib/list.h API for the routes, which makes the route list much easier to use. Additionally, the uip-ds6-route.c file adds a callback API that invokes a callback when routes are added and removed.
2012-11-27 23:04:33 +01:00
Adam Dunkels
b2063953ba
Added a configuration option, UIP_SPLIT_CONF_SIZE, for setting the threshold at which point TCP packets get split into two.
2012-11-27 23:04:33 +01:00
Adam Dunkels
f561bfc205
Added a function simple_udp_sendto_port() for sending a UDP packet to a specified port.
2012-11-27 23:04:32 +01:00
Adam Dunkels
5c5545ba7d
Code style and debugging updates
2012-11-27 23:04:32 +01:00
Adam Dunkels
289a01b389
Added explicit functions uiplib_ip6addrconv and uiplib_ip4addrconv for converting IPv6 and IPv4 addresses, regardless of whether uIP was configured to run as an IPv4 or an IPv6 stack.
2012-11-27 23:04:32 +01:00
Adam Dunkels
0bad2b1748
Added a configuration option to annotate IP transmissions with red arrows in Cooja.
2012-11-27 23:04:32 +01:00
Adam Dunkels
b24157631f
Made nd6 maximum unicast solicitation messages configurable
2012-11-27 23:04:32 +01:00
Adam Dunkels
2a2175a214
Make RPL DIS transmission interval random in the interval [0, INTERVAL/2]. This is needed to avoid synchronization in large RPL networks.
2012-11-27 23:04:31 +01:00
Adam Dunkels
2396f9b8ea
Made DIO interval processing a little easier to follow. Explicitly state that the delay is handled as clock timer ticks.
2012-11-27 23:04:31 +01:00
Adam Dunkels
8538aaf655
Made RPL DAO latency configurable
2012-11-27 23:04:31 +01:00
Adam Dunkels
357b13b3d3
Correctly handle upward and downward routes according to Section 1.2 of RFC6550
2012-11-27 23:04:31 +01:00
Adam Dunkels
15deb37e64
Updated DAG version processing to occur even for infinite rank DIOs. This makes it possible for the RPL root to infer the DAG version number from a network that hasn't had a root for a while, and where the rank has increased to infinity.
2012-11-27 23:04:30 +01:00
Adam Dunkels
db7cb567f5
Updated the RPL code to better match the Contiki code style
2012-11-27 23:04:30 +01:00
Adam Dunkels
cb7842bd16
Added support for encryption and decryption of the packetbuf if macros
...
NETSTACK_ENCRYPT and NETSTACK_DECRYPT are defined. Those are intended
to be called as functions NETSTACK_ENCRYPT() and NETSTACK_DECRYPT() to
encrypt and decrypt the packetbuf, respectively. If needed, an
initialization function by the name NETSTACK_ENCRYPTION_INIT() can
also be defined.
2012-11-25 12:05:00 +01:00
Adam Dunkels
0cd2f48d6e
Added NULL pointer guards
2012-11-22 11:55:01 +01:00
Adam Dunkels
d51d3f6b3e
Remove conditionals around RPL extension header #defines and typedefs. With the conditional, it wasn't possible to compile the rpl-ext-header.c file. Since #defines and typedefs and 'free' at runtime, we gain nothing by having them conditional.
2012-11-21 20:11:22 +01:00
Adam Dunkels
6ee1f72486
Removed old unused TDMA-based MAC and RDC code
2012-11-20 20:48:34 +01:00
Adam Dunkels
ec8c7e9be0
Cleanup of the node-id.h files. The node-id.h file contains
...
declarations of functions for setting and getting a node ID number, a
functionality that exists on many platforms. Since this functionality
was not considered part of the Contiki core, each platform defined its
own node-id.h file. This commit attempts to clean this up by
collecting the node-id.h into a core/sys/node-id.h file that replaces
the old node-id.h files from the platform directories.
2012-11-20 19:59:46 +01:00
nvt
757a54f63c
Added some comments about Antelope and Coffee.
2012-11-19 13:21:59 +01:00
Alexandre Boeglin
3b492cf82f
Add missing Doxygen marker
2012-11-07 16:57:27 +01:00
George Oikonomou
713c2e5974
DOS EOL and indentation fixes (core/ apps/ cpu/)
...
- Removed some DOS EOLs
- Changed some tabs to spaces
- Removed some trailing whitespaces
Part of Pull Request #6
2012-10-30 13:43:51 +00:00
Rémy Léone
e378f171d6
chmod correction
2012-10-29 14:15:38 +01:00
Adam Dunkels
944537fccf
Removed all old RCS tags in the Contiki source tree. Those RCS tags are not used any more, as we are now using git to manage the Contiki source tree
2012-10-26 15:54:49 +02:00
simonduq
74baca91b1
Added sanity check to avoid deleting DS6 neighbor table entry for a default route
2012-10-05 17:55:45 +02:00
simonduq
dbd4f1c579
Force call of subscriber_callback when the ETX of a link is estimated for the first time. Otherwise, it was not called in case of NO_ACK.
2012-10-05 17:24:23 +02:00
Joakim Eriksson
621790f156
fixed read loop to be slightly less CPU speed dependent
2012-10-01 13:14:47 +02:00
Niclas Finne
8053e2c353
Workaround for an odd type inference problem associated with the IAR compiler. Patch by Vilhelm Jutvik.
2012-09-12 14:46:19 +02:00
Antonio Lignan
c5e9d688a5
Fixed sht11 driver, now ensures the i2c bus is disabled when initializing
2012-08-16 14:12:27 +02:00
Adam Dunkels
dd148e1d12
Bumped version number
2012-07-12 11:30:05 +02:00
Fredrik Osterlind
b9f1b9b205
simplified and bugfixed Cooja's IP address interface, added two
...
variables in uip-ds6.c to allow Cooja to extract addresses from memory
2012-06-01 15:47:22 +02:00
Fredrik Osterlind
076c208b72
avoid gcc optimization bug by extracting struct values
2012-05-30 17:58:45 +02:00
Fredrik Osterlind
f8e0da428a
bugfix: transfer did not terminate correctly when last packet was full
2012-05-29 13:46:22 +02:00
David Kopf
e62f2c3977
Ensure MAXDADNS is defined in uip-ds6.h
...
Set no RPL as webserver6.minimal-net default and update README
2012-05-28 10:01:34 -04:00
Mariano Alvira
65719adc93
Set the R flag in NAs if UIP_CONF_ROUTER
2012-05-10 16:32:55 -04:00
Niclas Finne
d3b4efa06f
removed obsolete function declaration
2012-04-24 14:08:40 +02:00
nvt
e4a305d353
Update the last lookup time for a neighbor when actually doing a lookup. Also fixed some coding style issues.
2012-04-22 00:31:56 +02:00
nvt
534c734465
Removed redundant code and improve code style and documentation.
2012-04-22 00:18:07 +02:00
nvt
e94718f95c
Separated configuration into a new file called rpl-conf.h. Improved the documentation.
2012-04-22 00:17:10 +02:00
nvt
eda6b7c318
Use LIST_STRUCT macros. Made get_dag a static function.
2012-04-17 23:35:19 +02:00
nvt
3d0d2c284f
Changed function names.
2012-04-17 23:34:47 +02:00
nvt
80097f2c65
Removed some redundant code and fixed coding style.
2012-04-17 23:12:47 +02:00
nvt
6071b5aee7
Remove obsolete support for broadcast DAOs.
2012-04-17 23:04:20 +02:00
nvt
ed37e983f6
Refuse to allocate more parents for a specific DAG when the per-DAG limit has been reached.
2012-04-17 22:59:42 +02:00
nvt
d3fee514b3
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-04-12 21:35:02 +02:00
David Kopf
cac4e9a222
Add clock_delay_us and clock_set_seconds to clock.h. Modify clock_wait to use clock_time_t.
...
Remove the troublesome avr/dev/delay.* files.
Add PLATFORM_NAME and combine the confusing *_REVISION defines into a single PLATFORM_TYPE
2012-04-09 15:49:53 -04:00
nvt
26ee7cb5db
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-04-02 20:10:55 +02:00
Niclas Finne
2507ba4e8d
Avoid using memcpy on unaligned uint16_t variables, because certain compilers will optimize this code to a direct copy instruction that will result in unaligned memory access. Thanks to Angelo Compagnucci for reporting this problem.
2012-03-31 01:25:27 +02:00
nvt
bef9b2bd36
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-03-28 22:40:38 +02:00
Niclas Finne
7bf4fa4bff
Removed obsolete mac pointer
2012-03-28 21:51:19 +02:00
Ivan Delamer
5c232e7263
Remove compiler warning for remove_ext_header().
2012-03-27 19:48:26 -06:00
Ivan Delamer
51e3999054
Simplified reachability detections by sending probes only in PROBE
...
state.
2012-03-27 18:06:48 -06:00
Ivan Delamer
419ffddd0a
remove unnecessary stimer call in tcpip_ipv6_output()
2012-03-27 18:04:51 -06:00
Ivan Delamer
f9d5d71fde
6LowPAN: check tx result, if fail then do not send subsequent
...
fragments. Serves to save energy and also as collision avoidance.
2012-03-26 15:46:49 -06:00
Ivan Delamer
436cbec844
Separated processed_ip_len into processed_ip_in_len and
...
processed_ip_out_len to avoid corruption, in case we send a packet in
the middle of receiving a fragmented packet.
2012-03-26 15:46:47 -06:00
Ivan Delamer
c6b3a9957d
Ignore 6LowPAN fragments which won't fit in UIP_BUFSIZE (in case
...
UIP_BUFSIZE < 1280). Otherwise we'll have a buffer overrun.
2012-03-26 15:46:45 -06:00
simonduq
63ea562568
base encounter_time on the time before last strobe, remove unused previous_txtime
2012-03-26 22:49:28 +02:00
nvt
3cace20809
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-03-20 21:23:13 +01:00
simonduq
7784cf7827
stm32w platforms: use 2 cca and default contikimac guard time
2012-03-20 17:30:05 +01:00
simonduq
5da4463236
adding ducy cycling support to the stm32w-based platforms (patch by Chi-Anh La)
2012-03-20 17:29:58 +01:00
nvt
82ed40651a
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-03-15 21:47:12 +01:00
George Oikonomou
598dcc110c
sicslowpan doesn't need to remember the mac driver
2012-03-14 17:52:50 +00:00
George Oikonomou
e6819effef
Fix compile errors with SDCC
...
Intermingled declarations and code are not yet implemented in sdcc.
2012-03-14 17:52:50 +00:00
nvt
9fb93cd7b7
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-03-12 19:23:37 +01:00
Matthias Kovatsch
87cd18539b
Eliminated RPL_CONF_ADJUST_LLH_LEN correction by using uip_l3_icmp_hdr_len instead of uip_l2_l3_icmp_hdr_len.
2012-03-08 00:48:04 +01:00
Matthias Kovatsch
7eac4393c2
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-03-07 22:24:02 +01:00
Matthias Kovatsch
dd967e62f5
Applied patch provided by Franck Rousseau restoring UIP_LLH_LEN.
2012-03-07 22:22:58 +01:00
Ivan Delamer
f38962a3c4
Do not remove infinite default routers when PROBE fails.
2012-03-07 13:52:06 -07:00
nvt
c4eeb578a7
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-03-06 23:23:34 +01:00
nvt
3860e798ac
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-03-05 01:49:55 +01:00
David Kopf
07f6e10c1c
Add display options to border router web page, default now uses stack instead of static buffer.
...
Turn radio off until prefix is acquired.
2012-03-02 16:01:12 -05:00
nvt
217a4e54ca
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-02-22 19:28:49 +01:00
Joakim Eriksson
321ecc9fab
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-02-21 19:07:40 +01:00
Joakim Eriksson
5a65e3cc8b
tuned RPL parameters and improved calculation of path etx
2012-02-21 19:06:58 +01:00
David Kopf
745f071c98
Eliminate unused variable warnings. Dummy test of PT_YIELD_FLAG does not change program size.
2012-02-21 11:23:54 -05:00
David Kopf
6e45dfe5ff
PROGMEM changes needed for newer avr-gcc compiler
2012-02-21 11:10:57 -05:00
Nicholas J Humfrey
372de7d08a
Converted u8_t to uint8_t and u16_t to uint16_t in the rest of core (specifically ctk/vnc, slip and the loader code)
2012-02-21 08:33:24 -05:00
Joakim Eriksson
2752337e69
fixed lollipop counter
2012-02-21 13:20:20 +01:00
Nicholas J Humfrey
3fe55673d3
Converted deprecated uIP types in the network stack to standard C99 names (in stdint.h)
2012-02-17 22:45:13 +00:00
nvt
9d8be775d4
Merge branch 'master' of ssh://contiki.git.sourceforge.net/gitroot/contiki/contiki
2012-02-11 02:14:20 +01:00
Niclas Finne
99f3d5ada2
Added missing include
2012-03-06 12:33:47 +01:00
Ivan Delamer
27daa94030
Compress UDP header when UIP_CONF_UDP is disabled but we are routing
...
others' UDP packets.
2012-02-01 13:06:38 -07:00
Ivan Delamer
e7cd04b558
Bug fix: do not overwrite NS or RA messages otherwise generated in the
...
same uip_ds6_periodic() call.
2012-02-01 09:55:41 -07:00
Joakim Eriksson
729a434d0f
always send DAO to refresh routes
2012-02-29 15:01:59 -08:00
Nicolas Tsiftes
d0e2d9b47e
Cleaned up code style, comments, and print outs. Set default DAG parameters when the DIO configuration option is missing.
2012-02-29 21:59:50 +01:00
Ivan Delamer
02d3fd4758
Fixes small bug in uip-nd6.c: when a packet is sent before DAD is
...
completed, DAD-like message is sent that can create a DAD fail in
another node (if it matches the destination of our packet).
2012-01-31 15:44:29 -07:00
nvt
82a7c93b47
Check return value.
2012-01-30 23:51:07 +01:00
Nicolas Tsiftes
16c437da7e
Adjust for the multi-instance structures.
2012-02-27 23:03:52 +01:00
Niclas Finne
1e85183754
fixed debug output and changed to use uip-debug.h for debug output
2012-01-27 15:51:46 +01:00
Joakim Eriksson
c3655728b8
fixed extension header handling
2012-01-27 15:40:39 +01:00