1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-22 04:53:50 +01:00

9182 Commits

Author SHA1 Message Date
Martine Lenders
c86bd7454c
Merge pull request #16557 from benpicco/gnrc_ipv6_nib-fib_on-link
gnrc_ipv6_nib: consider largest prefix match when deciding if host on-link
2021-08-09 18:53:40 +02:00
Benjamin Valentin
452500b3eb gnrc_ipv6_nib: consider largest prefix match when deciding if host on-link
If the fib contains a route to a subnet via another host, it can not
be on-link.

Consider fib entries when deciding whether an address is on-link.
If a route via another host is a stronger match than an on-link
prefix, the address must be off-link.
2021-08-09 16:57:14 +02:00
Benjamin Valentin
f4fa197951 gnrc_netif: properly initialize address in gnrc_netif_ipv6_add_prefix()
Initialize addr with 0 first.
Otherwise if prefix is < 64 there will be random bits of stack memory
in the bits of the address that are neither touched by ipv6_addr_set_aiid()
nor ipv6_addr_init_prefix().
2021-08-09 16:50:21 +02:00
Martine Lenders
6e0c8db99f
Merge pull request #16706 from miri64/gnrc_ipv6_nib/enh/offset-time-functions
gnrc_ipv6_nib: provide functions to get offset of public timestamps
2021-08-08 02:28:12 +02:00
Martine Lenders
c33e40cce1
gnrc_ipv6_nib: provide functions to get offset of public timestamps 2021-08-07 14:04:44 +02:00
Francisco Molina
9195f772ad sys/net/nanocoap: block_finish returns if more are expected 2021-08-06 09:29:03 +02:00
benpicco
81df6d6fcb
Merge pull request #16712 from miri64/gcoap+nanocoap/enh/buffer-path
nanocoap & gcoap: allow path to be non-`\0`-terminated.
2021-08-05 17:25:41 +02:00
Martine Lenders
17b9c5adbb
Merge pull request #16707 from benpicco/sys/uri_parser-constify
uri_parser: constify result
2021-08-05 15:55:45 +02:00
Martine Lenders
5d59065b09
gcoap: provide buffer version of gcoap_req_init()
This simplifies the usage of `gcoap` with modules such as `uri_parser`
greatly.
2021-08-05 13:31:07 +02:00
Martine Lenders
adce90343c
nanocoap: provide buffer version of coap_opt_add_uri_path()
This simplifies the usage of `nanocoap` with modules such as
`uri_parser` greatly.
2021-08-05 11:25:13 +02:00
Martine Lenders
1b0152bd73
Merge pull request #16709 from leandrolanzieri/pr/net/netif_get_by_name_buf
net/netif: add function to get interface by name from a buffer
2021-08-04 19:37:55 +02:00
Leandro Lanzieri
d8cf157b26
sys/net/netif: add netif_get_by_name_buffer function 2021-08-04 18:12:56 +02:00
José Alamos
39d27c2f7c
Merge pull request #16533 from jia200x/pr/submac_fixes
ieee802154/submac: fix initialization code
2021-08-04 16:53:58 +02:00
Peter Kietzmann
e1a8280e2b
Merge pull request #16689 from Ollrogge/usb_hid_pr2
usbus/hid_io: add missing header file, add RX callback function
2021-08-04 15:56:33 +02:00
Ollrogge
2c2eb88c0e usbus/hid: uncrustify files 2021-08-04 14:54:33 +02:00
Ollrogge
834ac3f5a5 usbus/hid_io: add missing header file, add RX callback function 2021-08-04 14:54:33 +02:00
Benjamin Valentin
b068d9245d uri_parser: constify result
`uri_parser_process()` takes a `const char *` as input parameter but
the result is a struct of `char *` to the original string.

This may lead a user to modifying the strings in `uri_parser_result_t`
which will cause a crash if the original string resides in read-only
memory (and violates the no-modifications promise of the const parameter
in `uri_parser_process()`).

To fix this, make the resulting strings `const` as well, so nobody dares
to touch them in a writing way.
2021-08-04 14:01:28 +02:00
Martine Lenders
af03ba4aa8
uri_parser: provide function to split query 2021-08-04 12:47:28 +02:00
José Alamos
91fe57a4d1
Merge pull request #16654 from jia200x/pr/gnrc_lorawan_tests
tests/gnrc_lorawan: add initial tests
2021-08-04 10:33:33 +02:00
Martine Lenders
8492bd7b12
Merge pull request #16568 from benpicco/gnrc_ipv6_nib-rio
gnrc_ipv6_nib: handle route information option and add config to add to final RAs
2021-08-03 15:44:01 +02:00
Benjamin Valentin
71ae768e56 net/gnrc/ipv6/nib: add option to include RIO with final RA
Sending a RA with ltime = 0 does not get us added to the default router
list, but the options (and therefore the RIO) are still parsed.

This even appears to work with Linux as a receiver.
2021-08-02 21:44:55 +02:00
Jose Alamos
179a2c2780
net/gnrc_lorawan: fix random_uint32_range upper bound 2021-08-02 10:28:17 +02:00
Martine Lenders
6b5a1818f1
Merge pull request #16672 from benpicco/gnrc_util_conf_prefix
gnrc_netif: add gnrc_netif_ipv6_add_prefix() & helper functions
2021-07-29 18:01:26 +02:00
Benjamin Valentin
6e3c09eb78 sys/net/uhcp: make use of gnrc_netif_ipv6_add_prefix() 2021-07-29 16:04:28 +02:00
Benjamin Valentin
a18f123ff1 gnrc_dhcpv6_client: make use of gnrc_netif_ipv6_add_prefix() 2021-07-29 16:04:28 +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
Benjamin Valentin
b90c6ed373 gnrc_netif: add gnrc_netif_ipv6_add_prefix() 2021-07-29 16:04:28 +02:00
Martine Lenders
485eb741e2
Merge pull request #16644 from benpicco/gnrc_ipv6_nib-evtimer_del-fix
gnrc_ipv6_nib: don't stop sending router solicitations when receiving last router advertisement from router
2021-07-29 12:23:14 +02:00
Martine Lenders
4b7ef70e66
gcoap: fix socket type naming
The `coap_socket_t` and `coap_socket_type_t` types are used by gCoAP
only and the `coap_` prefix is usually used to namespace the `nanocoap`
module's API. This makes it confusing to locate the types in question.

Signed-off-by: Martine Lenders <m.lenders@fu-berlin.de>
2021-07-27 22:37:04 +02:00
Benjamin Valentin
62308d200c gnrc_ipv6_nib: don't stop sending router solicitations on last RA
When the default router was removed or could not be added, `dr` will
be NULL.

In this case, don't cease sending router solicitations - we still don't
have a default router.
2021-07-26 23:56:53 +02:00
Martine Lenders
e3b52ff08d
Merge pull request #16679 from kfessel/p-dhcp-mrd
dhcpv6_client: mrd calculation fixed
2021-07-23 19:02:38 +02:00
Martine Lenders
0f1e0b6798
Merge pull request #16676 from miri64/nanocoap/enh/opt_accept
nanocoap: provide Accept option convenience function
2021-07-23 18:21:22 +02:00
Karl Fessel
238c759899 dhcpv6_client: mrd calculation fixed for renew and rebind
mrd calculation for dhcp-renew was wrong this fixes it
and the logic for dhcp rebind mrd handling
    (try rebind if ther is mrd)
see issue  #16677
2021-07-23 17:54:55 +02:00
Karl Fessel
fe9a6d7d84 gnrc_dhcpv6_client: dhcp-helper-function return valid seconds left
dhcpv6_client_prefix_valid_until returned the valid timestamp
this fixes it according to the documentation given in
/sys/include/net/dhcpv6/client.h
to return seconds left
2021-07-23 17:53:59 +02:00
Martine Lenders
fc1bd005de
Merge pull request #16673 from miri64/netutils/fix/netif_get_by_name
netutils: get interface by name rather than ID
2021-07-23 15:51:15 +02:00
Martine Lenders
3cff67ce13
nanocoap: provide Accept option convenience function 2021-07-23 15:25:41 +02:00
Martine Lenders
81c927f80a
netutils: get interface by name rather than ID
The zone ID part in a host part is the name of the network interface
(which by chance is the string representation of the ID with GNRC), not
the ID.
2021-07-22 17:26:47 +02:00
Benjamin Valentin
12a0d481dc gnrc_ipv6_nib: handle route information option 2021-07-22 15:54:46 +02:00
Benjamin Valentin
5ad58b152a gnrc_ipv6_nib: make use of _nib_onl_nc_get() 2021-07-22 13:37:12 +02:00
Benjamin Valentin
c189ed5d1b gnrc_ipv6_nib: add _nib_onl_nc_get() 2021-07-22 13:37:11 +02:00
Benjamin Valentin
11e9b7c08f gnrc_ipv6_nib: only consider NC in gnrc_ipv6_nib_get_next_hop_l2addr()
Consider the following: A node tries to forward a packet to another
host for which it does not know the route yet. It assumes it to be
on-link and starts a neighbor solicitation, putting the node address
in the destinatio cache.

Later the route is known (via a second hop) but the host is still in
the NIB.

The result is that gnrc_ipv6_nib_get_next_hop_l2addr() ends up in the
"nib: %s is in NC or on-link, start address resolution" case and does
not attempt to resolve the route.

This results in the host remaining unreachable even though now a route
is present.
2021-07-22 13:36:53 +02:00
Benjamin Valentin
ac0b36384f gnrc_ipv6_nib: improve debug output 2021-07-22 13:18:55 +02:00
Martine Lenders
6493241ed4
dhcpv6_client: add ztimer backend support 2021-07-21 16:28:39 +02:00
Martine Lenders
b5d9f78cbd
dhcpv6_client: port timeout mechanism to event_timeout 2021-07-21 16:28:39 +02:00
Martine Lenders
805952c5ce
dhcpv6_client: use event_timeout instead of xtimer 2021-07-21 16:28:37 +02:00
Martine Lenders
ed9a682e49
dhcpv6_client: set timer by unit rather than integer width 2021-07-21 16:27:54 +02:00
Martine Lenders
d1613da617
dhcpv6_client: use milliseconds rather than microseconds as base unit 2021-07-21 16:27:54 +02:00
Martine Lenders
02c0581ab9
timex: introduce MS_PER_CS 2021-07-21 16:27:53 +02:00
Martine Lenders
eb577c933e
dhcpv6_client: move timer setting to their own functions 2021-07-21 16:27:53 +02:00