1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

222 Commits

Author SHA1 Message Date
Leandro Lanzieri
51939c3608
gnrc/rpl: Move GNRC_RPL_LIFETIME_UNIT to 'CONFIG_' namespace 2020-05-14 15:56:56 +02:00
Leandro Lanzieri
3b06b41fa9
gnrc/rpl: Move GNRC_RPL_DEFAULT_LIFETIME to 'CONFIG_' namespace 2020-05-14 15:56:56 +02:00
Leandro Lanzieri
c61b6bca38
gnrc/rpl: Move GNRC_RPL_DEFAULT_DIO_REDUNDANCY_CONSTANT to 'CONFIG_' 2020-05-14 15:56:55 +02:00
Leandro Lanzieri
f353ca8225
gnrc/rpl: Move GNRC_RPL_DEFAULT_DIO_INTERVAL_MIN to 'CONFIG_' namespace 2020-05-14 15:56:55 +02:00
Leandro Lanzieri
7216c21dbc
gnrc/rpl: Move GNRC_RPL_DEFAULT_DIO_INTERVAL_DOUBLINGS to 'CONFIG_' 2020-05-14 15:56:52 +02:00
Jose Alamos
6ace7b5472 gnrc_netif: use gnrc_netif_single where possible 2020-03-17 10:54:30 +01:00
Jose Alamos
b553535cea gnrc_rpl_auto_init: replace preprocessor logic with if chain 2020-03-13 13:30:29 +01:00
Cenk Gündoğan
08c3dedf38 gnrc_rpl_p2p: use correct netif functions 2020-02-14 11:42:33 +01:00
Cenk Gündoğan
50423d60cf gnrc_rpl_p2p: use correct parameters for trickle_start() 2020-02-14 11:41:56 +01:00
Cenk Gündoğan
4b58e5d41b gnrc_rpl_p2p: fix cleanup timer usage 2020-02-14 11:41:30 +01:00
Francois Berder
4a31f94cfc many typo fixes
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
Martine Lenders
a279228663 gnrc_rpl_srh: don't send error message on multicast error
A node is not supposed to send an ICMPv6 error message when the
destination or one of the addresses in the source route is multicast
but is supposed to be silently discarded (see [RFC4443] and [RFC6554]).
If we leave the `err_ptr` unset, the [node will not send an error
message][err_ptr set].

[RFC 4443]: https://tools.ietf.org/html/rfc4443#section-2.4
[RFC 6554]: https://tools.ietf.org/html/rfc6554#section-4.2
[err_ptr set]: https://github.com/RIOT-OS/RIOT/blob/9bc600a/sys/net/gnrc/network_layer/ipv6/ext/rh/gnrc_ipv6_ext_rh.c#L100-L105
2019-10-14 11:25:53 +02:00
Martine Lenders
3671f69a43
gnrc_rpl: use gnrc_netif_hdr_set_netif() 2019-08-29 14:51:46 +02:00
Sebastian Meiling
226ace7bb6
Merge pull request #9852 from bergzand/pr/rpl/fix_debug_hdrs
gnrc_rpl: remove DEBUG from header files
2019-08-16 11:27:48 +02:00
b33ee93d22
gnrc_rpl: remove DEBUG from header files
This conflicts with the DEBUG setting in C files that include these
headers making it impossible to enable the DEBUG setting in these C
files.
2019-08-16 10:11:41 +02:00
Martine Lenders
3edb52de0c gnrc_rpl_dodag: remove new_best assignment at initialization
The variable is without usage reassigned with `dodag->parent` below.
2019-06-20 16:18:23 +02:00
42c1da8171 gnrc_rpl: update OF API
- dodag->parents already points to the preferred parent, so give dodag to calc_rank directly
 - remove unused which_parent function
2019-05-29 15:11:18 +02:00
Martine Lenders
bef475e450 gnrc_rpl_auto_init: add workaround comments 2019-02-26 20:33:07 +01:00
Martine Lenders
983b60dbd4 gnrc_rpl: do not assert netif on auto-init
`gnrc_networking` is unusable when compiled for boards that do not have
any network devices on-board due to an assertion in RPL's auto-init. I
think this is pretty harsh. A friendly info message is enough, as it
might not even be an error. Also, if one expects RPL to work without
network interfaces they are a fool ;-).
2019-01-29 17:56:58 +01:00
Martine Lenders
0a5ef011e1 gnrc_ipv6_ext_rh: add ICMPv6 error message sending 2018-12-18 19:46:27 +01:00
Martine Lenders
d8317580df gnrc_rpl_srh: uncrustify code 2018-11-23 13:56:55 +01:00
Martine Lenders
0982ab4bd6 gnrc_rpl_srh: give variables more speaking names 2018-11-23 13:56:55 +01:00
Martine Lenders
eaacda0970 gnrc_rpl_srh: move address check to own function 2018-11-23 13:56:55 +01:00
Martine Lenders
c3b0e54d82 gnrc_rpl_srh: change routing header at latest possible point 2018-11-23 13:56:55 +01:00
Martine Lenders
29ed9a0937 gnrc_rpl_srh: use memcpy() instead for address assignment 2018-11-23 13:56:54 +01:00
Martine Lenders
caeebd2787 gnrc_rpl_srh: make seg_left > 0 a precondition
The generic routing header handler is already checking this case, so
don't redo the check again.
2018-11-23 13:56:54 +01:00
Martine Lenders
61b829b656 gnrc_rpl_srh: reorder variables for better memory usage 2018-11-23 13:56:54 +01:00
Martine Lenders
84a62da102 gnrc_ipv6_ext_rh: rename GNRC_IPV6_EXT_RH_OK for clarity 2018-10-25 11:11:50 +02:00
Martine Lenders
c54ba49e82 gnrc_ipv6_ext: move ipv6_ext_rh (partly) to GNRC 2018-10-25 11:10:25 +02:00
05b6af466c sys: add missig <string.h> includes 2018-09-20 23:47:40 +02:00
Martine Lenders
3d9aad2027
Merge pull request #9854 from bergzand/pr/rpl/pass_opt_len
gnrc_rpl: Pass options length to msg validator
2018-09-03 14:20:12 +02:00
af3232fb34
gnrc_rpl: Pass options length to msg validator
Currently the length of the full ICMPv6 packet is passed to the
validator function causing validation failures on valid packets. This
fixes that by passing the length of remaining RPL options of the packet.
2018-08-29 00:47:20 +02:00
0c790c6638
gnrc_rpl: fix zeroing of RPL DIS fields
The code originally assumed that the location of DIS struct is directly
after the ICMPv6 struct. This is not necessarily true when both structs
are individually allocated by pktbuf. This commit fixes this issue by
directly accessing the location of the DIS struct.
2018-08-29 00:33:27 +02:00
Martine Lenders
0c9d7aeedc gnrc_rpl: exit early if netif_hdr is NULL in send function
Without this fix RPL might crash when the packet buffer is full.
2018-06-21 14:51:47 +02:00
Cenk Gündoğan
0c428ecb2e gnrc_rpl: remove events from the queue before memset() 2018-06-21 10:41:13 +02:00
7d013eb2b6 sys: fix doxygen grouping 2018-06-11 19:12:02 +02:00
BytesGalore
0c034c9220 rpl: add DIS Solicited Information option 2018-06-04 18:10:22 +02:00
smlng
1011803867 net/gnrc/rpl: fix doxygen grouping 2018-05-24 14:38:27 +02:00
Cenk Gündoğan
441f11ea45 gnrc_rpl: shell: adapt to evtimer for RPL events 2018-05-23 09:42:12 +02:00
Cenk Gündoğan
b819ac8d35 gnrc_rpl: adapt to evtimer for RPL events 2018-05-23 09:42:12 +02:00
Cenk Gündoğan
4c9e947d43 gnrc_rpl: adjust author and copyright 2018-05-22 23:46:55 +02:00
Martine Lenders
3d821ee195 gnrc_rpl: remove route before updating it
The "new" forwarding table does not update an old route but just adds
another as long as it is not *exactly* the same. However, the RPL
adaptation missed to remove the old route so RPL got easily confused
about where it actually needed to send packets.
2018-05-04 17:46:02 +02:00
Martine Lenders
9c84cd90b8 gnrc_rpl: allow for non-router operation (as leaf) 2018-02-23 14:26:15 +01:00
fd884c2d05 gnrc: rpl: DEBUG fix 2018-01-15 14:37:05 +01:00
4dba9ee6ba sys: net: adapt to compile-checked debug messages 2018-01-15 14:37:04 +01:00
Martine Lenders
2ae30cf582 gnrc_netif: rename IPv6 address "setters"
This renames the following functions

* `gnrc_netif_ipv6_addr_add()`
* `gnrc_netif_ipv6_addr_remove()`
* `gnrc_netif_ipv6_group_join()`
* `gnrc_netif_ipv6_group_leave()`

by appending the suffix `_internal`.

\## Reasoning

I'd like to provide a helper function for the *public* equivalent using
`gnrc_netapi_set()`, and those names are to nice to not be taken for
those.

\## Procedure
I used a combination of `git grep` and `sed` to do this and fixed the
alignment in the result of some cases by hand.

```sh
git grep --name-only "\<gnrc_netif_ipv6_\(addr\|group\)_\(add\|remove\|join\|leave\)\>" | \
        xargs sed -i 's/\<gnrc_netif_ipv6_\(addr\|group\)_\(add\|remove\|join\|leave\)/\0_internal/g'
```
2017-12-13 13:50:39 +01:00
Martine Lenders
63cc5f6751
gnrc_rpl: fix corner cases in sec/ms conversion in prefix lifetimes
Two edge cases were previously missed:

1. Infinite should stay infinite. Prefixes with infinite lifetimes
   should be advertised as such. Likewise, should prefixes with
   infinite lifetimes be added to the prefix list as such
2. Prefixes with lifetimes > (UINT32_MAX - 1) / 1000 should have the
   longest possible lifetime below infinite (UINT32_MAX - 1)

This fixes that.
2017-11-24 13:45:26 +01:00
Martine Lenders
97b0db61ca gnrc_rpl: remove redundant iface variable 2017-11-24 00:20:32 +01:00
Martine Lenders
423fc74bd2 gnrc_rpl: fix check if DODAG-ID is on interface 2017-11-24 00:20:32 +01:00
Martine Lenders
279e19fe8a gnrc_rpl: properly handle prefix list 2017-11-23 22:56:55 +01:00
3979ffcf1b gnrc_rpl: Exclude routes without next hop from DAO packets 2017-11-23 19:29:07 +01:00
Martine Lenders
ec02458c55
gnrc_rpl: fix abandoned packet bug in transit option build
Due to the transit option build function being passed a NULL pointer,
the previous transit and target options are dropped (and never freed).

This fixes #8098 and #8126.
2017-11-23 18:43:36 +01:00
Cenk Gündoğan
5b5c479043 rpl: replace fib with nib 2017-11-20 00:35:17 +01:00
Martine Lenders
31b1ceb440
gnrc_netif2: rename to gnrc_netif 2017-11-17 10:41:54 +01:00
Martine Lenders
01c21fa274
tests: make gnrc_ipv6_ext test compilable with gnrc_netif2
Test currently not working
2017-11-13 16:36:34 +01:00
Martine Lenders
861035f22d gnrc: integrate gnrc_netif2
Not link-able, since NDP and NC are missing (intentionally)
2017-11-07 19:08:44 +01:00
Lucas Jenss
6998ffbb14 cppcheck: Provide consistent reason formatting for all cppcheck-suppresses 2017-10-10 10:25:20 -07:00
426e978972 rpl: Sort list of parents 2017-08-22 16:03:16 +02:00
BytesGalore
89716729c8 Merge pull request #7161 from cgundogan/pr/trickle_enhancements
trickle: enhancements
2017-06-09 09:15:54 +02:00
Cenk Gündoğan
04d89d3381 rpl: adjust to trickle enhancements 2017-06-09 09:03:24 +02:00
Cenk Gündoğan
6add982d3f rpl: send dis near parent timeout 2017-06-08 21:46:06 +02:00
Cenk Gündoğan
3921fc86a7 Merge pull request #6901 from BytesGalore/rpl_drop_dao_ack_on_mc
rpl: drop DAO-ACK when received via multicast
2017-05-30 21:28:58 +02:00
BytesGalore
da38b77ba4 rpl: drop DAO-ACK when received on multicast 2017-05-30 18:05:00 +02:00
0fcc7d3834 cleanup: apply headerguard script output 2017-05-24 17:54:02 +02:00
smlng
41c43fd837 rpl: make parent lifetime consistent with other timers 2017-04-25 20:09:41 +02:00
Martine Lenders
c2c2516a53 gnrc: fix cppcheck warnings 2017-04-14 14:36:14 +02:00
BytesGalore
3ec69a2b2b rpl: remvove forward declaration 2017-04-11 11:38:06 +02:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01:00
Oleg Hahm
4f4214235b timex: unambiguous time conversion macros 2017-01-19 13:18:08 +01:00
Joakim Nohlgård
7c48c891a0 xtimer: Update xtimer usage to match API changes 2016-11-29 20:44:31 +01:00
Martine Lenders
0016463687 all: fix for new netreg_entry_t structure 2016-10-25 22:17:18 +02:00
Oleg Hahm
b428979a1d debug: add missing line breaks 2016-09-27 23:38:41 +02:00
Cenk Gündoğan
ad6677b33f gnrc_rpl: netstats_rpl: introduce statistics 2016-09-27 20:40:04 +02:00
Martine Lenders
9874a6d69a Merge pull request #5811 from makomi/gnrc
sys/net/gnrc: fix cppcheck errors/ warnings
2016-09-05 13:06:04 +02:00
Matthias Kolja Miehl
0e1d749340 sys/net/gnrc: gnrc_rpl_control_messages: fix variableScope 2016-09-05 02:24:05 +02:00
smlng
c1fe8d5d9d gnrc_rpl: fix prefix length 2016-08-25 16:35:17 +02:00
7718f114cb all: remove pointer casts for msg.content.ptr 2016-06-02 23:13:42 +02:00
Cenk Gündoğan
0613c8faf4 gnrc_rpl: validation configurable on compile-time 2016-06-01 09:07:55 +02:00
Cenk Gündoğan
25baea1e50 gnrc_rpl: separate validation from msg handling 2016-06-01 09:05:24 +02:00
Cenk Gündoğan
2f9a37a624 gnrc_rpl: move len macros to header file 2016-06-01 09:05:24 +02:00
Cenk Gündoğan
a10151d5f0 Merge pull request #5440 from cgundogan/pr/auto_init/rpl
auto_init: initialize gnrc_rpl
2016-06-01 07:59:41 +02:00
Cenk Gündoğan
1b4607ab43 auto_init: initialize gnrc_rpl 2016-05-31 22:13:32 +02:00
Cenk Gündoğan
5c42d430ec rpl_p2p: rm non-existing fib flag 2016-05-31 11:03:19 +02:00
Martine Lenders
b8787b64c4 Merge pull request #5267 from cgundogan/pr/gnrc_rpl/reduce_scope_now
gnrc_rpl: reduce scope of now
2016-04-22 18:23:37 +02:00
Martine Lenders
f86bf8c9cd gnrc_rpl: use non-stack variable for link-local matching 2016-04-18 17:14:27 +02:00
Cenk Gündoğan
6f9d3a15ac gnrc_rpl: reduce scope of now 2016-04-08 19:55:07 +02:00
Cenk Gündoğan
9dbfdcac0b Merge pull request #4279 from BytesGalore/fib_prefix_handling_change
fib: changed handling of the net prefix by the FIB
2016-03-30 11:19:49 +02:00
BytesGalore
1bc9c3bfd2 fib: changed handling of the net prefix
Until now the prefix length has been determined automatically by the FIB
This PR changes it to be provided as msb(yte) in the global_flags of an entry
2016-03-30 10:05:05 +02:00
Yonezawa-T2
35cf255330 rpl: fix compile error in DEBUG 2016-03-30 14:16:06 +09:00
Oleg Hahm
376874284b Merge pull request #3721 from cgundogan/pr/rpl/gnrc_rpl_p2p
rpl: introducing P2P-RPL
2016-03-29 19:04:27 +02:00
Cenk Gündoğan
b5c09bfc41 rpl: introducing p2p-rpl 2016-03-24 12:12:07 +01:00
Martine Lenders
1724ab50fc Merge pull request #4654 from Yonezawa-T2/fix_ipv6_ext
ipv6_ext: fixed extension header handling
2016-03-24 10:53:00 +01:00
Oleg Hahm
a65e6aad59 Merge pull request #5118 from OlegHahm/udp_build_hdr_simplification
gnrc: simplify hdr_build functions
2016-03-23 15:31:58 +01:00
Martine Lenders
9a60fb30b7 Merge pull request #5136 from cgundogan/pr/gnrc_rpl/netif_addr
gnrc_rpl: add netif_addr to DODAG
2016-03-23 15:27:42 +01:00
Oleg Hahm
991c71cf27 gnrc ipv6: use ipv6_addr_t ptr for hdr_build 2016-03-23 15:20:12 +01:00
Oleg Hahm
360413a033 gnrc ipv6 hdr: remove len params from hdr_build 2016-03-23 15:20:11 +01:00
Cenk Gündoğan
c0a8ce39ac Merge pull request #5141 from cgundogan/pr/gnrc_rpl/remove_parent_create_new_fib_entry
gnrc_rpl: new default route when old one was deleted
2016-03-23 15:13:53 +01:00
Oleg Hahm
ec78d1308e Merge pull request #5146 from cgundogan/pr/gnrc_rpl/remove_superfluous_trickle_reset
gnrc_rpl: remove superfluous trickle reset
2016-03-23 11:41:39 +01:00
Cenk Gündoğan
eae0e4c724 gnrc_rpl: new default route when old one was deleted 2016-03-23 11:37:33 +01:00
Cenk Gündoğan
b280984862 gnrc_rpl: add netif_addr to DODAG 2016-03-23 10:37:38 +01:00