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
Benjamin Valentin
28ff28aee0 gnrc/ipv6_auto_subnets: document the role of the RIO 2022-08-16 11:31:23 +02:00
Benjamin Valentin
18e74ae8c0 gnrc/ipv6_auto_subnets: document subnet generation better 2022-08-16 11:31:23 +02:00
Benjamin Valentin
d4a3521501 doc/doxygen: add gnrc_ipv6_auto_subnets.c to INPUT 2022-07-15 11:47:01 +02:00
Benjamin Valentin
c7ac22c892 gnrc/ipv6_auto_subnets: improve wording in documentation 2022-07-15 01:50:15 +02:00
Marian Buschsieweke
5a47d6a9b8
sys/net/gnrc/rpl: sync access to netstats
Synchronize the RPL thread updating the RPL netstats with the RPL
shell command reading it by disabling IRQs. This will prevent printing
corrupted data on non-32bit platforms as well as printing inconsistent
data (e.g. TX count of old state in conjunction with TX bytes of new
state) for all platforms.

Co-authored-by: Martine Lenders <mail@martine-lenders.eu>
2022-06-30 09:48:46 +02:00
Marian Buschsieweke
93d8bade8e
sys/net/gnrc/rpl: refactor netstats_rpl_t
There is a repeating pattern in the struct that is split out into a
subtype in this commit. This makes handling the data easier, as now
done in the print routine.
2022-06-30 09:48:45 +02:00
Benjamin Valentin
d102bf90ea gnrc/ipv6_auto_subnets: always send RIO to upstream network
In a881af8b08 we would return early if the subnet did not change,
but we must still send the router advertisement with the route information
option to the upstream network, otherwise hosts in that network will not
consider the downstream subnet off-link.
2022-06-09 17:25:20 +02:00
Martine Lenders
a61c4b738c
Merge pull request #17547 from benpicco/gnrc_ipv6_auto_subnets-multi
gnrc/ipv6_auto_subnets: allow to join multiple subnets
2022-05-24 15:49:17 +02:00
Benjamin Valentin
b13b942e18 gnrc/ipv6_auto_subnets: allow to join multiple subnets 2022-05-12 00:44:18 +02:00
Benjamin Valentin
1c1cb481da gnrc/ipv6_auto_subnets: only use prefix meant for address configuration 2022-05-10 16:41:20 +02:00
Benjamin Valentin
a881af8b08 gnrc/ipv6_auto_subnets: bail out early if prefix stays the same 2022-05-01 21:37:32 +02:00
Benjamin Valentin
5785856fe7 gnrc/ipv6_auto_subnets: bail out early if adding prefix fails 2022-04-29 22:56:35 +02:00
Benjamin Valentin
3993fd75d0 gnrc/ipv6_auto_subnets: auto init RPL root 2022-04-29 22:56:35 +02:00
Benjamin Valentin
11672ac5e4 gnrc/rpl: auto-init RPL if there is only a single interface 2021-12-03 15:34:17 +01:00
Benjamin Valentin
9d5808d756 gnrc/ipv6_auto_subnets: set RIO priority to ZERO
This is required for Linux to accept the RIO

with this patch:

2001:db8:8000::/33 via fe80::d0e7:ffff:fe46:6b52 dev tap0 proto ra metric 1024 expires 86338sec pref medium
2001:db8::/32 dev tap0 proto kernel metric 256 pref medium

before:

2001:db8::/32 dev tap0 proto kernel metric 256 pref medium
2021-10-15 15:57:59 +02:00
Benjamin Valentin
6742fb8076 gnrc/ipv6_auto_subnets: relax topology requirements 2021-09-28 16:57:10 +02:00
Benjamin Valentin
b208db0f27 gnrc_ipv6_auto_subnets: auto-configuration for nested subnets
If we get a large (e.g. /62) prefix from e.g. DHCPv6, we can split it
into subnets automatically to configure downstream interfaces.

This allows for automatic configuration of daisy-chained nodes or
nodes connected in a tree topology.

To enable the feature, a new pseudo-module `gnrc_ipv6_auto_subnets` is
provided.
2021-09-02 15:35:14 +02:00
Hauke Petersen
f5f28347c2 net/gnrc/rpl: add hooks for nimble_rpble 2021-08-24 11:33:13 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
Benjamin Valentin
d99972791a gnrc/rpl: add gnrc_rpl_configure_root() convenience function 2021-07-29 16:04:28 +02:00
Benjamin Valentin
3dad587307 gnrc/rpl: allow const dodag ID 2021-07-29 16:04:28 +02:00
Hauke Petersen
7c6b72d3b4 net/gnrc/rpl: use ztimer_msec if available 2021-06-16 20:39:32 +02:00
Cenk Gündoğan
72337ebb9b
gnrc_rpl: harden validation routine for options 2021-02-23 18:58:03 +01:00
Cenk Gündoğan
896e44cf93
rpl: strenghen length checks for DAO and DAO-ACK 2021-02-18 15:47:53 +01:00
Bas Stottelaar
922e2ac1c9 sys/*: replace #if ENABLE_DEBUG with IS_ACTIVE 2020-11-02 21:49:39 +01:00
Bas Stottelaar
1b35d06a51 sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
Bas Stottelaar
80d9da90df sys/*: add missing include of assert.h 2020-10-22 11:13:09 +02:00
Martine Lenders
5d1d38d8f7
Merge pull request #15207 from chrysn-pull-requests/rpl-no-race
gnrc_rpl: Check for race against initializer thread
2020-10-20 19:04:14 +02:00
chrysn
7ed50c3d18 gnrc_rpl: Lock against race against initializer thread
When gnrc_rpl_init was called from a thread with higher priority than
the RPL thread, the initializer's call to gnrc_netreg_register would be
executed before the event loop even had a chance to set up its message
queue.

The added short-lived lock makes it work from threads of any priority.
2020-10-20 16:14:04 +02:00
Martine Lenders
45144fb4a4
treewide: use new gnrc_pkt API functions instead of utlist.h macros 2020-10-13 13:32:53 +02:00
Martine S. Lenders
f7913b3d47
gnrc_rpl: check index after fetching address from netif 2020-09-07 08:39:29 +02:00
Leandro Lanzieri
d25fc243c4
treewide: change prefix for generated Kconfig symbols.
This changes the prefixes of the symbols generated from USEMODULE and
USEPKG variables. The changes are as follow:

   KCONFIG_MODULE_ => KCONFIG_USEMODULE_
   KCONFIG_PKG_ => KCONFIG_USEPKG_
   MODULE_ => USEMODULE_
   PKG_ => USEPKG_
2020-08-31 09:37:09 +02:00
Hauke Petersen
d8aa76501a net/gnrc/rpl: fix default route lifetime
On receiving a DIO message, RPL sets the lifetime for the default
route and the parent timeout event to the value. This leads to short
amounts of time whem the node looses its default route, while it
handles the parent timeout event to probe its parent.

This commit fixes this by adding time the node needs for probing
to the default route lifetime.
2020-08-24 17:53:00 +02:00
Leandro Lanzieri
3dc7865c4e
gnrc/rpl: Configure queue size with exponent
This changes the configuration macro to be the exponent of 2^n, as the
message queue size needs to be always power of 2.
2020-06-15 07:30:51 +02:00
Leandro Lanzieri
4b3bfd3c83
gnrc/rpl: Expose configurations to Kconfig 2020-05-14 15:57:02 +02:00
Leandro Lanzieri
8ce77f2045
gnrc/rpl: Move GNRC_RPL_MSG_QUEUE_SIZE to 'CONFIG_' namespace 2020-05-14 15:57:02 +02:00
Leandro Lanzieri
2c04f54d28
gnrc/rpl: Move GNRC_RPL_DEFAULT_NETIF to 'CONFIG_' namespace 2020-05-14 15:57:01 +02:00
Leandro Lanzieri
d075b4dfe9
gnrc/rpl: Move GNRC_RPL_PARENT_TIMEOUT_DIS_RETRIES to 'CONFIG_' 2020-05-14 15:57:01 +02:00
Leandro Lanzieri
e547061d19
gnrc/rpl: Move GNRC_RPL_DEFAULT_INSTANCE to 'CONFIG_' namespace 2020-05-14 15:57:01 +02:00
Leandro Lanzieri
5a28e7cad4
gnrc/rpl: Move GNRC_RPL_DEFAULT_MAX_RANK_INCREASE to 'CONFIG_' 2020-05-14 15:57:00 +02:00
Leandro Lanzieri
1b6f915e0c
gnrc/rpl: Move GNRC_RPL_DEFAULT_MIN_HOP_RANK_INCREASE to 'CONFIG_' 2020-05-14 15:57:00 +02:00
Leandro Lanzieri
cd50686eb6
gnrc/rpl: Move GNRC_RPL_WITHOUT_VALIDATION to 'CONFIG_' namespace
Also check its value using IS_ACTIVE when possible.
2020-05-14 15:57:00 +02:00
Leandro Lanzieri
02b10105c1
gnrc/rpl: Move GNRC_RPL_DODAG_CONF_OPTIONAL_ON_JOIN to 'CONFIG_' 2020-05-14 15:56:59 +02:00
Leandro Lanzieri
dfa722c519
gnrc/rpl: Move GNRC_RPL_WITHOUT_PIO to 'CONFIG_' namespace
Also evaluate its value using IS_ACTIVE when possible.
2020-05-14 15:56:59 +02:00
Leandro Lanzieri
908309f714
gnrc/rpl: Move GNRC_RPL_CLEANUP_TIME to 'CONFIG_' namespace 2020-05-14 15:56:58 +02:00
Leandro Lanzieri
33189b869e
gnrc/rpl: Move GNRC_RPL_DAO_DELAY_JITTER to 'CONFIG_' namespace 2020-05-14 15:56:58 +02:00
Leandro Lanzieri
3deab70a4c
gnrc/rpl: Move GNRC_RPL_DAO_DELAY_DEFAULT to 'CONFIG_' namespace 2020-05-14 15:56:57 +02:00
Leandro Lanzieri
c8fb88d2f0
gnrc/rpl: Move GNRC_RPL_DAO_DELAY_LONG to 'CONFIG_' namespace 2020-05-14 15:56:57 +02:00
Leandro Lanzieri
c162631aa3
gnrc/rpl: Move GNRC_RPL_DAO_ACK_DELAY to 'CONFIG_' 2020-05-14 15:56:57 +02:00
Leandro Lanzieri
df29a769ba
gnrc/rpl: Move GNRC_RPL_DAO_SEND_RETRIES to 'CONFIG_' namespace 2020-05-14 15:56:56 +02:00