Commit Graph

185 Commits

Author SHA1 Message Date
Simon Duquennoy
04106a0d53 ND6: make sure the second parameter of uip_ds6_nbr_add is word-aligned, which is required as the parameter is directly accessed as uip_lladdr_t* (not as a byte array) 2015-08-20 17:06:03 +02:00
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
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
Moritz 'Morty' Strübe
0dab6926b3 Move MAX, MIN and ABS to sys/cc.h 2015-05-18 08:53:17 +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
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
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
George Oikonomou
bd5e35c968 Merge pull request #1052 from simonduq/packetbuf-cleanup
Packetbuf cleanup
2015-05-09 22:30:21 +01: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
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
8f50d9709d Merge pull request #999 from adamdunkels/lebrush-rdnss-support-rebased
RDNSS support, again
2015-03-30 17:21:23 +02: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
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
0b382a933a Fix warnings caused by unescaped special doxygen chars 2015-02-15 20:11:09 +01: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
Joakim Eriksson
3aa8a62e41 avoid updating routes that already are correct 2015-02-06 21:14:20 +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
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
Laurent Deru
f28e9587ed Make RA configuration parameters user configurable 2014-12-19 11:24:42 +01:00
Joakim Eriksson
5be43c6f8d moved ETX storage variable from RPL to ds6-nbr 2014-12-10 09:11:53 +01:00
George Oikonomou
99513f1889 Fill IPv6->Next-Hdr field for outgoing RSTs 2014-12-08 22:00:36 +00:00
Simon Duquennoy
984c8e007b Fix conditional compilation directive in uip-ds6.c 2014-12-03 17:32:42 +01:00
Simon Duquennoy
415506c3f6 Doxygen fixes 2014-12-02 12:39:16 +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
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
Joakim Eriksson
8e1c52b0ba Changed sorting order of routing list (optimization). 2014-11-24 09:36:54 +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
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
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
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
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
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
Laurent Deru
d45782fbcd Insert properly Hop-by-Hop option at first hop 2014-06-27 09:45:51 +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
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
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
Rémy Léone
25c8b0835d Closing doxygen groups 2014-05-30 11:01:20 +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
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
George Oikonomou
529ab761ac Register generic ICMPv6 handlers for ROLL TM 2014-04-04 00:09:29 +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
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
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
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
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
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
8eace27f9b Moved net/rime.h to net/rime/rime.h 2014-01-26 23:20:45 +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
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
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