Commit graph

419 commits

Author SHA1 Message Date
Luca Pernini
5803971adc Changing DIO timer condition - merge 2016-11-24 10:52:10 +01:00
Nicolas Tsiftes
2c5c7d4f26 Merge pull request #1719 from jcook/master
RPL: Remove useless `else' block as def_route will be removed before if ex…
2016-09-09 16:48:01 +02:00
Afonso Oliveira
0217776d6e fixed identantion on code below alteration 2016-09-05 16:24:55 +01:00
Afonso Oliveira
4c5b70e628 fix misplaced bracket causing compilation error when probing is deactivated (RPL_WITH_PROBING=0) 2016-09-05 14:49:41 +01:00
Joakim Nohlgård
e37c522c2f core/net/rpl: Fix more function declaration isn’t a prototype 2016-07-26 15:21:59 +02:00
Simon Duquennoy
21387b954f Merge pull request #1493 from simonduq/pr/add-missing-ext-hdr
Insert RPL ext header before sending ICMP, UDP and TCP messages
2016-07-25 14:56:25 +02:00
Simon Duquennoy
4ceaaba4bd RPL: added missing return, to not join instances with unsupported MOP 2016-07-05 12:13:46 +02:00
Simon Duquennoy
00f2344b4a RPL insert_srh_header: return success when no SRH is needed because the destination is a direct child 2016-06-29 17:26:01 +02:00
Simon Duquennoy
d73b229624 Fix and cleanup RPL ext header handling 2016-06-29 17:26:01 +02:00
Simon Duquennoy
5eb022fdd8 Merge pull request #1750 from yatch/pr/improve-rpl-ext-hdr
Improve RPL extension headers handling
2016-06-29 10:38:17 +02:00
Yasuyuki Tanaka
ffdc53718d RPL: code cleanup (rpl-ext-header.c) 2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka
13f18fd842 RPL: update uip_ext_len whenever moving to next header (rpl-ext-header.c) 2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka
5a79bad4b1 RPL: prevent unintended memory access (rpl_remove_header)
When it goes to the default label in the switch statement of
rpl_remove_header(), UIP_EXT_BUF does not always point to an IPv6 extension
header. "Move to next header" process should be done only in case of
UIP_PROTO_DESTO. Otherwise, it returns with doing nothing.
2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka
e361c49f14 RPL non-storing: fix a bug causing an infinite loop
It falls into an infinite loop if it goes to the default label in the switch
statement of rpl_srh_get_next_hop() or rpl_process_srh_header().
2016-06-27 20:57:48 +02:00
Yasuyuki Tanaka
ca3a4726d1 Rename two macros related to multicast, which are not user configuration
- UIP_CONF_IPV6_MULTICAST -> UIP_IPV6_MULTICAST
- RPL_CONF_MULTICAST      -> RPL_WITH_MULTICAST
2016-06-20 16:35:09 +02:00
Yasuyuki Tanaka
b074e5c3e0 Replece UIP_IPV6_MULTICAST_RPL in a comment with RPL_CONF_MULTICAST 2016-06-20 16:35:09 +02:00
Joakim Eriksson
7853a7434b fix for compilation with clang - issue reported by Olaf Bergmann 2016-06-13 16:18:16 +02:00
jcook
d52cf767e5 Remove useless `else' block as def_route will be removed before if existed. 2016-06-12 06:45:04 +02:00
Tommy Sparber
27cceda1e8
rpl-ext-header: Use 8-octet unit for HBHO length
According to RFC 2460 the length field of the Hop-by-Hop options header
should use a 8-octet unit (multiple of 8 byte).

In a normal configuration the RPL_HOP_BY_HOP_LEN define is 8, so the
current implementation works, but if RPL_HOP_BY_HOP_LEN is a multiple
of 8 the length is not calculated correctly.
2016-06-08 17:37:59 +02:00
Simon Duquennoy
535ff25da2 RPL non-storing defensive link update: make sure the topology is loop-free at all times 2016-06-08 14:14:03 +02:00
Simon Duquennoy
d5e74b9579 Code style 2016-06-08 14:05:37 +02:00
Simon Duquennoy
0f5e3413fa Simplify dao_input 2016-06-08 14:04:47 +02:00
Simon Duquennoy
4208973017 Fix DAO-ACK support for non-storing 2016-06-08 14:03:27 +02:00
Simon Duquennoy
6cdec70798 rpl_verify_header: do not select DAG in storing mode after updating neighbor rank, as this may result in a No-Path DAO being sent, which will drop the current packet. 2016-06-08 14:03:26 +02:00
Simon Duquennoy
343c274359 RPL: re-enable RPL_DIO_REFRESH_DAO_ROUTES by default as it is needed with DAO-ACK disabled. Now increments the DTSN only at the root 2016-06-08 14:03:25 +02:00
Simon Duquennoy
ded71a7400 RPL: add neighbor to cache on incoming DIO also at the root 2016-06-08 14:03:23 +02:00
Simon Duquennoy
1a7133bbf2 Simplified configuration of RPL non-storing mode 2016-06-08 14:03:21 +02:00
Simon Duquennoy
f26ea34c61 Run RPL regression tests in non-storing mode 2016-06-08 14:03:19 +02:00
Yasuyuki Tanaka
eef233ceab Clear the uIP buffer before calling dao_ack_output() 2016-06-08 14:02:52 +02:00
Yasuyuki Tanaka
bb69e35c76 Fix typos causing compilation errors in rpl_srh_get_next_hop() 2016-06-08 14:02:51 +02:00
Yasuyuki Tanaka
f53bae6225 Remove a debug message showing "SRH Next Hop" in insert_srh_header() 2016-06-08 14:02:50 +02:00
Yasuyuki Tanaka
2abf27a6f7 Remove an unnecessary NULL-check in insert_srh_header() 2016-06-08 14:02:49 +02:00
Yasuyuki Tanaka
97a362acdc Use a stricter check in rpl_srh_get_next_hop() 2016-06-08 14:02:48 +02:00
Yasuyuki Tanaka
0be30628ce Enable the root to send back a DAO-ACK 2016-06-08 14:02:47 +02:00
Simon Duquennoy
b3e31e1456 Implement RPL non-storing mode 2016-06-08 14:02:45 +02:00
Simon Duquennoy
d14b76d869 RPL: logging fixes 2016-06-08 14:02:44 +02:00
Simon Duquennoy
797bead5e5 RPL: if a neighbor is unreachable, remove routes via this neighbor 2016-06-03 18:43:36 +02:00
Simon Duquennoy
8ae00caea8 RPL: more robust configuration of mrhof in the squared ETX case 2016-06-03 18:43:35 +02:00
Simon Duquennoy
e6cd029090 rpl_remove_routes_by_nexthop: expire routes rather than remove then directly. The routes will be removed later and No-path DAOs sent accordingly in rpl_purge_routes 2016-06-03 18:43:28 +02:00
Simon Duquennoy
d008bf8a76 Fix rpl_select_parent in the non-probing case 2016-06-03 16:44:14 +02:00
Simon Duquennoy
43b01b3236 RPL: if the best parent is not fresh, use the best fresh instead and utilize urgent probing to update link estimates 2016-06-03 16:44:14 +02:00
Simon Duquennoy
b42b12d7c8 Adsjut dao_ack_callback to new OFs 2016-06-03 16:44:13 +02:00
Simon Duquennoy
f18a4fdd7b Adjust RPL neighbor policy to new OF interface 2016-06-03 16:44:12 +02:00
Simon Duquennoy
75967438e3 RPL ext header: check if sender is closer only after updating its rank 2016-06-03 16:44:11 +02:00
Simon Duquennoy
36dd282eb7 RPL: reset Trickle timer on incoming DIOs with INFINITE_RANK only if the DIO is from the preferred parent 2016-06-03 16:44:10 +02:00
Simon Duquennoy
65b854fcee RPL: trigger a local repair only the first time no parent is found in a DODAG 2016-06-03 16:44:09 +02:00
Simon Duquennoy
b176991a06 Compile out code related to RPL probing when probing is disabled 2016-06-03 16:44:09 +02:00
Simon Duquennoy
6349019384 Fine tuning of link stats and RPL OFs 2016-06-03 16:44:08 +02:00
Simon Duquennoy
0d7e1e8be4 Fix PRINTF statement in rpl-timers.c 2016-06-03 16:44:07 +02:00
Simon Duquennoy
64679642f2 Saving ROM and RAM 2016-06-03 16:44:06 +02:00