Timofei Istomin
b9aa88b504
[multicast] Do not forward every incoming TM ICMP
...
The Trickle Multicast ICMP packet handler was not resetting uip_len to zero,
so all incoming TM ICMP packets were forwarded overloading the network.
2015-07-17 20:04:15 +02:00
Arthur Fabre
8739113308
Fix warnings in ContikiMAC
...
../..//core/net/mac/contikimac/contikimac.c:503:11: warning: variable
‘seqno’ set but not used [-Wunused-but-set-variable]
../..//core/net/mac/contikimac/contikimac.c:496:7: warning: variable
‘len’ set but not used [-Wunused-but-set-variable]
Both of these variables are only used if RDC_CONF_HARDWARE_ACK is not
true.
Their definitions and use have been moved into #ifdef guards so they do
not appear if RDC_CONF_HARDWARE_ACK is set.
2015-07-16 13:49:31 +01:00
George Oikonomou
315f6fe535
Implement TX of S/W ACKs with ContikiMAC
2015-07-12 00:07:33 +01:00
George Oikonomou
503a992887
Make ContikiMAC more configurable
...
Allow the project / platform to provide values for CCA_SLEEP_TIME and LISTEN_TIME_AFTER_PACKET_DETECTED.
This is useful for sub-ghz operation.
This has been shamelessly stolen from the [Mountain Sensing project](https://github.com/feshie/contiki )
@heliosfa @kmartinez
2015-07-11 23:55:44 +01:00
Amit Geron
bf3a5de75e
Fix stunicast timer restart
...
Instead of hard coded setting the resend timer to CLOCK_SECOND,
restart it, so that the time between ANY following transmissions will
be as passed to stunicast_send_stubborn.
2015-07-09 12:03:55 +03:00
Amit Geron
b1ef3fdf41
Fix indentation
2015-07-09 12:03:55 +03:00
Simon Duquennoy
3315d3069d
Merge pull request #1108 from phoenix-frozen/generify-ccm-star
...
generalised CCM module into lib
2015-07-01 10:44:41 +02:00
Justin King-Lacroix
30704e5afc
CCM* module now accepts fixed-size 13-byte nonces
...
also adjusted variable naming conventions in CCM* module
to use 'nonce' and 'iv' in line with RFC 3610 terminology
2015-06-29 22:51:00 +02:00
Antonio Lignan
8cc0a12a9f
Merge pull request #1097 from bthebaudeau/cc2538-examples-fix-warnings
...
cc2538: examples: Fix build warnings
2015-06-24 11:39:24 +02:00
tpetry
b3046f1537
remove rime routes in LRU mode if trying to add a new route to full route table
2015-06-19 16:32:19 +02:00
Laurent Deru
c73cd66a92
Change all printf into PRINTA in uip-debug.c; remove compilation warning and move addr check after local variables definition in uip_debug_ipaddr_print
2015-06-18 15:14:46 +02:00
Laurent Deru
60784b40bd
Check pointer in uip_debug_lladdr_print
2015-06-18 10:56:45 +02:00
Laurent Deru
1784338b2e
Add uip_clear_buf() macro and replace all instances of uip_len = 0; with it
2015-06-15 11:10:51 +02:00
Oliver Schmidt
35becbbcb5
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
core/net/ip/uip-nameserver.c
2015-06-14 16:33:23 +02:00
Oliver Schmidt
a0d9f028d6
Made first uip_nameserver_update() parameter const.
...
Both apps/dhcp/dhcp.c:dhcpc_configured() and cpu/6502/ipconfig/ipconfig.c:dhcpc_configured() presume the first parameter of uip_nameserver_update() to be const. As there's no reason for it to be not const just make it const.
2015-06-14 16:27:39 +02:00
Oliver Schmidt
adc744ef30
Avoid compiler warning because of unused variable. (reverted from commit a9c6d59da3
)
2015-06-14 15:24:38 +02:00
Justin King-Lacroix
3ce8f26eea
generalised CCM module into lib
...
introduced convenience functions for LLSEC modules
2015-06-10 18:07:41 +01:00
Benoît Thébaudeau
66acf74612
cc2538: examples: Fix build warnings
...
Toolchain used:
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 4.9.3 20150303
(release) [ARM/embedded-4_9-branch revision 221220]
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau.dev@gmail.com>
2015-06-02 01:38:11 +02:00
rajithr
08503a20be
Protection against possible buffer overflow
2015-05-27 19:06:19 +05:30
Nicolas Tsiftes
5a26d25647
Merge pull request #918 from cetic/pr-multi-dodag-support
...
Multi DODAG support
2015-05-26 16:32:10 +02:00
Nicolas Tsiftes
be891c0554
Merge pull request #915 from cetic/pr-rpl-default-route-infinite
...
Allow rpl default route lifetime to be infinite
2015-05-26 16:26:58 +02:00
Laurent Deru
9782a760b1
rpl_process_dio: Update parent rank
2015-05-22 17:21:53 +02:00
Laurent Deru
ccd3c58280
rpl_select_parent: Update dag rank according to new parent
2015-05-22 17:21:53 +02:00
Laurent Deru
fc8415e1ad
Allow rpl default route lifetime to be infinite
2015-05-22 13:00:06 +02:00
Moritz 'Morty' Strübe
0dab6926b3
Move MAX, MIN and ABS to sys/cc.h
2015-05-18 08:53:17 +02:00
Simon Duquennoy
fc178dab87
rpl_print_neighbor_list(): cast clock_time_t to unsigned for portable printout
2015-05-13 09:03:40 +02:00
George Oikonomou
11a5e0a49a
Merge pull request #1051 from simonduq/fix-warning
...
Fixed a number of compiler warnings
2015-05-13 00:52:40 +01:00
Nicolas Tsiftes
05d2d843da
Merge pull request #1053 from simonduq/rpl-probing
...
RPL probing
2015-05-10 17:22:10 +02:00
Nicolas Tsiftes
71427ed4cc
Merge pull request #1016 from cetic/pr-cleanup-dodag-when-root
...
Remove all the DODAG from the instance when the node is set as Root
2015-05-10 17:15:25 +02:00
Nicolas Tsiftes
44af0fa66b
Merge pull request #1003 from adamdunkels/pr/http-socket-dns64-tcp-socket
...
New HTTP socket, DNS64, IP64 Cooja tests
2015-05-10 17:14:31 +02:00
Nicolas Tsiftes
f8e13758e3
Merge pull request #1017 from cetic/pr-dont-delete-instance
...
Do not delete instance when a new DODAG can not be created
2015-05-10 15:09:59 +02:00
Simon Duquennoy
9ced5b7bac
RPL: when no probing target is found, probe least recently updated parent
2015-05-10 13:28:00 +02:00
Simon Duquennoy
832a4d3e01
Make probing expiration time configurable
2015-05-10 13:19:56 +02:00
Adam Dunkels
e9f180e756
Made the first argument to uip_connect() const, to ensure it isn't altered
2015-05-10 10:51:13 +02:00
Adam Dunkels
daef1ea252
Cast the addresses when copying IPv4 and IPv6 addresses using the IPv4 and IPv6 copy macros.
2015-05-10 10:51:13 +02:00
Adam Dunkels
c06e6ae74d
Explicitly use the IPv6 address copy macro when copying IPv6 addresses
2015-05-10 10:51:12 +02:00
Adam Dunkels
b85fdfd2ae
Move the ip64-addr code into the core/net/ip directory, to make it available on all platforms without having to explicitly include the core/net/ip64-addr module
2015-05-10 10:51:12 +02:00
Adam Dunkels
4bd725130c
Code for starting a RPL DAG root with a delay, to allow any existing RPL networks to be joined first
2015-05-10 10:51:12 +02:00
Adam Dunkels
06daa08ffc
Added a function for getting the default RPL instance
2015-05-10 10:51:11 +02:00
Adam Dunkels
33372945a3
HTTP socket code with support for GET and POST
2015-05-10 10:51:11 +02:00
Adam Dunkels
ba409cce57
Treat multicast transmissions as recyclable
2015-05-10 10:36:50 +02:00
Adam Dunkels
269188846c
Added support for DNS64 translation of DNS queries for IPv6 addresses to IPv4 addresses, and the translation of responses from IPv4 to IPv6
2015-05-10 10:36:50 +02:00
Adam Dunkels
251813a6dd
Maintain stats about how many packets have been translated from IPv4 to IPv6 and vice versa
2015-05-10 10:36:50 +02:00
Adam Dunkels
191a57d06c
Minor copyright header fix
2015-05-10 10:36:50 +02:00
Adam Dunkels
0f1f12fdc7
Bugfix in tcp-socket: there were a few corner cases when the tcp-socket state would be messed up, which is fixed with this patch
2015-05-10 10:36:50 +02:00
Simon Duquennoy
6a5f238255
RPL probing: make delay function user-configurable
2015-05-10 09:47:04 +02:00
George Oikonomou
bd5e35c968
Merge pull request #1052 from simonduq/packetbuf-cleanup
...
Packetbuf cleanup
2015-05-09 22:30:21 +01:00
Simon Duquennoy
2dd182f4a8
Modified the default RPL probing selection process. Will now probe the least recently updated parent from time to time
2015-05-08 14:32:52 +02:00
Simon Duquennoy
47ba4c0c4b
Implement RPL probing
2015-05-08 14:32:00 +02:00
Simon Duquennoy
529376be77
Added rpl_print_neighbor_list function for RPL state monitoring
2015-05-08 14:29:26 +02:00
Simon Duquennoy
be47673d40
Fix debug message
2015-05-08 14:28:38 +02:00
Simon Duquennoy
4a93f5148d
Fixed a number of compiler warnings
2015-05-08 09:07:20 +02:00
Simon Duquennoy
8344290e08
Added missing sanity check in uip-ds6-route.c
2015-05-07 16:58:23 +02:00
Simon Duquennoy
333e076b24
Disable PACKETBUF_ATTR_PACKET_TYPE in the non-Rime case by default
2015-05-06 16:36:15 +02:00
Simon Duquennoy
290fc829ea
Consistently use PACKETBUF_ATTR_MAC_SEQNO for MAC sequence number, both input and output. Disable PACKETBUF_ATTR_PACKET_ID in the non-Rime case.
2015-05-06 16:34:44 +02:00
Simon Duquennoy
bb76bb8beb
Remove unused flag SICSLOWPAN_CONF_ACK_ALL. Include packetbuf attribute PACKETBUF_ATTR_RELIABLE only when RIME is compiled.
2015-05-06 16:34:26 +02:00
Nicolas Tsiftes
f7ca4b41a9
Merge pull request #1001 from adamdunkels/pr/queuebuf-no-ref
...
Cleanup: remove the obsolete reference packetbuf
2015-05-03 16:35:17 +02:00
Oliver Schmidt
a9c6d59da3
Avoid compiler warning because of unused variable.
2015-05-02 00:37:46 +02:00
Nicolas Tsiftes
7d06494331
Merge pull request #917 from cetic/pr-hbh-user-conf
...
Allow user configuration of RPL hop-by-hop option
2015-04-03 22:19:51 +02:00
Laurent Deru
0efa9f2046
Allow user configuration of RPL hop-by-hop option
2015-04-03 09:52:36 +02:00
Adam Dunkels
7acf747c1a
Removed packetbuf references. This was a feature that is not used anymore and only made the code more complex.
2015-04-01 21:33:02 +02:00
Adam Dunkels
c9c6688524
Remove the unused reference queuebufs, as they only make the code more complex than it needs to be
2015-04-01 10:01:57 +02:00
Nicolas Tsiftes
8f50d9709d
Merge pull request #999 from adamdunkels/lebrush-rdnss-support-rebased
...
RDNSS support, again
2015-03-30 17:21:23 +02:00
George Oikonomou
ff118be070
Remove unnecessary #if guards
...
ipv4/uip.c will not even be include in the list of sources in the first place if we are building with NETSTACK_CONF_WITH_IPV6 (CONTIKI_WITH_IPV6). Thus, there is no longer a need to wrap the entire source code in an #if guard.
Closes #935
2015-03-28 23:50:19 +00:00
Ioannis Glaropoulos
8552fb1ead
Send the first NS attempt inside tcpip_ipv6_output()
2015-03-09 19:41:25 +01:00
Nicolas Tsiftes
2734c97234
Merge pull request #914 from cetic/pr-always-send-no-path-dao
...
Send no-path DAO only when the dag has a preferred parent
2015-03-06 14:33:07 +01:00
Laurent Deru
9d94c4efae
Remove all the DODAG from the instance when the node is set as Root
2015-03-04 09:55:11 +01:00
Laurent Deru
49bfb1308d
Do not delete instance when a new DODAG can not be created
2015-03-04 09:43:28 +01:00
Nicolas Tsiftes
f9e5e24cf4
Merge pull request #895 from simonduq/rpl-single-dag
...
Do not use rpl_add_dag when RPL is used with a single dag per instance
2015-02-26 11:41:24 +01:00
Nicolas Tsiftes
6e3119234b
Merge pull request #961 from g-oikonomou/mcast-documentation
...
Tidy-up multicast documentation
2015-02-17 09:05:11 +01:00
Nicolas Tsiftes
d57634d417
Merge pull request #936 from skaterdude/master
...
Update rpl.c and uip.c (in ipv4)
2015-02-17 09:03:55 +01:00
Nicolas Tsiftes
cafffb446d
Merge pull request #958 from kshpylon/master
...
change value of RPL_DIO_MOP_MASK
2015-02-17 08:59:32 +01:00
George Oikonomou
5efb3f0769
Tidy-up multicast documentation
...
* Create a doxygen group and add files to it, so that documents appear as modules rather than simply under files
* Document plenty of functions, macros, constants, data types which were previously undocumented
* Re-structure some doxygen comments to improve structure and readability
2015-02-15 23:29:59 +01:00
George Oikonomou
43aeddbd89
Nudge comments left so they won't appear as a code block
2015-02-15 20:20:40 +01:00
George Oikonomou
c8b802dc16
Fix doxygen warnings in the uip6 group
2015-02-15 20:15:03 +01:00
George Oikonomou
b0390e3e70
Tidy up \file & \author blocks under core/net/ipv6
...
* Make these blocks appear in the respective module pages
* Re-word \file blocks to bring them up to speed with what each file actually does nowadays
2015-02-15 20:15:03 +01:00
George Oikonomou
06cfea692b
Document a macro
2015-02-15 20:11:11 +01:00
George Oikonomou
e596d5104d
Fix minor typos
2015-02-15 20:11:11 +01:00
George Oikonomou
587dd8d9e4
Remove documentation of a macro which was commented out
...
The result of this was that the doxygen block was being applied to the wrong macro
2015-02-15 20:11:10 +01:00
George Oikonomou
35be05071c
Fix some unresolved references
...
* Either by removing them
* Or by resolving them
2015-02-15 20:11:10 +01:00
George Oikonomou
dd4f181cde
Fix warnings caused by incorrect \defgroup, \addtogroup, \file
2015-02-15 20:11:09 +01:00
George Oikonomou
0b382a933a
Fix warnings caused by unescaped special doxygen chars
2015-02-15 20:11:09 +01:00
George Oikonomou
fb22e15844
Fix warnings caused by incorrect param names / undocumented params
2015-02-15 20:11:08 +01:00
George Oikonomou
988759a99e
Fix "multiple use of section label 'channels'" warning in various rime headers
2015-02-15 20:11:07 +01:00
kshpylon
db444e14c3
Update rpl-icmp6.c
2015-02-11 17:26:51 +09:00
Nicolas Tsiftes
e67cd7369e
Merge pull request #903 from joakimeriksson/rtable-fix
...
avoid updating routes that already are correct
2015-02-09 21:41:52 +01:00
Nicolas Tsiftes
5de85e5335
Merge pull request #906 from joakimeriksson/rpl-conf-copy
...
fixed so that trickle timer and route lifetime rpl config is updated at global repair
2015-02-07 21:23:29 +01:00
Joakim Eriksson
3aa8a62e41
avoid updating routes that already are correct
2015-02-06 21:14:20 +01:00
Joakim Eriksson
6edccf35a6
fixed so that trickle timer rpl config is updated at global repair
2015-02-06 13:50:26 +01:00
Nicolas Tsiftes
010a338630
Merge pull request #904 from joakimeriksson/move-etx
...
moved ETX storage variable from RPL to ds6-nbr
2015-02-06 12:25:35 +01:00
Joakim Eriksson
e7fc14c7a1
fixed comments
2015-02-06 09:22:16 +01:00
Nicolas Tsiftes
2604260653
Merge pull request #896 from simonduq/32bit-align-packetbuf
...
Align packetbuf on an even 32-bit boundary
2015-01-21 23:33:51 +01:00
Adam Dunkels
952e1e4da3
Minor style updates
2015-01-09 09:44:07 +01:00
Adam Dunkels
e4c387615e
If the nameserver pool size is 1, we don't need to maintain a list of servers, but only a single server variable. This saves space.
2015-01-09 09:44:06 +01:00
Víctor Ariño
ccc0d27da0
Integrates uip-nameserver API
...
On the same commit the src have been uncrustified and some typo
fixes as well as includes missing.
2015-01-09 09:44:06 +01:00
Víctor Ariño
27afb5a2ae
Implements RDNSS standard
...
Sends DNS information within RA messages (if enabled)
2015-01-09 09:44:06 +01:00
Víctor Ariño
c97dc2c7da
Add standardized nameserver pool
...
Adds a common in contiki nameserver pool for handling name resolution
servers. This will allow in following commit to use RDNSS messages
within RA.
2015-01-09 09:44:06 +01:00
Roger S
605551f62c
Update rpl.c
...
Removed change to "a RPL"
2015-01-04 23:54:02 -05:00
skaterdude
c0a451c498
Minor typo fixes in comments only
...
Noticed a few minor typos, so skimmed through the file and found a few
more.
2015-01-04 23:42:56 -05:00
Roger S
d62f51d9e7
Update rpl.c
...
Very minor grammar / spelling edits to comments
2015-01-04 18:09:47 -05:00
Nicolas Tsiftes
7841eface3
Merge pull request #911 from cetic/pr-reset-dao-flag
...
Reset nopath_received flag when new DAO is received
2015-01-03 11:38:35 +01:00
Nicolas Tsiftes
79517eb477
Merge pull request #910 from cetic/pr-dio-suppr-disabling
...
Allow disabling of DIO suppression as required by RFC
2015-01-03 11:35:08 +01:00
Nicolas Tsiftes
ebdcf0d6ed
Merge pull request #919 from cetic/pr-ra-user-config
...
Make RA configuration parameters user configurable
2014-12-20 19:18:28 +01:00
Nicolas Tsiftes
f2f49f18f5
Merge pull request #913 from cetic/pr-rpl-stats
...
Fix and add more RPL stats
2014-12-19 22:15:38 +01:00
Laurent Deru
f28e9587ed
Make RA configuration parameters user configurable
2014-12-19 11:24:42 +01:00
Laurent Deru
bb1e0c1cbc
Add missing return values in rpl_update_header_empty()
2014-12-19 11:23:19 +01:00
Laurent Deru
81a92bd692
Send no-path DAO only when the dag has a preferred parent
2014-12-19 10:53:01 +01:00
Laurent Deru
ccbfa388f6
Add more RPL stats
2014-12-19 10:51:03 +01:00
Laurent Deru
21253370b8
Reset nopath_received flag when new DAO is received
2014-12-19 10:49:56 +01:00
Laurent Deru
d540d2b5af
Allow disabling of DIO suppression as required in RFC
2014-12-19 09:51:26 +01:00
Adam Dunkels
542738192f
Bugfix: uip_mss() isn't set until the connection is connected, so we can't set it during socket registration
2014-12-10 09:48:19 +01:00
Adam Dunkels
fc4a83085a
style fixes, cherry-pick this and fixup with ae87790
2014-12-10 09:32:06 +01:00
Joakim Eriksson
5be43c6f8d
moved ETX storage variable from RPL to ds6-nbr
2014-12-10 09:11:53 +01:00
Adam Dunkels
72679a819b
Merge pull request #898 from g-oikonomou/tcp-rst-fix
...
Fill IPv6->Next-Hdr field for outgoing RSTs
2014-12-09 10:48:29 +01:00
Adam Dunkels
ffc27061fe
Correctly set the proto field for the case when tcp_send_noconn is called without tcp_send being called
2014-12-09 09:09:26 +00:00
George Oikonomou
99513f1889
Fill IPv6->Next-Hdr field for outgoing RSTs
2014-12-08 22:00:36 +00:00
George Oikonomou
0dbed5b919
Allow specifying a max outgoing segment size per TCP socket
2014-12-08 21:58:12 +00:00
Nicolas Tsiftes
ce914b3173
Merge pull request #890 from simonduq/cleanup-packetbuf
...
Cleanup packetbuf: use rime attributes and addresses only when rime is e...
2014-12-08 18:20:41 +01:00
Simon Duquennoy
c0d6b116d6
Align packetbuf on an even 32-bit boundary
2014-12-03 19:06:00 +01:00
Nicolas Tsiftes
b6b5c6efbb
Merge pull request #894 from simonduq/ds6-fix
...
Fix conditional compilation directive in uip-ds6.c
2014-12-03 18:26:51 +01:00
Simon Duquennoy
29d631c6f5
Do not use rpl_add_dag when RPL is used with a single dag per instance
2014-12-03 17:40:40 +01:00
Simon Duquennoy
984c8e007b
Fix conditional compilation directive in uip-ds6.c
2014-12-03 17:32:42 +01:00
Nicolas Tsiftes
ee7c847048
Merge pull request #888 from adamdunkels/pr/resolv-fixes
...
Resolv fixes, including CERT VU #210620
2014-12-03 13:18:14 +01:00
Nicolas Tsiftes
f82393b983
Merge pull request #889 from adamdunkels/pr/ip64-fix
...
IP64: randomize source ports for all outgoing connections
2014-12-02 18:27:19 +01:00
Adam Dunkels
d21835a61f
Don't do the debug printout if ipaddr is NULL
2014-12-02 17:11:15 +01:00
Adam Dunkels
990682229c
Automatically initialize the resolv process
2014-12-02 17:11:15 +01:00
Adam Dunkels
19c7ae0dcd
Avoid compiler warning about unused variable
2014-12-02 17:11:15 +01:00
Adam Dunkels
769a2f832e
Fix for CERT VU#210620: randomize DNS request IDs for every request
2014-12-02 17:10:50 +01:00
Simon Duquennoy
bd4233a953
Cleanup packetbuf: use rime attributes and addresses only when rime is enabled. Saves 32 byte per queuebuf in the non-rime case.
2014-12-02 16:54:58 +01:00
Nicolas Tsiftes
397b15f6db
Merge pull request #864 from simonduq/cleanup-network-config
...
Cleanup network config
2014-12-02 16:40:14 +01:00
Adam Dunkels
ad744c6218
Randomize source ports for all outgoing connections. Fix for CERT VU#210620.
2014-12-02 16:08:56 +01:00
Nicolas Tsiftes
3c7268c979
Merge pull request #859 from simonduq/move-packetqueue
...
Moved packetqueue to core/net/rime, as it is only used by the Rime colle...
2014-12-02 13:17:58 +01:00
Simon Duquennoy
415506c3f6
Doxygen fixes
2014-12-02 12:39:16 +01:00
Simon Duquennoy
c2ca3e9fdb
Cleanup UIP_CONF_IPV6_RPL configuration
2014-12-02 12:38:55 +01:00
Simon Duquennoy
a9cc909794
Network layer configuration: replace UIP_CONF_* with NETSTACK_CONF_WITH_*
2014-12-01 21:02:57 +01:00
Simon Duquennoy
e6d758e6f5
Remove now unneeded UIP_CONF_IPV6 guards in net/ipv6 and net/rpl code
2014-12-01 20:13:09 +01:00
Nicolas Tsiftes
d3d33c5699
Merge pull request #836 from lebrush/nbr-ll-nup
...
uip-ds6-nbr: consider reachable node if LL-NUD
2014-12-01 18:12:33 +01:00
Simon Duquennoy
1b73695c75
Moved packetqueue to core/net/rime, as it is only used by the Rime collect protocol
2014-12-01 17:47:00 +01:00
Nicolas Tsiftes
63563ed8df
Merge pull request #652 from cetic/pr-rpl-rank-and-fw-errors
...
RPL rank and forward errors
2014-12-01 17:41:51 +01:00
Víctor Ariño
0f394b220b
uip-ds6-nbr: consider reachable node if LL-NUD
...
The reachable state might also be considered to keep the reachable
state since we are already not standard complaint. This reduces the
nbr discovery messages if nodes talk to each other periodically.
2014-12-01 17:06:14 +01:00
Niclas Finne
d160943f16
Bug fix: Stop the DAO lifetime timer in RPL instances when released.
...
Clearing the memory for an active etimer/ctimer might corrupt the
timer list and cause other timers to be lost or infinite loops. The
DAO lifetime timer is only used when RPL route lifetime is not
infinite but then the timer will cause problems if not stopped.
2014-11-29 00:22:34 +01:00
Nicolas Tsiftes
9b90c378e8
Merge pull request #812 from kkrentz/packetbuf-holds-broadcast
...
packetbuf_holds_broadcast()
2014-11-28 19:15:19 +01:00
Nicolas Tsiftes
47096a1bae
Merge pull request #816 from kkrentz/contikimac-framer-fix
...
ContikiMAC framer fix
2014-11-28 19:12:55 +01:00
kkrentz
6ecbf8af34
ContikiMAC: Retain original copyright
2014-11-25 04:56:09 -08:00
kkrentz
18ee5ce294
ContikiMAC: Added missing length function to contikimac-framer.c
2014-11-25 04:56:09 -08:00
Joakim Eriksson
8e1c52b0ba
Changed sorting order of routing list (optimization).
2014-11-24 09:36:54 +01:00
Nicolas Tsiftes
a8556a7518
Merge pull request #865 from kkrentz/mic-length-fix
...
llsec: Fixed MIC length
2014-11-20 15:11:13 +01:00
Nicolas Tsiftes
e691dec9a4
Merge pull request #828 from oskarnp/pr-ipolite-fix
...
ipolite: stop ctimer and reset queuebuf pointer when canceling old send
2014-11-20 15:10:42 +01:00
Nicolas Tsiftes
866bb99944
Merge pull request #860 from simonduq/frame802154-align
...
frame802154_t: make sure dest_addr and src_addr are aligned
2014-11-18 08:59:30 +01:00
Nicolas Tsiftes
cba5937bd3
Merge pull request #861 from simonduq/queuebuf-field-order
...
Alignment of field `data` in queuebuf
2014-11-18 08:38:23 +01:00
Laurent Deru
35e876e8c6
Force NUD on default routers
2014-11-17 09:55:22 +01:00
Laurent Deru
29f894c07e
Drop forwarding error packet and send back DAO to originating parent
2014-11-14 09:40:05 +01:00
Laurent Deru
a964380155
Rank error packet should not be forwarded
2014-11-14 09:40:04 +01:00
Laurent Deru
778d40dab7
Do not trigger global repair when forwarding error is detected
2014-11-14 09:40:04 +01:00
kkrentz
a3b4e8101d
llsec: Fixed MIC length; reject unsupported security levels
2014-11-13 12:34:37 -08:00
kkrentz
fb00a217f5
packetbuf: Use packetbuf_holds_broadcast() all-over
2014-11-13 09:58:08 -08:00
kkrentz
3e44e8b258
packetbuf: Added function "packetbuf_holds_broadcast()" for checking whether the current packet is a
...
broadcast
2014-11-13 09:46:07 -08:00
Nicolas Tsiftes
fb05d22623
Merge pull request #857 from simonduq/fix-queuebuf
...
Added missing memb_free in queuebuf.c
2014-11-13 17:22:44 +01:00
Enrico Joerns
85b494c16b
[doc] Give files a common structure by placing license first (partial)
...
Followed by doxyen file and group tags.
This patch is only a first attempt to make provide a clean structure,
many more files require rework, too.
2014-11-10 23:54:49 +01:00
Enrico Joerns
5a38788944
[doc] llsec moved in net group
2014-11-10 23:53:34 +01:00
Enrico Joerns
81382d0dcf
[core/net/rime] Avoid equal group titles in same group
2014-11-10 23:53:32 +01:00
Enrico Joerns
e9b5899eed
[core/net/mac] Doxygen: Added frame802154 to net group
2014-11-10 23:53:32 +01:00
Enrico Joerns
863b4b54cc
[core/net/rime] Doxygen fixes
2014-11-10 23:53:32 +01:00
Enrico Joerns
0b8769e576
[doc] Various fixes for doxygen grouping etc.
2014-11-10 23:53:32 +01:00
Enrico Joerns
548321e66d
[doc] moved doxygen parts from core/net/simple-udp.c to corresponding
...
header file
2014-11-10 23:53:32 +01:00
Enrico Joerns
cbca2d6604
[doc] fixed some minor typos
2014-11-10 23:53:31 +01:00
Simon Duquennoy
6b7017452b
frame802154: move inclusion of linkaddr.h from .h to .c file
2014-11-10 15:43:32 +01:00
Simon Duquennoy
df6a435d42
struct frame802154_t: make sure dest_addr and src_addr are aligned
2014-11-10 15:40:24 +01:00
Simon Duquennoy
494c397aba
struct queuebuf_data: swap len with data to make sure data is 32-bit aligned
2014-11-10 14:27:17 +01:00
Simon Duquennoy
c5ec342b8b
Fix deallocation in queuebuf.c, case where QUEUEBUF_STATS is set
2014-11-10 13:24:03 +01:00
Simon Duquennoy
928bb49855
Added missing memb_free in queuebuf.c
2014-11-10 12:00:41 +01:00
Nicolas Tsiftes
6ca95ebc0c
Merge pull request #811 from kkrentz/llsec-renaming
...
llsec renaming
2014-11-07 22:20:15 +01:00
Nicolas Tsiftes
b37489b0de
Merge pull request #766 from cetic/pr-6lowpan-frag-timeout
...
Fix too short 6LoWPAN reassembly timeout
2014-11-07 22:16:00 +01:00
Oskar Nordquist
5e640411f5
core/net/rime/ipolite: stop ctimer and reset queuebuf pointer when canceling old send
...
Ipolite is used by netflood and route-discovery modules among others. If a route request is yet to be re-broadcasted and a local route discovery is started (interval == 0), the previous queuebuf used is freed but ctimer and queuebuf pointer is left unchanged. This causes corrupt route requests to be sent, invalid routing tables to be formed, memcmp() on NULL pointer on receive, and other undefined behavior.
Signed-off-by: Oskar Nordquist <oskar.nordquist@crlsweden.com>
2014-10-21 15:25:52 +02:00
Nicolas Tsiftes
6fb7dd238e
Merge pull request #648 from cetic/pr-csma-fixes
...
High throughput fixes for csma and sixlowpan
2014-10-21 12:17:03 +02:00
kkrentz
0579e304e4
llsec: Renamed ccm to ccm_star & Renamed llsec regression test
2014-10-16 09:21:56 -07:00
Nicolas Tsiftes
fd47acba09
Merge pull request #808 from adamdunkels/pr/ip64
...
Conversion functions for IPv4/IPv6 addresses (missing from the NAT64 pr)
2014-10-10 00:42:37 +02:00
Adam Dunkels
5a24a781d5
The ip64-addr module converts between IPv4 and IPv6 addresses.
2014-10-09 08:07:34 +02:00
Nicolas Tsiftes
0a88764185
Merge pull request #804 from adamdunkels/pr/ip64
...
NAT64 for Contiki (RFC6164, RFC6147)
2014-10-08 19:41:09 +02:00
Adam Dunkels
d891d11324
Merge pull request #557 from kkrentz/llsec-integration
...
Integration of Link Layer Security
2014-10-08 15:45:46 +02:00
Joakim Gebart
24d15ad9a5
core/net/ip: Prevent (tiny) buffer overflow in resolv_found()
...
An off-by-one error in resolv_found() could make an strncat() call
overflow by the terminating null byte.
When building with Clang the following warning was shown:
../../../core/net/ip/resolv.c:1458:17: warning: the value of the
size argument in 'strncat' is too large, might lead to a
buffer overflow [-Wstrncat-size]
sizeof(resolv_hostname) - strlen(resolv_hostname));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../core/net/ip/resolv.c:1458:17: note: change the argument to
be the free space in the destination buffer minus the
terminating null byte
sizeof(resolv_hostname) - strlen(resolv_hostname));
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sizeof(resolv_hostname) - strlen(resolv_hostname) - 1
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
2014-10-02 12:52:39 +02:00
Adam Dunkels
49cb87025e
README file for the IP64 module
2014-09-14 21:26:33 +02:00
Adam Dunkels
c77bc6d3f1
NAT64 / DNS64 code for Contiki that makes connecting an IPv6 Contiki network to IPv4 networks really easy
2014-09-14 21:26:23 +02:00
Laurent Deru
7cbd59df03
Add per neighbor packet throttle
2014-08-13 10:11:02 +02:00
Laurent Deru
91d84a3086
Improve csma debug traces
2014-08-13 10:11:02 +02:00
Laurent Deru
68b9412776
Drop packet if there are not enough free buffers to perform fragmentation
2014-08-13 10:11:02 +02:00
Laurent Deru
704e32015b
Fix too short 6LoWPAN reassembly timeout
2014-08-06 16:56:37 +02:00
kkrentz
677c078302
sicslowpan: Fixed too aggresive fragmentation
2014-08-05 05:07:06 -07:00
kkrentz
2cf7d98cad
ContikiMAC: Create and parse ContikiMAC header in special framer; Expanded framer interface
...
to allow for creating and securing frames in advance; Create and secure frames in advance when sending bursts; Do neither recreate nor resecure frames that come from phase
2014-08-05 05:07:06 -07:00
kkrentz
515287ef17
llsec: Removed superseded NETSTACK_ENCRYPT, NETSTACK_DECRYPT, and
...
NETSTACK_ENCRYPTION_INIT macros
2014-08-05 05:07:05 -07:00
kkrentz
c032b67969
llsec: Noncompromise-resilient 802.15.4 security
2014-08-05 05:07:05 -07:00
kkrentz
d8851df858
llsec: Replay protection
2014-08-05 05:07:05 -07:00
kkrentz
41c5dbf961
llsec: Disable duplicate detection when the LLSEC driver provides replay protection anyway.
2014-08-05 05:07:05 -07:00
kkrentz
d161ffcb64
llsec: Allow for sharing CCM*
2014-08-05 05:07:05 -07:00
kkrentz
07ef46a6e2
llsec: Allow for sharing endianness functions
2014-08-05 05:04:15 -07:00
kkrentz
eaae9f1100
llsec: Calling NETSTACK_LLSEC.on_frame_created()
2014-08-05 05:04:15 -07:00
kkrentz
8659c97fb0
framer-802154: Support for explicit keys
2014-08-05 05:04:15 -07:00
kkrentz
124dde25f3
framer-802154: Conditional compilation of security-related code
2014-08-05 05:04:14 -07:00
kkrentz
fb6d2270ab
framer-802154: Simplification of frame802154_create
2014-08-05 05:04:14 -07:00
kkrentz
11495a011c
framer-802154: Renamed variable for the sake of consistency
2014-08-05 05:04:14 -07:00
kkrentz
1d324e50d2
framer-802154: Sequence number fix
2014-08-05 05:04:14 -07:00
kkrentz
9dc9e4bd9f
framer-802154: Support for setting and accessing the frame type
...
attribute
2014-08-05 05:04:14 -07:00
kkrentz
19c9ef0a95
framer-802154: Support for creating and parsing frames with security headers
2014-08-05 05:04:14 -07:00
kkrentz
be22883724
framer-802154: Introduced mnemonic variable
2014-08-05 05:04:14 -07:00
kkrentz
c9ad9c04bd
framer-802154: Style fixes
2014-08-04 01:09:57 -07:00
kkrentz
a5a9b42457
packetbuf: Made packetbuf_hdrlen applicable to inbound packets, too
2014-08-04 01:09:57 -07:00
kkrentz
bb74fc320f
llsec: Configuration option for defining a constant LoWPAN-wide security level
2014-08-04 01:09:57 -07:00
kkrentz
c396a85364
llsec: Added a layer in between NETSTACK_MAC and NETSTACK_NETWORK for implementing link layer security
2014-08-04 01:09:57 -07:00
Nicolas Tsiftes
582bfcb8c6
Merge pull request #696 from sieben/doc
...
Correct several doxygen tags (\file,...)
2014-07-28 11:42:41 +02:00
Rémy Léone
8c3fa17ec0
Correct several doxygen tags (\file)
2014-07-28 11:11:45 +02:00
Nicolas Tsiftes
ccc75404f4
Merge pull request #711 from gebart/upstream-fix-implicit-definitions
...
uip.h missing #include <string.h>
2014-07-02 16:36:03 +02:00
Rémy Léone
f111058472
Removing trailing whitespaces
2014-06-30 20:01:05 +02:00
Laurent Deru
02972e6514
Improve RPL hop-by-hop option detection
2014-06-27 09:45:57 +02:00
Laurent Deru
d45782fbcd
Insert properly Hop-by-Hop option at first hop
2014-06-27 09:45:51 +02:00
Laurent Deru
2dfe2c377f
Setting uip_ext_len again breaks hop-by-hop option
2014-06-27 09:43:53 +02:00
Laurent Deru
b6742e5eb5
Sender rank in Hop-by-Hop option has inverted bytes
2014-06-27 09:43:53 +02:00
George Oikonomou
32a7572f25
Fix SDCC Compile Error
2014-06-17 22:20:49 +01:00
Sébastien De Fauw
22caf4b2e1
Prefix Information Option never send in RA messages
...
The problem came from the fact that there two opposite macro (UIP_CONF_ROUTER) that could not activate the code responsible to send the PIO option in NDP.
2014-06-17 11:41:43 +02:00
Sébastien De Fauw
b441901321
IPv6 host adds prefixes successfully but return always NULL
...
In Neighbor Discovery Protocol, when IPv6 host adds a prefix (coming from PIO) but it is always failing whatever if is successfully add in prefix table. The reason comes from the fact that the function uip_ds6_prefix_add in host version always return NULL. This is opposite of the specification of the router version.
2014-06-17 11:38:07 +02:00
Nicolas Tsiftes
24e260910c
Merge pull request #718 from g-oikonomou/rpl-dodagid-compliance
...
Make DODAG ID selection RFC 6550-compliant
2014-06-13 15:33:56 +02:00
Nicolas Tsiftes
4ce3e4dee8
Merge pull request #701 from tim-ist/routing_fix
...
Re-create a routing table entry if the next hop is changed.
2014-06-13 14:56:56 +02:00
Timofei Istomin
65ef375bdb
Re-create a routing table entry if the next hop is changed.
...
The next-hop address did not get updated in the routing table
in case an entry for the destination already existed.
This patch resolves the issue by removing the entry and
having it re-created from scratch.
The issue causes a routing error triggering reconstruction of
the DODAG through version increase.
In case of somewhat frequent downward traffic in not (yet) stabilized DODAG
a vicious circle is formed: unstable topology means churn, downward
routing under churn causes reconstruction of DODAG. In this situation
the network does not have chance to stabilize.
We encountered a constant churn caused by this bug
in a network of 50 nodes and a periodic traffic (a packet every 5
seconds) generated at the root.
More info and a PCAP demonstrating the issue can be found here:
https://github.com/contiki-os/contiki/issues/496
2014-06-13 13:31:15 +02:00
George Oikonomou
32bc98b0da
Fix code style in rpl_set_root prototype
2014-06-11 23:59:17 +01:00
Adam Dunkels
cff30a394b
Merge pull request #635 from nfi/linkaddr-size
...
Use LINKADDR_SIZE instead of sizeof(linkaddr_t) to avoid struct padding problems.
2014-06-11 23:18:27 +02:00
Adam Dunkels
eceaf0c59b
Merge pull request #631 from nfi/framer-len
...
Added function to framer that returns the estimated header length
2014-06-11 23:17:47 +02:00
Adam Dunkels
0516927677
Merge pull request #666 from simonduq/rpl-etx-init
...
Set initial link ETX to 2
2014-06-11 22:42:48 +02:00
Joakim Gebart
997aef49d8
core/net/uip.h: Add missing #include <string.h>
...
Fixes implicit definition of memcmp() warnings/errors.
Signed-off-by: Joakim Gebart <joakim.gebart@eistec.se>
2014-06-11 18:04:34 +02:00
Rémy Léone
25c8b0835d
Closing doxygen groups
2014-05-30 11:01:20 +02:00
Nicolas Tsiftes
443bbd3948
Merge pull request #664 from simonduq/rpl-link-metric-init-fix
...
RPL MRHOF: bypass EWMA when setting a parent's link metric for the first time
2014-05-14 16:42:29 +02:00
Jens Dede
8820597cca
Merge branch 'master' of git://github.com/contiki-os/contiki into ds6_period_configurable
2014-05-08 09:27:43 +02:00
Simon Duquennoy
5aab392a22
Set default link ETX to 2
2014-05-07 16:27:24 +02:00
Nicolas Tsiftes
f34165bda4
Merge pull request #647 from cetic/pr-select-dag-fix
...
rpl_select_parent: Only check parents belonging to the given dag
2014-05-07 16:13:47 +02:00
Nicolas Tsiftes
812a0299a8
Merge pull request #649 from cetic/pr-dio-preference-fix
...
Add user configuration of DIO preference field
2014-05-07 16:12:56 +02:00
Simon Duquennoy
33cfd92475
RPL MRHOF with ETX: bypass weighted moving average when setting a parent's link metric for the first time
2014-04-29 16:25:16 +02:00
Laurent Deru
3b503da680
Add user configuration of DIO preference field
2014-04-18 16:26:23 +02:00
Laurent Deru
3fb0d69be6
Remove duplicated configuration parameters definition
2014-04-18 15:37:31 +02:00
Jens Dede
446208dc1c
Merge branch 'master' of git://github.com/contiki-os/contiki into ds6_period_configurable
2014-04-18 13:33:01 +02:00
Jens Dede
96a70f9ab0
Rename as suggested by g-oikonomou
2014-04-18 13:32:40 +02:00
Laurent Deru
79537a6dd7
rpl_select_parent: Only check parents belonging to the given dag
2014-04-18 11:39:33 +02:00
Nicolas Tsiftes
ce2ed95b93
Merge pull request #585 from g-oikonomou/generic-icmp6-in-hooks
...
Generic ICMPv6 input hooks
2014-04-14 16:12:10 +02:00
Niclas Finne
b1335b08a8
Changed to use LINKADDR_SIZE instead of sizeof() to select between
...
short address and long address as some platforms might use padding in
the struct. This fixes #555 .
2014-04-11 17:24:16 +02:00
Niclas Finne
68730566a3
Added method to framer that returns the header length if the framer
...
would create a header with the current packet information.
This allows sicslowpan to calculate the max payload size without
consuming a sequence number or clearing/restoring the packet buffer.
2014-04-11 17:03:23 +02:00
Nicolas Tsiftes
3829860c3c
Merge pull request #620 from adamdunkels/push/socket-api
...
New TCP and UDP socket APIs
2014-04-09 22:12:59 +02:00
Nicolas Tsiftes
a7dbf46b8e
Merge pull request #608 from nvt/rpl-fixes
...
Minor RPL improvements
2014-04-07 11:13:38 +02:00
George Oikonomou
529ab761ac
Register generic ICMPv6 handlers for ROLL TM
2014-04-04 00:09:29 +01:00
George Oikonomou
017697f91d
Register generic ICMPv6 handlers for RPL
2014-04-04 00:09:27 +01:00
George Oikonomou
1d3da44991
Register generic ICMPv6 handlers for IPv6 ND
2014-04-04 00:09:26 +01:00
George Oikonomou
af43d2125b
Register generic handlers for ICMPv6 Echo Request / Reply
2014-04-04 00:02:53 +01:00
George Oikonomou
1d84962e80
Replace old switch-based ICMPv6 type/code management
2014-04-04 00:02:53 +01:00
George Oikonomou
b6978b30e8
Declare and Implement generic ICMPv6 handler management
2014-04-04 00:02:52 +01:00
Nicolas Tsiftes
429024f0a1
Merge pull request #609 from adamdunkels/push/csma-fix
...
CSMA bugfix: count transmissions correctly
2014-03-28 17:27:30 +01:00
Nicolas Tsiftes
0a202d3952
Cleaned up some of the comments and output strings.
2014-03-28 13:38:52 +01:00
Nicolas Tsiftes
afbb82030e
Ensure that the objective function's reset function is called at least once. This will enable the objective function to initialize itself during run-time.
2014-03-28 13:38:52 +01:00
Nicolas Tsiftes
7f4d3e3d7b
Avoid calling rpl_lock_parent for uninitialized memory. Renamed p to parent to make reading easier.
2014-03-27 15:55:38 +01:00
Nicolas Tsiftes
1c560fb9db
The check should be whether RPL_DIS_SEND is non-zero, not whether it is defined.
2014-03-27 15:44:18 +01:00
Nicolas Tsiftes
5aca90e73d
Use the same scale for ETX calculation as for rank calculations to avoid conversion errors between the two.
2014-03-27 15:44:15 +01:00
Adam Dunkels
d53ba5aa3c
The TCP socket API code
2014-03-24 08:42:28 +01:00
Adam Dunkels
d1d82eb179
The UDP socket API code
2014-03-24 08:42:13 +01:00
Adam Dunkels
5b1a9f5bc2
Bugfix: when a packet is sent by the RDC layer, we should count the number of transmissions made because a single callback can pertain to multiple transmissions at the RDC layer.
2014-03-24 08:36:18 +01:00
George Oikonomou
e044fa5cab
Factor out multicast stats
2014-03-05 21:04:50 +00:00
George Oikonomou
54b55e96c4
Check Tactive irrespective of suppression
2014-03-05 20:31:19 +00:00
George Oikonomou
9f4cdab1fb
Don't advertise datagrams older than Tactive
2014-03-05 20:31:19 +00:00
George Oikonomou
775928fa3f
Improve sliding window inclusion in ICMPv6 messages
...
Don't include a sliding window in the ICMPv6 datagram
unless the window has at least one active datagram
associated with it
2014-03-05 20:31:19 +00:00
George Oikonomou
7fb99ed7c2
Point to the correct trickle param
2014-03-05 20:31:18 +00:00
George Oikonomou
230881df44
Multicast README
2014-03-05 20:31:17 +00:00
George Oikonomou
226701b098
Implement multicast engine hooks in the uIPv6 core
...
- init()
- process incoming multicast datagram
- Pass ICMPv6 trickle messages to the engine
2014-03-05 20:31:16 +00:00
George Oikonomou
151533b9bc
Implementation of the Trickle multicast engine
2014-03-05 20:31:16 +00:00
George Oikonomou
6f3a1eb032
Implementation of the SMRF multicast engine
2014-03-05 20:31:16 +00:00
George Oikonomou
da4ce5b54d
RPL Multicast group management with MOP 3
2014-03-05 20:31:15 +00:00
George Oikonomou
0ad09aa842
We now know how to select our source address for outgoing routable multicast datagrams
2014-03-05 20:31:15 +00:00
George Oikonomou
64c21638cd
Multicast routing table manipulation
...
We store multicast routes in a separate table since we don't need
as much information as we need for normal routes
2014-03-05 20:31:15 +00:00
George Oikonomou
e85d935ccc
Multicast common header files
2014-03-05 20:31:15 +00:00
George Oikonomou
68c5584488
New uip_is_addr macros for multicast addresses
2014-03-05 20:31:14 +00:00
George Oikonomou
be098f39e8
Define a new ICMPv6 message type for Trickle Multicast
...
Pending IANA allocation, we currently use private experimentation
2014-03-05 20:31:14 +00:00
George Oikonomou
067bbc9ee0
Check for DAO fwd loop early, before processing DAO options
2014-03-05 20:18:14 +00:00
Jens Dede
5e5b6fc3f4
Make the period for the uip-ds6 periodic task configurable
2014-02-07 12:34:49 +01:00
Oliver Schmidt
e16521e5c1
Merge pull request #550 from oliverschmidt/master
...
Avoid compiler warnings.
2014-01-31 16:22:53 -08:00
Oliver Schmidt
a94e7e63e2
Avoid compiler warnings.
2014-02-01 00:46:57 +01:00
Adam Dunkels
47e4113845
Changed the variable names that access the packetbuf code so that they are called packetbuf_* instead of rime_*
2014-01-29 23:02:00 +01:00
Adam Dunkels
45265249fc
Changed the name of the rimeaddr module to linkaddr
2014-01-29 20:12:24 +01:00
Adam Dunkels
765e9acded
Merge pull request #499 from adamdunkels/bold/modularize-everything
...
A bold move: modularize everything
2014-01-29 08:17:10 -08:00
Adam Dunkels
b6c4f50bea
Merge pull request #538 from cskiraly/collect-fixes
...
collect: making some protocol parameters configurable by COLLECT_CONF_
2014-01-26 14:23:08 -08:00
Adam Dunkels
bddd96d5c8
Removed all module makefiles. Instead, all .c files in a module directory are compiled.
2014-01-26 23:20:46 +01:00
Adam Dunkels
fce84c178c
Removed unused rime-udp code
2014-01-26 23:20:45 +01:00
Adam Dunkels
8eace27f9b
Moved net/rime.h to net/rime/rime.h
2014-01-26 23:20:45 +01:00
Adam Dunkels
112e0d6855
Removed reliance on the core/net/ipv4 module
2014-01-26 23:20:37 +01:00
Adam Dunkels
0fe08205e1
Moved the rimeaddr.[ch] code from the core/net/rime module to the core/net module, as it is used not only by rime code
2014-01-26 23:20:36 +01:00
Adam Dunkels
0a7733c1ab
IPv6 module should also include the core/net/rpl module
2014-01-26 23:20:30 +01:00
Adam Dunkels
7e29601639
Turn core/net/rpl into a module
2014-01-26 23:20:29 +01:00
Adam Dunkels
0f255606b0
Turned sicslowmac into a module
2014-01-26 23:20:28 +01:00
Adam Dunkels
bc336007c4
Include the core/net module by default in the core/net/ip module
2014-01-26 23:20:27 +01:00
Adam Dunkels
0b805e4763
Moved the cc2420 driver into a separate dev/cc2420 module
2014-01-26 23:20:27 +01:00
Adam Dunkels
b78ab6753c
Added makefiles to make core/net/mac into a separate module
2014-01-26 23:20:26 +01:00
Adam Dunkels
d777ae14e4
Moved cxmac into a separate module
2014-01-26 23:20:26 +01:00
Adam Dunkels
083fe0b594
Moved the contikimac code into a core/net/mac/contikimac module
2014-01-26 23:20:25 +01:00
Adam Dunkels
41050794a4
Include the core/net and core/net/ip modules in the core/net/ipv6 module
2014-01-26 23:20:25 +01:00
Adam Dunkels
c80615913f
Include the core/net and core/net/ip modules in the core/net/ipv4 module
2014-01-26 23:20:25 +01:00
Adam Dunkels
d10a0f8830
Made the rime code into a separate module
2014-01-26 23:20:24 +01:00
Adam Dunkels
cb02e67b29
Replaced the old Makefile.uip with module makefiles
2014-01-26 23:20:24 +01:00
Adam Dunkels
5f3fe7f7c7
Updated include paths for the moved files under net/
2014-01-26 23:20:23 +01:00
Adam Dunkels
afdeed1c64
Moved IPv6 files into the net/ipv6 module
2014-01-26 23:20:22 +01:00
Adam Dunkels
06c83ffb91
Moved IPv4 files into the net/ipv4 module
2014-01-26 23:20:21 +01:00
Adam Dunkels
65eba46be2
Moved all generic IP files into the net/ip module
2014-01-26 23:20:21 +01:00
Adam Dunkels
17d48c6d7a
Merge pull request #504 from adamdunkels/push/ping-reply-api
...
A ping reply API
2014-01-26 14:03:21 -08:00
Martin Heusse
662eb4db14
Fix compilation error when DEBUG enabled in core/net/mac/framer-nullmac.c
2014-01-24 20:23:26 +01:00
Csaba Kiraly
d1822b5880
collect: making some protocol parameters configurable by COLLECT_CONF_ style defines
...
TTL (which has a rather low default of 15), MAC level retransmissions,
overall number of retransmissions, and the header bits dedicated to these
were all fixed in the collect.h and collect.c, without a simple way to
override them.
Extracted these as COLLECT_CONF_ parameters, keeping defaults as they were
before.
Signed-off-by: Csaba Kiraly <kiraly@disi.unitn.it>
2014-01-24 12:53:16 +01:00
Adam Dunkels
c8c7c4ae3a
Add comments to the #else and #endifs to make it clearer to what #ifdef they belong.
2014-01-21 20:58:31 +01:00
Adam Dunkels
9e8733e57a
Correct the operator in the comment so that it matches the actual #if
2013-12-18 08:35:06 +01:00
Adam Dunkels
9114cd3215
Added an API for getting a callback when a ping reply is received.
2013-12-13 08:36:51 +01:00
Adam Dunkels
a6a081e67d
Fixed a severe error in the bugfix: the conditional was reversed. The check must be if the TCP MSS is larger than the BUFSIZE and not the other way around.
2013-12-12 22:43:28 +01:00
Adam Dunkels
ef83850e63
Removed redundant #ifdef
2013-12-12 22:20:20 +01:00
Adam Dunkels
c0b3c87ba7
Make 0 the default link-layer header length, as far as uIP is concerned. Most currently used linke layers (specifically, 802.15.4) has adaptation layers that use separate buffers, so there is no need to reserve space in the uIP buffer.
2013-12-12 22:20:09 +01:00
Adam Dunkels
c7e0fa7152
Moved #defines so that UIP_TCPIP_HLEN and UIP_LLH_LEN are defined before they are used
2013-12-12 20:57:35 +01:00
Nicolas Tsiftes
a8a9b66eff
Merge pull request #457 from adamdunkels/push/uip6-bugfixes
...
IPv6 bugfixes
2013-12-12 05:02:39 -08:00
Nicolas Tsiftes
75cbf4f48a
Merge pull request #479 from adamdunkels/push/cleanup-xmac-and-lpp
...
Remove xmac.c and lpp.c
2013-12-04 04:57:27 -08:00
Nicolas Tsiftes
7b1e3d1c94
Merge pull request #460 from adamdunkels/push/routelist
...
IPv6 routes LRU
2013-11-29 05:23:05 -08:00
Adam Dunkels
0908924f91
Removed the lpp.c code
2013-11-28 15:24:40 +01:00
Adam Dunkels
f86aaf7c14
Removed the xmac.c code
2013-11-28 15:24:22 +01:00
Nicolas Tsiftes
db4cada4e7
Merge pull request #462 from adamdunkels/push/no-reserved-double-inclusion-defines
...
Remove all leading double underscore inclusion #defines
2013-11-26 14:26:37 -08:00
Benoît Thébaudeau
4deba89f81
rdc: duplicate packets: Keep only the last sequence number for each address
...
According to IEEE 802.15.4e (§6.4.3.9), in order to detect duplicate received
MAC-layer frames, only the most recently received frame's sequence number needs
to be stored for each unique device address. Doing so limits the possible false
duplicate packet detections to a single sequence number. This also allows to
keep the last sequence number of more device addresses for the same value of
MAX_SEQNOS.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Benoît Thébaudeau
477a4a7178
rdc: duplicate packets: Factor out detection code
...
The code detecting duplicate packets in the RDC layer had been copied into most
RDC implementations. Factor it out into a new mac-sequence module in order to
have a single instance of this code.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Benoît Thébaudeau
14db3382af
csma: Initialize sequence number with random value
...
According to IEEE 802.15.4 (§5.1.6.1, §6.4.2), the MAC sequence numbers should
be initialized to random values. This was already the case in
framer-802154.c:create(), but not in csma.c:send_packet(), sometimes causing
false detections of duplicate MAC-layer packets in other devices when a device
was restarted too quickly. This patch decreases the probability of such an
event.
Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
2013-11-25 13:01:11 +01:00
Nicolas Tsiftes
acee82abbb
Merge pull request #456 from adamdunkels/push/6lowpan-changes
...
6lowpan changes
2013-11-24 15:37:12 -08:00
Adam Dunkels
bb2dcaa057
A massive all-tree automated update of all double inclusion guard #defines that changes from using two underscores as a prefix, which are reserved, to not using two underscores as a prefix
2013-11-24 20:20:11 +01:00
Nicolas Tsiftes
7283e48f09
Merge pull request #454 from adamdunkels/push/dao-updates-rebased
...
RPL feather mode
2013-11-24 07:49:49 -08:00
Adam Dunkels
b0460317b8
Moved variable declaration to the start of the function block
2013-11-24 15:17:52 +01:00
Adam Dunkels
faff1c2a7e
Preliminary support for RPL node types. This change allows a node to be in any of three given types:
...
* Mesh: this is the normal case. Nodes route data on behalf of others and the node can be reached via a DAO route.
* Leaf: the node does not route data on behalf of others, but others can route data to the node (it has a RPL DAO route).
* Feather: this is a new type of node. A feather node routes data on behalf of others, but does not install DAO routes in the network. Feather nodes allow having a larger number of nodes than the RPL network can sustain in terms of routing tables.
This commit introduces the RPL node types and the feather mode, but does not add support for the leaf node type.
2013-11-24 15:17:52 +01:00
Adam Dunkels
af24d07848
Forward no-path DAOs up the tree to allow the root to repair the network if needed
2013-11-24 15:17:52 +01:00
Adam Dunkels
9039b0ecd8
Remove references to the now unused dag->parents list
2013-11-24 15:17:52 +01:00
Adam Dunkels
4e6fe7dda6
Add a neighbor table entry if a DAO is received from a node where we don't yet have a neighbor table entry.
2013-11-24 15:17:52 +01:00
Adam Dunkels
490791eaa4
Add a check for the case when the parent neighbor may have gone away to avoid using a NULL pointer
2013-11-24 15:17:52 +01:00
Adam Dunkels
0ed7db0f9b
Slight improvements in debug messages
2013-11-24 15:17:52 +01:00
Adam Dunkels
fc1adec1b8
Made it a bit more clear what function that gets called when a neighbor is removed
2013-11-24 15:17:51 +01:00
Adam Dunkels
61ea7fbb1c
RPL DAO timers and management:
...
* Added a DAO lifetime timer that sends out a new DAO after half the lifetime of the DAO. This allows implementing DAO route soft state that avoids routing tables in the network keeping stale routes for ever.
* Added ways to schedule a new DAO transmission as well as cancelling an active DAO transmit timer, which makes it possible to do nodes that don't send DAOs.
2013-11-24 15:17:51 +01:00
Adam Dunkels
454088c117
Removed old, unused rawpacket code
2013-11-24 11:02:35 +01:00
Adam Dunkels
19b32c54c0
Removed the old unused hc.[ch] code
2013-11-24 11:02:35 +01:00
Adam Dunkels
9819c5b5b8
Rewrote the IPv6 route management so that all routes are maintained on a list that is ordered by the time at which the route was accessed. If a new route is added to the system, the oldest route is dropped.
2013-11-22 18:00:47 +01:00
Adam Dunkels
ea4bc3816f
Produce an error if the UIP_TCP_MSS is too large for UIP_BUFSIZE
2013-11-22 15:46:48 +01:00
Adam Dunkels
61a8fa9977
Allow the default TTL to be configured with UIP_CONF_TTL
2013-11-22 15:44:48 +01:00
Adam Dunkels
d577d03e21
Bugfix: correctly handle the case if uip_sappdata is NULL.
2013-11-22 15:38:20 +01:00
Adam Dunkels
f31d6f271f
Bugfix: if a SYN is received in the SYN_RCVD state we should not send a blank SYN, but a SYNACK in response.
2013-11-22 15:37:21 +01:00
Adam Dunkels
b31e84649a
If the 6lowpan layer is currently reassembling a packet, and a non-fragmented packet comes along, this is a sign that one of the fragments were lost (as they normally would arrive back-to-back, in sequence). So we'll grab the non-fragmented packet instead of dropping it.
2013-11-22 15:12:02 +01:00
Adam Dunkels
3788b08780
Added a way to get the RSSI of the last received packet
2013-11-22 15:10:44 +01:00
Ari Suutari
c1c64dd1cc
Received UDP packet was counted twice in statistics, first in udp_input and then again in udp_found.
...
Fix this to use same logic as in uip.c: valid packet is counted only in udp_found.
2013-11-22 08:16:05 +02:00
Nicolas Tsiftes
0e24fb0bc0
Merge pull request #432 from adamdunkels/push/154-len
...
Allow the 802.15.4/6lowpan code to operate on packets larger than 256 bytes
2013-11-20 05:23:26 -08:00
Nicolas Tsiftes
263e212427
Merge pull request #431 from adamdunkels/push/ipv6-const
...
Make IP addresses const
2013-11-20 04:26:05 -08:00
Nicolas Tsiftes
d183b87f4b
Merge pull request #434 from adamdunkels/push/cleanup-sys
...
Remove old unused code from the core/sys/ directory
2013-11-19 09:53:57 -08:00
Adam Dunkels
84fd0f9ae1
Removed out-commented timetable code
2013-11-19 08:21:53 +01:00
Adam Dunkels
5e9a76d38e
Removed old unused tcpdump.c code
2013-11-19 00:24:18 +01:00
Adam Dunkels
f9cb6ec2fa
Added the const keyword to IP address arguments that are not (and should not be) changed by the callee
2013-11-18 00:55:57 +01:00
Adam Dunkels
f26e35cffa
Allow the 6lowpan code to handle packets larger than 256 bytes
2013-11-16 14:44:14 +01:00
Adam Dunkels
bec721d313
Allow payload len to be larger than 256 bytes
2013-11-16 14:22:48 +01:00
Laurent Deru
fd97136fee
As RPL Root, drop an incoming DIO from the same instance but different DAG
2013-11-15 08:48:29 +01:00
Adam Dunkels
a6227e1e3e
Merge pull request #350 from AriZuu/udp-stats-fix
...
Fix UDP statistics.
2013-11-14 23:39:16 -08:00
Ari Suutari
8ffd29616a
Fix UDP statistics also in ipv6 code.
2013-11-15 08:00:41 +02:00
Nicolas Tsiftes
5688650f6d
Merge pull request #391 from cetic/fix-duplicate
...
Removed duplicate code in rpl-icmp6
2013-11-14 12:35:24 -08:00
Simon Duquennoy
03dcca15cb
Implement a truncated exponential backoff for csma
2013-11-14 15:02:36 +01:00
Sébastien Dawans
a60d3bf6cf
Removed duplicate code in rpl-icmp6
2013-10-23 15:43:16 +02:00
Enrico Joerns
4ba22102fd
[core/net/mac] Removed invalid struct member u8 in PRINTADDR
2013-10-15 01:43:26 +02:00
Simon Duquennoy
677b5ede16
Fixed printout that used deprectated rpl_parent_t structure
2013-10-08 14:46:55 +02:00
Adam Dunkels
4e1beb3ed3
Merge pull request #361 from nvt/rpl-mrhof-fix
...
MRHOF fixes
2013-10-07 11:45:31 -07:00
Adam Dunkels
bf7edf6c4c
Merge pull request #354 from lab11/core-net-fixes
...
Small fixes to networking files
2013-09-26 23:43:07 -07:00
Nicolas Tsiftes
43b5425493
Cleaned up various fragments and fixed a compilation error that occured when switching metric container.
...
Fixed a wrapping problem in the ETX EWMA calculation.
Corrected the multiplier of the link metric, and simplified the configuration
so that the user does not need to specify the multiplier.
2013-09-23 15:58:42 +02:00
Adam Dunkels
50395666fc
Merge pull request #341 from ismb-pert/fix-lladdr
...
Fixed fail to build from source due to a bad &nbr->lladdr
2013-09-14 03:24:12 -07:00
Zhen-Huan Hwang
b5815e8509
Fixed a typo in net/uipopt.h
2013-09-11 18:30:31 +03:00
Brad Campbell
bc762b6dd6
Small fixes to networking files
...
1. Added #include header
2. Fixed #defines that weren't updated
3. Small change to comment that now points to correct RFC section
2013-09-09 20:48:11 -04:00
Oliver Schmidt
c4bba3e89a
Removed unnecessary code from resolver.
2013-09-09 21:35:51 +02:00
Gianfranco Costamagna
2afea590f7
Fixed fail to build from source due to a bad "&nbr->lladdr" reference
2013-09-06 22:11:19 +02:00
Ari Suutari
35c7314093
Fix UDP statistics.
2013-09-05 20:37:01 +03:00
Oliver Schmidt
e0ddea2a17
Removed unnecessary code from resolver.
2013-09-01 20:23:11 +02:00
Sébastien Dawans
78e807403c
Inserts missing IPv6 Hop-By-Hop RPL Option at first hop
2013-08-19 21:40:24 +02:00
Adam Dunkels
86e247025a
Removed debugging printout that came before a local variable declaration, which seems to have broken sdcc
2013-08-19 17:48:33 +02:00
Adam Dunkels
bfd7e5f25b
Fixed a few bugs in the route handling code. While bughunting, rewrote parts of the code to make its intention clearer. Also added a bunch of comments to make the logic of the code more evident.
2013-08-19 17:48:32 +02:00
Adam Dunkels
8dc4e46968
Check if the nexthop neighbor for a given route has disappeared. If so, we drop the route too. If we happen to be the RPL root, we also initiate a global repair as the neighbor may moved.
2013-08-19 17:48:32 +02:00
Adam Dunkels
d0a939afb0
Bugfix: must multiply with ETX divisor to turn into fixed-point format.
2013-08-19 17:48:32 +02:00
Adam Dunkels
4d0ecaae02
Make sure our parent's IP address isn't NULL.
2013-08-19 17:48:32 +02:00
Adam Dunkels
e5a6565137
Loop detection via DAO: if we get a DAO from a parent, that parent thinks we are its parent. We poison it and recalulate our parents.
2013-08-19 17:48:32 +02:00
Adam Dunkels
34119b7ef2
Poor man's loop reparation: reset the DIO timer and hope the neighbor learns a better route.
2013-08-19 17:48:32 +02:00
Adam Dunkels
d830e9df3f
Implement forwarding error handling: if a packet changes direction, we set the FWD_ERR flag. If we see the FWD_ERR flag, we drop the route that we sent it to. If we are the root node, we also initiate a global repair.
2013-08-19 17:48:31 +02:00
Adam Dunkels
abb3ef9b3b
Bugfix: don't set the parent if the dag is NULL
2013-08-19 17:48:31 +02:00
Adam Dunkels
08761dfd8a
Added a function uip_ds6_nbr_num() for getting the number of neighbors
2013-08-19 17:48:31 +02:00
Adam Dunkels
a027832f94
Fixed a bunch of compiler warnings
2013-08-19 17:48:31 +02:00
Adam Dunkels
9a74ada90c
Added a function rpl_get_parent_link_metric() for obtaining the link metric of a given parent
2013-08-19 17:48:31 +02:00
Adam Dunkels
c52fc2fd19
Defensive programming: check for the argument being NULL.
2013-08-19 17:48:31 +02:00
Adam Dunkels
b42ccaed1b
Added function prototypes to a number of functions with void arguments
2013-08-19 17:48:31 +02:00
Adam Dunkels
82e8eb420d
Added and updated debugging printouts and reformatted code to make it a little easier to read.
2013-08-19 17:48:31 +02:00
Simon Duquennoy
248301a041
Fix naming issues and includes in uip-ds6-nbr.h
2013-08-19 17:48:30 +02:00
Simon Duquennoy
ff093a2b50
Removed now unused per-module neighbor table size configs. Use NEIGHBOR_CONF_MAX_NEIGHBORS instead.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
c3f62b24c8
Moved ETX management from neighbor-info to rpl-of-etx. Avoids conversions between different fixed point representations, and simplifies neighbor management. Makes more clear how default-ETX and noack-ETX actually affect the rank. Removed neighbor-info and neighbor-attr.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
c50d10aa53
Make RPL use neighbor tables. RPL locks the neighbor used as preferred parent.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
09d26f8060
Make uip-ds6-route use neighbor table. Instead of storing a global list of routing entries that contain both the next hop and the destination, we have a separate list of reachable destination for each neighbor in the global table.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
ec609b49eb
Make DS6 neighbors use neighbor-table, and move all DS6 neighbor management from uip-ds6 to a new uip-ds6-neighbor module.
2013-08-19 17:48:30 +02:00
Simon Duquennoy
5a1d8d8006
Make phase module use neighbor-table.
2013-08-19 17:48:29 +02:00
Simon Duquennoy
cfb3bbdad9
Added new neighbor-table module, a centralized place where to store all data about neighbors, indexed by link-layer address. Meant for use in other Contiki modules such as rpl, ds6, ds6-route, phase, neighbor-info.
2013-08-19 17:48:29 +02:00
Fredrik Osterlind
8041f66d8c
link-layer acks support for cooja motes
2013-08-15 14:32:35 +02:00
Adam Dunkels
f5307fc01e
Bugfix: must set the SICSLOWPAM_MAX_MAC_TRANSMISSIONS attribute after clearing the buffer, otherwise it will not be used for outoing packets.
2013-08-11 14:27:21 +02:00
Adam Dunkels
0aa448f190
6lowpan fragmentation bugfix: the 6lowpan code had an unfortunate
...
interaction with the behavior of the rdc layer. If the first packet of a
fragment transmission was lost, the remaining packets would get dropped
on reception. Moreover, the reception code contained a bug that
sometimes would cause fragments to be misidentified as fragments. Taken
together, these problems would result in a pathelogical network
breakdown if too many fragmented packets would occur simultaneously.
2013-08-11 14:27:20 +02:00
Adam Dunkels
54f2109134
Merge pull request #290 from simonduq/rpl-mrhof-etx-nomc
...
Update of RPL MRHOF (use no metric container with ETX [RFC6719])
2013-07-29 00:56:25 -07:00
Adam Dunkels
945f217a11
Merge pull request #220 from lebrush/uip-ds6-least-lifetime
...
Add method to get the first neighbour which is about to expire
2013-07-28 16:43:41 -07:00
Nicolas Tsiftes
d228cb57a5
Merge pull request #301 from adamdunkels/hotfix-rpl-max-dio
...
RPL bugfix: don't ignore infinite rank DIOs
2013-07-26 06:48:26 -07:00
Adam Dunkels
500d9cc3e4
Merge pull request #300 from cetic/rpl-nopath-dao
...
RPL No-Path DAOs
2013-07-26 03:53:56 -07:00
Adam Dunkels
9ba5d9694c
Merge pull request #299 from jdede/rpl-rm-neighbor
...
Default route not removed
2013-07-26 03:52:55 -07:00
Adam Dunkels
4913792d41
Minor code style fix
2013-07-26 12:38:43 +02:00
Adam Dunkels
512a339c50
Bugfix: DIOs with infinite ranks should not be ignored as they are used by RPL as a signal by nodes that have lost their routes. Instead of ignoring them, we should send out our latest information to let the node with infinite rank find their way into the network again.
2013-07-26 12:38:25 +02:00
Sébastien Dawans
a05d635512
Improve readability of DAO output variables
2013-07-25 11:22:38 +02:00
Sébastien Dawans
0bd26d83c8
Ignore No-Path DAO if target is already reachable through a different route than the DAO sender
2013-07-25 11:21:04 +02:00
Sébastien Dawans
c4a121bf18
No-Path DAO Propagation
2013-07-25 11:19:56 +02:00
Jens Dede
2f1bf730af
Adapted comment
2013-07-23 20:01:10 +02:00
Simon Duquennoy
defcc639ce
Use no metric container when having MRHOF with ETX, as specified in RFC6719. Renamed rpl-of-etx to rpl-mrhof.
2013-07-23 19:36:38 +02:00
Jens Dede
9dd5af78c8
fix: default routes are removed correctly if no DAG with preferred parent is available
2013-07-23 15:35:47 +02:00
Simon Duquennoy
0e81b91fa6
Simplify periodic ds6 neighbor processing in case NA/NS is disabled. Strips out uip_nd6_ns_output from the binary.
2013-07-02 15:20:21 +02:00
Simon Duquennoy
1f38348cf9
Added a flag to optionally disable IPv6 NA/NS at compile time
2013-07-02 14:43:53 +02:00
Jelmer Tiete
cf894b8b95
changed inter packet interval to 0.4ms
2013-06-21 13:15:45 +02:00
Nicolas Tsiftes
7cc8f326f4
Merge pull request #257 from adamdunkels/hotfix-csma
...
CSMA bugfix
2013-06-20 01:49:48 -07:00
Adam Dunkels
09f30e875d
Bugfix: when a CSMA callback is received, we should remove the packet
...
that was transmitted and not just the first packet that happens to be on
the output queue.
2013-05-25 12:13:07 +02:00
Adam Dunkels
ee64780cb6
Allow proactive probing interval to be configured
2013-05-25 12:10:27 +02:00
Adam Dunkels
c9de0e49be
Added a number of default options for ContikiMAC, and allow them to be overridden with contiki-conf.h configuration options
2013-05-25 12:10:27 +02:00
Adam Dunkels
0a135eeba1
Merge pull request #214 from lebrush/tcp-uip-size
...
Limit partially size of uip/tcpip stack when not using TCP at all
2013-05-23 09:48:17 -07:00
Adam Dunkels
0f135afb34
Merge pull request #218 from lebrush/rpl-mixed-network-bug
...
Fixes bug a node not using RPL joins a network which does
2013-05-22 00:26:06 -07:00
Nicolas Tsiftes
ffd18aad82
Merge pull request #221 from lebrush/uip-ds6-notifications
...
Make DS6 route notifications optional
2013-05-21 07:10:31 -07:00
lebrush
6eafa08313
Make DS6 route notifications optional.
2013-05-21 10:05:02 +02:00
lebrush
96a1a97736
Limit size of uip/tcpip stack when not using TCP at all.
2013-05-21 10:02:17 +02:00
lebrush
5bae5e6ffd
Fixes imposibility of receiving data when a node not using RPL joins a network
...
which does.
The RPL header is processed, declared invalid and the packet discarded. This
is fixed by this commit.
2013-05-21 10:00:46 +02:00
lebrush
c2a7a25a9e
Code style fixes
2013-05-21 09:50:30 +02:00
lebrush
26177387fc
Use memcpy, memcmp functions for the rime compare and copy functions as they
...
are already used all over contiki.
2013-05-21 09:50:29 +02:00
lebrush
2fb007b1e0
Code style fixes
2013-05-21 09:05:30 +02:00
Nicolas Tsiftes
83c08bdf99
Merge pull request #219 from lebrush/sicslowpan-uip-debug
...
Force sicslowpan to use uip-debug rather than an own system
2013-05-20 04:59:20 -07:00
Robert Quattlebaum
382308e6bf
Merge pull request #242 from darconeous/pull-request/resolv-bad-nsec-fix
...
resolv: Fix for bad NSEC record on announce
2013-05-19 16:34:03 -07:00
Robert Quattlebaum
d0b99cc3cc
resolv: Fix for bad NSEC record on announce
2013-05-19 16:09:50 -07:00
Sébastien Dawans
1be01a9c90
Support prefix udpates with PIO Handling
2013-05-19 10:51:57 -04:00
Mariano Alvira
5df586e09d
Merge pull request #184 from g-oikonomou/bug-fixes/rimestats
...
Rimestats Fix (#183 )
2013-05-19 07:45:22 -07:00
Robert Quattlebaum
0bed4b17a2
resolv: Fix for word alignment issues in mdns_prep_host_announce_packet()
.
2013-05-18 10:43:09 -07:00
lebrush
eef6d7a37e
Removed undef
2013-05-15 16:49:36 +02:00
lebrush
82d498f3a1
Removed undef
2013-05-15 16:25:34 +02:00
lebrush
9158ff4bf1
Add method to get the first neighbour which is about to expire
2013-05-15 13:44:25 +02:00
lebrush
966e9fc484
Force sicslowpan to use uip-debug rather than an own system
2013-05-15 12:23:21 +02:00
lebrush
071cfaf1cb
Corrects some leftover uncapitalized printfs which may cause some platforms
...
to crash.
2013-05-15 12:21:15 +02:00
Nicolas Tsiftes
f8edbbb8d2
Merge pull request #178 from adamdunkels/feature-contiki-default-conf
...
A first stab at a default configuration system
2013-03-25 20:13:15 -07:00
George Oikonomou
62366813b0
Provide a macro to read rimestats when enabled
2013-03-20 21:14:34 +00:00
George Oikonomou
12860ce5d4
Fix #183 (short term fix)
...
This is a temporary fix for #183 , so that things can
build cleanly until the issue is fixed properly.
If RIMESTATS_CONF_ENABLED is 0, rimestats.foo will always
read as 0, since RIMESTATS_ADD(foo) doesn't do anything
2013-03-20 19:59:20 +00:00
Nicolas Tsiftes
199a89bac4
Merge pull request #173 from adamdunkels/feature-ipv6-not-in-makefile
...
Allow IPv6 to be compiled via #define
2013-03-19 08:17:52 -07:00
Nicolas Tsiftes
7f2a842b71
Merge pull request #174 from adamdunkels/feature-net-improvements
...
Improvements to the core/net/ code
2013-03-18 17:12:12 -07:00
Nicolas Tsiftes
6a07172662
Merge pull request #176 from adamdunkels/feature-net-bugfixes
...
Network system bugfixes
2013-03-18 13:38:44 -07:00
Adam Dunkels
7742b05d8c
Major bugfix: when nullrdc is asked to send a list of packets, send the list of packets and not just the first packet - this is essential for retransmissions of fragmented IP packets to work
2013-03-18 13:35:29 +01:00
Adam Dunkels
f81e4071f1
Merge pull request #135 from darconeous/pull-requests/core-net-bridge-mode
...
core/net: Added support for "bridge mode".
2013-03-18 04:43:15 -07:00
Adam Dunkels
ad28f1b396
Merge pull request #75 from cmorty/mesh_ready
...
Add mesh_ready() to mesh
2013-03-18 04:42:43 -07:00
Adam Dunkels
2ba293a538
Bugfix: check the size of the outgoing packet to avoid overflowing the output buffer
2013-03-18 11:22:08 +01:00
Adam Dunkels
843d2361dc
Include the rimestats variable only if rimestats are enabled by the configuration
2013-03-18 11:22:06 +01:00
Adam Dunkels
4efd570cf9
Minor bugfix: explicitly cast pointer argument in debug printf
2013-03-18 11:22:05 +01:00
Adam Dunkels
f2fbb4b49d
Defensive programming: make sure that we don't fail completely if we get a callback for a NULL pointer
2013-03-18 11:22:04 +01:00
Adam Dunkels
82b755c017
Bugfix: keep track of receiver being awake as a local variable rather than a global, as it may have changed between invokations
2013-03-18 11:22:02 +01:00
Adam Dunkels
0670a8e1e2
Minor code style fixes to the contikimac and nullrdc code
2013-03-18 11:22:01 +01:00
Adam Dunkels
3efa84ecc8
New mechanism for computing the 6lowpan header length dynamically, depending on how large header the framer creates. Also check the incoming packet for buffer overflow.
2013-03-18 11:19:22 +01:00
Adam Dunkels
cb2336a322
Send announcements only if the node is configured to be a router
2013-03-18 11:19:21 +01:00
Adam Dunkels
5993595a8f
A number of updates to nullrdc
...
* add a few rimestats to keep track of sent and received acks
* made a number of configuration options possible to override (ack timing)
* added the logic for sending 802.15.4 link layer ack packets, despite not being able to guarentee the 802.15.4 MAC timing
* increased the number of sequence numbers to keep track of for duplicate filtering
2013-03-18 11:19:20 +01:00
Adam Dunkels
4541d3e85b
Let the framer functions use ints instead of uint8_t to make them more generic
2013-03-18 11:19:18 +01:00
Adam Dunkels
2d50a40643
A default configuraion file for Contiki
...
The contiki-default-conf.h file is intended as a safe fallback for
a number of configuration options in Contiki, to avoid putting too
much in the individual contiki-conf.h files.
2013-03-18 11:12:43 +01:00
Adam Dunkels
927cc8d895
Added #if UIP_CONF_IPV6 around the IPv6 code in the uIP source tree to allow the C files to be compiled even if IPv6 is not configured.
2013-03-18 09:45:30 +01:00
Adam Dunkels
db1e8cdbac
Separated the uIP makefile from the top-level Makefile.include into a separate core/net/Makefile.uip makefile
2013-03-18 09:45:29 +01:00
Robert Quattlebaum
da81360731
core/net/resolv: Misc. updates and cleanups.
2013-03-14 19:14:32 -07:00
Robert Quattlebaum
7e9f472faa
core/net/resolv: Fix for resolving CNAME records.
2013-03-14 19:13:51 -07:00
Robert Quattlebaum
639a9ca399
core/net/resolv: Fix for SDCC.
2013-03-14 19:13:04 -07:00
Oliver Schmidt
46cb6013ae
Reduced code size.
...
Combined recent changes from darconeous...
- Refactor to decrease minimum code footprint.
- Added `RESOLV_CONF_SUPPORTS_RECORD_EXPIRATION`.
...with a few additional changes to reduce code size.
2013-03-14 22:53:52 +01:00
Oliver Schmidt
d8862bd243
Some more changes improving code style conformance and code size.
2013-03-13 17:52:57 +01:00
Oliver Schmidt
7a1fa4de6c
Some coding style nomalization.
2013-03-13 16:14:29 +01:00
Oliver Schmidt
8fa9767d47
Restored Contiki compatibility with non-C99 compilers.
...
(and compilers without non-standard extensions like void pointer arithmetic)
2013-03-13 14:40:24 +01:00
Moritz 'Morty' Strübe
b1dbc2047e
Add mesh_ready() to mesh
...
mesh_ready checkes whether a packet is queued. This allows to avoid
packet loss at application level.
2013-03-13 09:44:38 +01:00
Robert Quattlebaum
c0a693672c
core/net: Added support for "bridge mode".
...
"Bridge mode" allows devices to more easily send 802.15.4 packets as if
they were a different device. It also turns off any packet filtering
that may be implemented at layer 2. It works by allowing
`PACKETBUF_ADDR_SENDER` to be set earlier in the stack.
This is useful for implementing 6LoWPAN-ethernet bridges.
Enabled via setting `NETSTACK_CONF_BRIDGE_MODE` to 1. Disabled by
default.
2013-03-10 14:45:15 -07:00
Adam Dunkels
4e40cb8a8d
Merge pull request #116 from cetic/rpl-lifetimes
...
RPL Lifetimes
2013-03-10 13:04:07 -07:00
Adam Dunkels
39e5a8c6dc
Merge pull request #80 from darconeous/mdns-resolv
...
Adds IPv6 and MDNS domain name resolution.
2013-03-10 12:58:39 -07:00
Adam Dunkels
0841bce833
Merge pull request #82 from darconeous/master
...
Makefiles: Allow setting UIP_CONF_IPV6=0 to work as expected.
2013-03-10 12:51:03 -07:00
Robert Quattlebaum
f145c17039
core/net/resolv: IPv6 and mDNS ("Bonjour") support. Major refactor.
...
This patch updates the DNS resolver to support IPv6 and introduces an
improved API for looking up DNS entries. This patch also adds optional
support for mDNS lookups and responses to the DNS resolver.
Here is a quick summary of the changes:
* Added support for IPv6 lookups.
* DNS queries now honor record expiration.
* Added support for mDNS, compatible with "Bonjour".
* Implemented a new lookup api, `resolv_lookup2()`, which provides
more information about the state of the record(error, expired,
looking-up, etc.).
About mDNS/Bonjour Support
--------------------------
This patch adds basic support for mDNS/Bonjour, which allows you to
refer to the name of a device instead of its IP address. This is
incredibly convenient for IPv6 addresses because they tend to be very
long and difficult to remember. It is especially important for
link-local IPv6 addresses, since not all programs support the '%'
notation for indicating a network interface (required on systems with
more than one network interface to disambiguate).
In other words, instead of typing in this:
* `http://[fe80::58dc:d7ed:a644:628f%en1]/ `
You can type this instead:
* `http://contiki.local/ `
Huge improvement, no?
The convenience extends beyond that: this mechanism can be used for
nodes to talk to each other based on their human-readable names instead
of their IPv6 addresses. So instead of a switch on
`aaaa::58dc:d7ed:a644:628f` triggering an actuator on
`aaaa::ed26:19c1:4bd2:f95b`, `light-switch.local` can trigger the
actuator on `living-room-lights.local`.
What you need to do to be able to look up `.local` names on your
workstation depends on a few factors:
* Your machine needs to be able to send and receive multicast packets
to and from the LoWPAN. You can do this easily with the Jackdaw
firmware on an RZUSBStick. If you have a border router, you will need
it to bridge the mDNS multicast packets across the border.
* If you are using a Mac, you win. All Apple devices support mDNS
lookups.
* If you are using Windows, you can install Apple's Bonjour for Windows
package. (This may be already installed on your machine if you have
installed iTunes) After you install this you can easily do `.local`
lookups.
* If you are using a Unix machine, you can install Avahi.
The default hostname is set to `contiki.local.`. You can change the
hostname programmatically by calling `resolv_set_hostname()`. You can
change the default hostname by changing `CONTIKI_CONF_DEFAULT_HOSTNAME`.
You may disable mDNS support by setting `RESOLV_CONF_SUPPORTS_MDNS` to
`0`.
---------------------------------
core/net/resolv: `resolv_lookup2()` -> `resolv_lookup()`
Note that this patch should fix several `resolv_lookup()` bugs
that already existed. There were many cases where `resolv_lookup()`
was being called and the IP address ignored, but later code
assumed that the IP address had been fetched... ANYWAY, those
should be fixed now.
---------------------------------
examples/udp-ipv6: Updated client to use MDNS to lookup the server.
Also updated the Cooja regression test simulation.
2013-03-10 11:40:08 -07:00
Robert Quattlebaum
97e16760c3
core/net/uip-ds6: Make uip_ds6_maddr_add()
and uip_ds6_maddr_lookup()
const-correct.
2013-03-10 11:39:12 -07:00
Robert Quattlebaum
1d113f52ad
core/net/uip: Rename uip_ethaddr
to uip_lladdr
.
...
There isn't really a good reason I can think of for these
to be different between IPv4 and IPv6.
2013-03-10 11:39:11 -07:00
Sébastien Dawans
e02d480ff5
Moved RPL Lifetime configuration to rpl-conf.h
2013-03-09 16:28:43 +01:00
Sébastien Dawans
b6c54faf9d
Adds default route lifetime update in RPL DIO processing
2013-03-09 16:27:37 +01:00
Sébastien Dawans
aaf5deabe2
Allow user configuration of RPL Lifetime and Lifetime Unit
2013-03-09 16:27:37 +01:00
Adam Dunkels
373b6c0195
Merge pull request #90 from simonduq/rpl-conf
...
Added missing include of contiki-conf.h in rpl-conf.h
2013-03-09 05:55:56 -08:00
Adam Dunkels
ea92365cd4
Merge pull request #102 from cetic/rpl-conf-init-link-metric
...
Makes RPL Initial Link Metric configurable
2013-03-09 05:52:07 -08:00
Adam Dunkels
80982f97b8
Merge pull request #125 from nfi/lollipop
...
Bug fix: corrected the macro RPL_LOLLIPOP_INCREMENT
2013-03-09 05:49:06 -08:00
Adam Dunkels
e91a2ac78a
Merge pull request #142 from malvira/rpl-leaf-debug
...
Add some debug PRINTFs for RPL_LEAF_ONLY mode.
2013-03-09 05:35:48 -08:00
Oliver Schmidt
4d4b796abb
Removed useless register keywords.
...
Modern compilers (especially GCC) ignore the register keyword anyway and the latest cc65 snapshot generates actually larger code with the register keyword at the locations in question.
2013-03-06 14:32:36 +01:00
Mariano Alvira
03fdb53af1
Add some debug PRINTFs for RPL_LEAF_ONLY mode.
2013-02-20 18:25:32 -05:00
Niclas Finne
26fc2fab87
Bug fix: changed the macro RPL_LOLLIPOP_INCREMENT to update the counter instead of returning the new value since this is how the macro is used today.
2013-02-12 16:06:04 +01:00
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