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

4539 Commits

Author SHA1 Message Date
Hauke Petersen
f5f28347c2 net/gnrc/rpl: add hooks for nimble_rpble 2021-08-24 11:33:13 +02:00
benpicco
3d0e5509dc
Merge pull request #16734 from benpicco/_handle_rio-ltime
gnrc_ipv6_nib: handle route information option with ltime = 0
2021-08-24 10:20:02 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
Jan Romann
18dd056f8a
sys/net/dhcpv6: Add missing IA_NA IS_USED check 2021-08-18 02:03:56 +02:00
Jan Romann
192e09b7bf
sys/net/dhcpv6: Refactor update of leases 2021-08-18 02:00:12 +02:00
Jan Romann
d0dd12cf25
sys/net/dhcpv6: Refactor parsing of IA_PD 2021-08-18 02:00:11 +02:00
Jan Romann
1daa4b6e30
sys/net/dhcpv6: Refactor message composition 2021-08-18 02:00:08 +02:00
Jan Romann
bbce04f854
sys/net/dhcpv6: Refactor mrd calculation 2021-08-18 02:00:08 +02:00
Jose Alamos
e9a2f186ba
gnrc_netif_pktq: send schedule msg directly if dequeue timer is zero 2021-08-16 14:42:56 +02:00
Simon Brummer
6fba0d970c gnrc_sock_tcp: integrate gnrc_tcp 2021-08-14 21:27:34 +02:00
benpicco
a76bc58d9b
Merge pull request #16738 from brummer-simon/gnrc_tcp-handle_zero_size_buffers
gnrc_tcp: handle zero size buffers
2021-08-14 18:44:29 +02:00
benpicco
6d7fdfccd6
Merge pull request #16736 from brummer-simon/gnrc_tcp-document_internal_defines
gnrc_tcp: Document internal defines
2021-08-14 17:42:58 +02:00
Simon Brummer
11d73fbf30 gnrc_tcp: handle zero size buffers 2021-08-14 17:04:57 +02:00
benpicco
84413a3e6e
Merge pull request #16735 from brummer-simon/gnrc_tcp-add_GNRC_TCP_NO_TIMEOUT
gnrc_tcp: Add GNRC_TCP_NO_TIMEOUT
2021-08-14 17:00:11 +02:00
benpicco
6eacb41e23
Merge pull request #16664 from jia200x/pr/gnrc/lorawan/random
net/gnrc_lorawan: fix pick channel
2021-08-14 16:35:14 +02:00
Simon Brummer
41bafdd928 gnrc_tcp: Document internal defines 2021-08-14 15:49:42 +02:00
Simon Brummer
6b24601ee9 gnrc_tcp: Add GNRC_TCP_NO_TIMEOUT 2021-08-14 15:28:14 +02:00
Benjamin Valentin
0ead10e79a gnrc_ipv6_nib: handle route information option with ltime = 0 2021-08-13 21:35:48 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
benpicco
1fd645ebcd
Merge pull request #16725 from JKRhb/cocinelle-fixes
ci: fix coccinelle warnings
2021-08-12 23:15:37 +02:00
Martine Lenders
febb07c64e
Merge pull request #16704 from fjmolinas/pr_block_finish_return_more
sys/net/nanocoap: block_finish returns if more are expected
2021-08-12 19:16:46 +02:00
Jan Romann
e7a24fe136
gnrc_netif/lorawan: fix ENABLE_DEBUG definition 2021-08-12 17:30:46 +02:00
Jan Romann
441afca9fe
drivers/nrf24l01p_ng: fix ENABLE_DEBUG definitions 2021-08-12 17:30:45 +02:00
Jan Romann
ad0096cde6
sys/net/dhcpv6: Refactor IA_NA implementation 2021-08-11 22:19:59 +02:00
Martine Lenders
f2f6700865
Merge pull request #16228 from JKRhb/dhcp-ia-na
sys/net/dhcpv6: Add IA_NA support to the DHCPv6 client
2021-08-11 20:50:01 +02:00
Jan Romann
234a71870a
sys/net/dhcpv6: Add IA_NA implementation 2021-08-11 19:15:35 +02:00
Martine Lenders
2d7c613948
tests/gnrc_dhcpv6_relay: initial import 2021-08-11 14:30:37 +02:00
Martine Lenders
4afc65688f
dhcpv6_relay: initial import of a lightweight DHCPv6 relay agent 2021-08-11 13:19:06 +02:00
Martine Lenders
6da2f0fab3
Merge pull request #16669 from miri64/sock_dns/enh/factor-out-msg-parsing
sock_dns: factor out message parsing and composition
2021-08-11 12:43:26 +02:00
Martine Lenders
de3e5f964a
Merge pull request #16671 from benpicco/gnrc/nib-_nib_onl_get-fix
gnrc/nib: gnrc_ipv6_nib_get_next_hop_l2addr(): only assume neighbor cache entries to always be on-link
2021-08-11 12:17:38 +02:00
Martine Lenders
7920ab2b95
dns_msg: make parsing input buffer const 2021-08-11 11:55:29 +02:00
Martine Lenders
e8cbc6da85
dns: move message parsing and composition to own module 2021-08-11 11:55:29 +02:00
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
Francisco Molina
9195f772ad sys/net/nanocoap: block_finish returns if more are expected 2021-08-06 09:29:03 +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
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
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
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
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
eb577c933e
dhcpv6_client: move timer setting to their own functions 2021-07-21 16:27:53 +02:00
Martine Lenders
bf764fd700
sock_dns: move module to directory named like module 2021-07-21 14:58:04 +02:00
benpicco
c4bc40f03b
Merge pull request #16658 from miri64/dhcpv6_client/enh/optional-ia_pd
dhcpv6_client: make IA_PD an optional module
2021-07-21 14:36:34 +02:00
Martine Lenders
38d14b6335
dhcpv6_client: make IA_PD an optional module
Prefix delegation used to be the only supported feature of our DHCPv6
client, but by now it also supports MUD, DNS recursive name servers and
IA_NA is on the horizon. So it makes sense to make IA_PD an optional
module like all those other features are as well.
2021-07-21 11:37:29 +02:00
Benjamin Valentin
da7d3779bf examples/gnrc_networking: move udp command to shell commands
The `udp` command is a valuable debugging tool that is also useful
outside of the gnrc_networking example.

To enable easy sending of udp messages in other applications during
development, move the `udp` command to the shell module and introduce
the `gnrc_udp_cmd` pseudo-module to enable it.
2021-07-21 11:19:47 +02:00
Martine Lenders
7793098ed8
Merge pull request #16634 from benpicco/gnrc_netif_parse_hostname
netutils: add netutils_parse_hostname()
2021-07-21 10:11:25 +02:00
Jose Alamos
df97f348e2
net/gnrc_lorawan: implement uplink redundancy
This commit implements uplink redundancy in GNRC LoRaWAN. Uplink
redundancy is used to retransmit unconfirmed uplink frames. The
retransmission stops when either a downlink message is received or the
number of uplink retransmissions is reached.

This functionality doesn't affect confirmed uplinks.
2021-07-21 03:51:47 +02:00
Jose Alamos
02151deae4
net/loramac: add redundancy configuration parameter 2021-07-21 03:51:46 +02:00
Jose Alamos
4692e9e376
net/gnrc_lorawan: fix dependency resolution 2021-07-21 03:41:33 +02:00
Benjamin Valentin
3081eeb556 netutils: add netutils_get_ipv6() 2021-07-20 22:44:39 +02:00
Martine Lenders
70f3723fab
Merge pull request #16659 from miri64/gnrc_dhcpv6_client_mud_url/cleanup/rename
gnrc_dhcpv6_client_mud_url: rename to dhcpv6_client_mud_url
2021-07-20 17:22:17 +02:00
Martine Lenders
d9be29318d
gnrc_dhcpv6_client_mud_url: rename to dhcpv6_client_mud_url
There is no real reason for that pseudo-module to use the `gnrc_`
prefix. Neither does it need GNRC-components (except, but optionally, as
a network stack of course), nor is it implemented with in the GNRC
network stack.
2021-07-20 15:30:34 +02:00
Martine Lenders
a0b9eb064c
gnrc_dhcpv6_client_simple_pd: fix old doc and names 2021-07-20 14:42:07 +02:00
Leandro Lanzieri
9ca9efd15b
Merge pull request #16640 from jia200x/pr/revert/rx_symbol
net/lorawan: Revert #16604 and fix NETOPT_RX_SYMBOL_TIMEOUT documentation
2021-07-14 16:42:38 +02:00
Martine Lenders
5c3c1b6a5f
gnrc_sock: imply end-point netif only if unset 2021-07-14 10:29:09 +02:00
Jose Alamos
f7dd532dd3
Revert "net/gnrc_lorawan: use uint8_t for NETOPT_RX_SYMBOL_TIMEOUT"
This reverts commit e791a86971.
2021-07-13 21:14:03 +02:00
Simon Brummer
873d1fe378 gnrc_tcp: align with sock_tcp 2021-07-13 20:32:14 +02:00
Jose Alamos
ee3fcaf8c2
ieee802154/submac: check error codes 2021-07-12 18:20:50 +02:00
Jose Alamos
4bd77183a3
ieee802154/submac: call confirm_set_trx_state after initialization 2021-07-12 16:47:15 +02:00
Jose Alamos
9d754a6ed4
ieee802154/submac: fix default SubGHz page 2021-07-12 16:47:15 +02:00
Jose Alamos
5e3f7e35f1
gnrc_netif/auto_init_*: avoid explicit cast to netdev 2021-07-09 11:35:21 +02:00
Jose Alamos
b483d1f809
netdev_test: avoid explicit cast to netdev 2021-07-09 11:35:19 +02:00
Jose Alamos
d33008483e
gnrc_netif_ieee802154: avoid explicit cast to netdev 2021-07-09 11:35:19 +02:00
Jose Alamos
fef46029be
link_layer/lwmac: avoid explicit cast to netdev 2021-07-09 11:35:18 +02:00
Jose Alamos
5de141227b
link_layer/gomach: avoid explicit cast to netdev 2021-07-09 11:35:18 +02:00
Francisco
79ee4fd489
Merge pull request #16459 from brummer-simon/gnrc_tcp-rewrite_passive_open
gnrc_tcp: rewrite passive open
2021-07-08 12:08:52 +02:00
Simon Brummer
88a0273434 gnrc_tcp: add listen/accept 2021-07-08 09:40:02 +02:00
benpicco
eacbaf5295
Merge pull request #15549 from janosbrodbeck/gcoap/pr/dtls
net/gcoap: support DTLS
2021-07-07 15:34:55 +02:00
János Brodbeck
23a8659bdf
net/gcoap: support DTLS 2021-07-07 14:45:30 +02:00
János Brodbeck
5567f13258
net/dtls/dsm: add DTLS session management module 2021-07-07 14:45:28 +02:00
José Alamos
ed1692033f
Merge pull request #16617 from jia200x/pr/gnrc_lorawan_fix_release
gnrc_lorawan: fix gnrc_pktbuf_release_error (introduced by #16080)
2021-07-07 10:15:33 +02:00
Jose Alamos
13274da74a
gnrc_lorawan: fix gnrc_pktbuf_release_error 2021-07-06 14:14:27 +02:00
Francisco
daeac91aea
Merge pull request #16604 from jia200x/pr/lora/fix_rx_timeout_size
netdev/lora: fix size of NETOPT_RX_SYMBOL_TIMEOUT
2021-07-06 12:15:00 +02:00
Jose Alamos
e791a86971
net/gnrc_lorawan: use uint8_t for NETOPT_RX_SYMBOL_TIMEOUT 2021-07-01 11:59:39 +02:00
Martine Lenders
c5a1012695
Merge pull request #16596 from JKRhb/aac-flags
sys/net/gnrc/netif: Make aac_mode a flag field
2021-06-30 13:29:44 +02:00
Jan Romann
672a86d58e
sys/net/gnrc/netif: Make aac_mode a flag field 2021-06-29 19:06:22 +02:00
Kevin "Tristate Tom" Weiss
25c871ed9a
Merge pull request #16576 from jia200x/pr/netdev/migrate_dst_filter
ieee802154: migrate `netdev_ieee802154_dst_filter` to a common ieee802154
2021-06-29 10:50:08 +02:00
Vera Clemens
b0f4781e15 net/emcute: Allow RETAIN flag to be set on incoming PUBLISHs 2021-06-25 18:32:53 +02:00
Kevin "Tristate Tom" Weiss
d9973d4bf8
Merge pull request #16586 from jia200x/pr/fix_gnrc_lorawan_psdu_null
gnrc_lorawan: fix undefined state when PSDU is NULL
2021-06-25 13:42:39 +02:00
Kevin "Tristate Tom" Weiss
05b61e84ae
Merge pull request #16584 from jia200x/pr/fix_gnrc_lorawan_memory_leak
gnrc_netif/lorawan: drop netif header on send
2021-06-25 10:25:01 +02:00
Martine Lenders
4deb15cb6f
dhcpv6_client: add DNS recursive name server option handling
Signed-off-by: Martine Lenders <m.lenders@fu-berlin.de>
2021-06-24 16:01:59 +02:00
Jose Alamos
a90e5e6fc4
gnrc_lorawan: update gnrc_lorawan_radio_rx_done function 2021-06-24 15:56:23 +02:00
Jose Alamos
71ddd3bd61
gnrc_lorawan: fix undefined state when PSDU is NULL 2021-06-24 15:51:04 +02:00
Jose Alamos
5808a16f23
gnrc_netif/lorawan: drop netif header on send 2021-06-24 15:21:05 +02:00
Jose Alamos
8f2be7b486
ieee802154: add ieee802154_dst_filter 2021-06-23 16:44:07 +02:00
Martine Lenders
270ea83c0f
Merge pull request #16531 from benpicco/drivers/slipdev-l2
drivers/slipdev: report NETOPT_ADDRESS to simulate l2 address
2021-06-22 20:15:31 +02:00
Martine Lenders
23fef51cae
Merge pull request #16569 from benpicco/gnrc_ipv6_nib-all_ifs
gnrc_ipv6_nib: consider all local interfaces when looking for address
2021-06-22 16:01:52 +02:00
Benjamin Valentin
8871b929ab gnrc_ipv6_nib: consider all local interfaces when looking for address
If a node has two interfaces A with 2001:16b8:45b5:9af8:5884:3bff:fe4f:a903
and B with 2001:16b8:45b5:9afa:5884:3bff:fe4f:a902 and receives a neighbor
solicitation on A for an address configured on interface B, answer the neighbor
solicitation instead of bailing out with

> Target address 2001:16b8:45b5:9afa:5884:3bff:fe4f:a902 is not assigned
> to the local interface
2021-06-22 15:05:09 +02:00
benpicco
cf688774e5
Merge pull request #16527 from benpicco/gnrc_netif_create-race
sys/net/gnrc/netif: make gnrc_netif_create() blocking to avoid race condition
2021-06-21 15:48:18 +02:00
Benjamin Valentin
d7c377f400 sys/net/gnrc/netif: make gnrc_netif_create() blocking
Make gnrc_netif_create() block until the interface is created and
registered.
This avoids a race condition where after calling gnrc_netif_init_devs()
not all interfaces are available yet when iterating through the list
of interfaces with gnrc_netif_iter().
2021-06-21 14:04:06 +02:00
Benjamin Valentin
c1eead925d drivers/slipdev: register with netdev 2021-06-21 12:42:03 +02:00
Benjamin Valentin
9fbab8f0f8 drivers/slipdev: report NETOPT_ADDRESS to simulate l2 address
A lot of things break if `GNRC_NETIF_FLAGS_HAS_L2ADDR` is not set.
In order to handle router advertisements and auto-configureation,
generate a faux l2 address based on the netdev ID.
2021-06-21 12:42:03 +02:00
Benjamin Valentin
68afd9d900 gnrc_ndp: add route information option 2021-06-18 00:13:08 +02:00
Benjamin Valentin
f5d5ff3794 gnrc/nib: honor CONFIG_GNRC_IPV6_NIB_ADV_ROUTER option
This option was unused before, honor it to make it possible to start
with router advertisements disabled and enable them at run time.

The defaults remain unchanged by that.
2021-06-17 18:45:38 +02:00
Benjamin Valentin
e74ba8f92d gnrc/nib: don't define _set_rtr_adv() twice
It's already defined in `_nib-router.h`, defining it to no-op
in `_nib-6lr.h` makes it impossible to run-time enable advertisements
on non 6lo nodes.
2021-06-17 18:45:38 +02:00
Martine Lenders
7cad799afe
Merge pull request #15468 from jia200x/pr/rh/rev.13.11
ieee802154/hal: adapt frame filter and source address matching changes
2021-06-17 16:18:57 +02:00
Leandro Lanzieri
ae81b808a1
Merge pull request #16080 from jia200x/pr/gnrc_lorawan_netif
gnrc_lorawan: encode LoRaWAN port in netif header
2021-06-17 11:30:09 +02:00
Jose Alamos
7d14fb3571
ieee802154/hal: remove set_rx_mode 2021-06-17 10:07:43 +02:00
Jose Alamos
6d64b537ef
ieee802154/hal: remove set_hw_addr_filter 2021-06-17 10:07:43 +02:00
Francisco
a20790b0ef
Merge pull request #16530 from benpicco/gnrc_dhcpv6_client_6lbr-generic
gnrc_dhcpv6_client_6lbr: choose downstream if as !upstream
2021-06-17 08:37:30 +02:00
Francisco
629cecb625
Merge pull request #14558 from jia200x/pr/gnrc_lorawan_rtt_support
gnrc_lorawan: add support for RTT (ztimer)
2021-06-17 08:34:59 +02:00
Hauke Petersen
7c6b72d3b4 net/gnrc/rpl: use ztimer_msec if available 2021-06-16 20:39:32 +02:00
Jose Alamos
dca0b366ac
gnrc_lorawan: drop frame if port exceeds max app port 2021-06-16 14:50:48 +02:00
Jose Alamos
9dce6eba14
ieee802154: add Auto ACK compile time config 2021-06-16 14:19:39 +02:00
Jose Alamos
7343c1c503
gnrc_netif_lorawan: add netif hdr support 2021-06-16 13:18:04 +02:00
Jose Alamos
dfacff9568
gnrc_lorawan: add support for RTT 2021-06-16 13:13:37 +02:00
Jose Alamos
2f680eaf01
gnrc_lorawan: remove xtimer and msg dependency
This commit removes the dependency to xtimer and RIOT messages.
This step is required to use other sources of events (e.g event_queue)
and timers (RTT)
2021-06-16 13:03:28 +02:00
benpicco
c7d12733ea
Merge pull request #16523 from benpicco/boards/same54-xpro-lock_eui
boards: lock EUI provider to interface type
2021-06-15 16:16:12 +02:00
Benjamin Valentin
056dcd8ae1 gnrc_dhcpv6_client_6lbr: choose downstream if as !upstream 2021-06-15 15:35:10 +02:00
Martine Lenders
35e40ce245
Merge pull request #16548 from benpicco/gnrc_ipv6_nib-nce_switch
gnrc_ipv6_nib: get node from proper interface
2021-06-15 12:00:42 +02:00
Leandro Lanzieri
fee045d3e9
Merge pull request #16515 from fabian18/ieee802154_security_kconfig
Kconfig: expose IEEE 802.15.4 Security to Kconfig
2021-06-15 11:21:41 +02:00
Benjamin Valentin
ae4165b374 gnrc_ipv6_nib: get node from proper interface
If we switch the interface in gnrc_ipv6_nib_get_next_hop_l2addr()
we must also re-get the nib entry from the 'proper' interface.
Otherwise we will always find the host unreachable on the 'wrong'
interface.
2021-06-14 16:56:15 +02:00
Benjamin Valentin
2467c84634 drivers/ethos: enable multiple instances 2021-06-11 12:31:37 +02:00
Benjamin Valentin
118e08607a net/eui_provider: prohibit use of NETDEV_ANY for EUI device type
The EUI provider function only gets the index of a device within it's
device type.
Using NETDEV_ANY with two devices of different type causes the EUI
provider to be used for both (since both interfaces are index 0 of
their type).

To prevent this, require EUI providers to be locked to an interface type.
2021-06-08 14:30:40 +02:00
Benjamin Valentin
d2b6f79143 gnrc_ipv6_nib: consider all prefixes when deciding on-link next hop
Consider the following configuration:

    nib prefix
    2001:16b8:4569:88fc::/62 dev #7  expires 7081 sec deprecates 3481 sec
    2001:16b8:4569:88fe::/63 dev #6

If `_on_link()` stops at the first match, a packet received from #7 with a
destination in the downstream subnet in #6 would always be sent back via #7
if this happens to be the first entry in the list.

Instead, consider all prefixes and return the one that is the closest match.
2021-06-07 12:58:42 +02:00
János Brodbeck
2e523bf101
net/gcoap: change return type from gcoap_req_send() to ssize_t 2021-06-04 17:15:04 +02:00
Fabian Hüßler
93759a747b ieee802154_security: adapt to Kconfig 2021-06-03 08:38:25 +02:00
Fabian Hüßler
d09ca43a84 Kconfig: Expose ieee802154 security configuration 2021-05-31 10:32:01 +02:00
Jnae
b287d120ff at86rf215: timestamp counter for rx frames 2021-05-12 15:27:36 +02:00
Martine Lenders
4b4eaf3b76
gnrc_ipv6_nib: fix acquire race on gnrc_ipv6_nib_get_next_hop_l2addr()
When two threads use `gnrc_ipv6_nib_get_next_hop_l2addr()` to determine
a next hop (e.g. when there is both an IPv6 sender and a 6LoWPAN
fragment forwarder), a race condition may happen, where one thread
acquires the NIB and the other acquires the network interface resulting
in a deadlock. By releasing the NIB (if acquired) before trying to
acquire the network interface and re-acquiring the NIB after the network
interface is acquired, this is fixed.
2021-05-05 17:48:24 +02:00
Leandro Lanzieri
d36628d37e
Merge pull request #16183 from Ollrogge/aes_pr
sys/crypto: Enable support for AES-192, AES-256
2021-05-05 09:19:12 +02:00
Ollrogge
427d2bd06e sys/crypto: Enable support for AES-192, AES-256 2021-05-03 17:34:49 +02:00
benpicco
2b6454a2d7
Merge pull request #16106 from fabian18/ieee802154_security_small_bugfix_and_stricter_names
net/ieee802154_security: small bugfix and stricter names
2021-05-03 11:29:43 +02:00
Benjamin Valentin
d611a264fd drivers/cc2420: register with netdev 2021-04-27 17:37:52 +02:00
Fabian Hüßler
346f92f663 sys/net/link_layer/ieee802154: stricter names for security types
stricter prefixing of security related types and constants with
"ieee802154_sec_"
2021-04-27 08:54:19 +02:00
Fabian Hüßler
9390b3072b sys/net/link_layer/ieee802154: add missing const 2021-04-27 08:54:19 +02:00
Fabian Hüßler
1f0c62fbc8 sys/net/link_layer/ieee802154: move _set_key _sec_ecb _sec_cbc together 2021-04-27 08:54:19 +02:00
Fabian Hüßler
7036c2b9ee sys/net/link_layer/ieee802154: fix small typos 2021-04-27 08:54:19 +02:00
Fabian Hüßler
43f1470abc sys/net/link_layer/ieee802154: fix small copy paste bug 2021-04-27 08:54:19 +02:00
Marian Buschsieweke
19d92cb455
sys/net/gnrc/Makefile.dep: split out of sys/Makefile.dep 2021-04-23 20:29:38 +02:00
Hauke Petersen
75dbf65256 net/gnrc/sixlowpan/ctx: use ztimer if available 2021-04-16 11:38:54 +02:00
Martine Lenders
e3f398e3d3
Merge pull request #16279 from brummer-simon/gnrc_tcp-fix_data_race_on_status
gnrc_tcp: fix data race on fsm status
2021-04-06 15:53:08 +02:00
Simon Brummer
247f4d52bc gnrc_tcp: fix warnings from static-tests 2021-04-06 14:13:34 +02:00
Simon Brummer
458cfb9994 gnrc_tcp: fix data race on fsm status 2021-04-04 17:47:53 +02:00
Leandro Lanzieri
62fb9ad69f
net/sock/dtls: allow to register multiple credentials into a sock 2021-04-01 09:47:36 +02:00
Leandro Lanzieri
d7440ce1e3
net/sock/dtls: allow to set PSK Identity hint 2021-04-01 09:47:36 +02:00
efdaf9225f
sys/net/gnrc: disable sx126x auto init with loramac 2021-03-30 19:03:34 +02:00
bede0cd98c
sys/net/auto_init: add sx126x auto_init logic 2021-03-30 16:12:40 +02:00
Marian Buschsieweke
bcc899f2db
Merge pull request #16100 from maribu/netopt_tx_end_irq
sys/net/netopt: make NETOPT_TX_END_IRQ and friends read-only
2021-03-22 21:17:45 +01:00
José Alamos
c5d620add8
Merge pull request #16206 from akshaim/lorawan-netif_dr_fix
gnrc_netif_lorawan: Validate DR
2021-03-22 11:03:30 +01:00
Marian Buschsieweke
80d56488cc
sys/net/gnrc/netif: update use of NETOPT_TX_END_IRQ and friends
With the API change, it is no longer possible to enable these IRQs at
run time. Instead, query if the needed events are supported (with DEVELHELP).
2021-03-22 08:15:52 +01:00
Marian Buschsieweke
ff08139263
sys/net/gnrc/lwmac: update use of NETOPT_TX_END_IRQ and friends
With the API change, it is no longer possible to enable these IRQs at
run time. Instead, query if those are supported (with DEVELHELP).
2021-03-22 08:14:28 +01:00
Marian Buschsieweke
94e0ef47c7
sys/net/gnrc/gomach: update use of NETOPT_TX_END_IRQ and friends
With the API change, it is no longer possible to enable these IRQs at
run time. Instead, query if those are supported (with DEVELHELP).
2021-03-22 08:14:27 +01:00
Leandro Lanzieri
99c7ec57cf
Merge pull request #15943 from jia200x/pr/gnrc_lorawan_channel_mask
net/gnrc_lorawan: implement channel mask support
2021-03-19 16:23:13 +01:00
Akshai M
efdefaa7db gnrc_netif_lorawan: Validate DR
Co-authored-by: José Alamos <jialamos@uc.cl>
2021-03-19 12:17:44 +01:00
Jose Alamos
166ee57a5a
net/gnrc_lorawan: implement funcion to set channel mask 2021-03-19 12:15:03 +01:00
Martine Lenders
214fdf007d
Merge pull request #16193 from miri64/gnrc_netif_pktq/feat/usage
gnrc_netif_pktq: add function to check usage
2021-03-18 23:05:27 +01:00
a53cbbfa91 sys/net/sock_util: zero out temporary buffer
Otherwise, the following strncpy() leaves strtol() with a non-terminated
buffer.
2021-03-18 14:58:35 +01:00
José Alamos
21390849bf
Merge pull request #16188 from aabadie/semtech-loramac_netdev
pkg/semtech-loramac: refactor to use netdev API only
2021-03-18 13:11:32 +01:00
benpicco
8ca676aa6e
Merge pull request #15907 from benpicco/gnrc_netif-register
sys/net/gnrc/netif: only register netif after init was successful
2021-03-16 16:26:06 +01:00
Benjamin Valentin
545497e970 net/netif: make netif_register() thread safe 2021-03-16 14:49:04 +01:00
Martine S. Lenders
db8415b5b6 gnrc_netif_pktq: add function to check usage 2021-03-15 15:13:27 +01:00
05224adc96
sys/net/loramac: move lora time on air compute helper in loramac.h 2021-03-14 11:09:39 +01:00
MrKevinWeiss
223430f589 net/ipv*/addr: Add ipv*_addr modules to Kconfig 2021-03-09 09:08:50 +01:00
Marian Buschsieweke
9e55c2d9e9
sys/net/gnrc/lwmac: add missing const qualifier
The name of the thread running the MAC can be stored in ROM.
2021-03-02 17:12:01 +01:00
Marian Buschsieweke
f7f739046d
sys/net/gnrc/gomach: add missing const qualifier
The name of the thread running the MAC can be stored in ROM.
2021-03-02 17:10:58 +01:00
Leandro Lanzieri
7faa84ff56
Merge pull request #16110 from jia200x/pr/fix_gnrc_lorawan_pktbuf
gnrc_netif_lorawan: add missing NULL check
2021-03-01 14:46:44 +01:00
benpicco
b572e67846
Merge pull request #16112 from chrysn-pull-requests/cord-27
sys/net/app/cord: Update to RD draft -27
2021-03-01 14:13:33 +01:00
chrysn
049b5179a7 sys/net/app/cord and examples: Update references to -27
With all (the few necessary) changes done, this can claim -27
compatibility.
2021-03-01 11:59:57 +01:00
chrysn
6542f7008f sys/net/app/cord: Use updated .well-known path from draft -26 2021-03-01 11:20:42 +01:00
Jose Alamos
275630289d
gnrc_netif_lorawan: add missing NULL check 2021-03-01 10:50:57 +01:00
Jean Pierre Dudey
e99e2d222d net/ieee802154/submac: select and save PHY mode on device init
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-26 11:16:27 +01:00
Jean Pierre Dudey
0cd3deb74c net/ieee802154: add PHY mode configuration
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-26 11:16:27 +01:00
Benjamin Valentin
a82bc64a34 sys/net/gnrc/netif: only register netif after init was successful
If we call `netif_register()` before we can be sure that the interface
can be configured, a 'zombie' interface remains in the list, causing
all kinds of trouble down the line.

Only call `netif_register()` if `init()` was successful.
2021-02-25 21:48:47 +01:00
Marian Buschsieweke
7cfedbfb8a
sys/net/gnrc: fix logic bug in gnrc_tx_sync implementation
In case of an error, the tx sync packet snip could previously have been
released twice. This moves re-attaching the tx sync snip down after the
last `goto error` to avoid this.
2021-02-24 21:22:25 +01:00
benpicco
930e760143
Merge pull request #16081 from cgundogan/pr/rpl_options_fix
gnrc_rpl: harden validation routine for options
2021-02-24 12:38:45 +01:00
benpicco
9fc60da4ca
Merge pull request #15830 from benpicco/net/nanocoap_add_uri
nanocoap: add coap_opt_put_uri_pathquery()
2021-02-24 12:09:08 +01:00
Cenk Gündoğan
72337ebb9b
gnrc_rpl: harden validation routine for options 2021-02-23 18:58:03 +01:00
Benjamin Valentin
d4e5c25b70 nanocoap: add coap_opt_put_uri_pathquery() 2021-02-23 18:27:54 +01:00
Martine Lenders
de4ee0f934
Merge pull request #15562 from benpicco/socket_zep_register
socket_zep: register with netdev, provide EUI-64 as command line parameter
2021-02-20 20:32:01 +01:00
Martine Lenders
ecba5fa1d0
gnrc_pktbuf_static: expose _align() function to be used for tests 2021-02-19 12:23:22 +01:00
Cenk Gündoğan
896e44cf93
rpl: strenghen length checks for DAO and DAO-ACK 2021-02-18 15:47:53 +01:00
Francisco Molina
3cd12d3e1b
sys/include/net/netstats: move xtimer header where it is needed 2021-02-16 18:18:21 +01:00
Sören Tempel
178c9eb745 gnrc_pktbuf: use _free function with gnrc_pktbuf_malloc
Otherwise the local mallocs variable is not decremented correctly (if
TEST_SUITES is defined) and the fuzzing setup (i.e. when MODULE_FUZZING
is defined) does not terminate. This regression was introduced in
3970b667aa.
2021-02-12 18:15:40 +01:00
Martine Lenders
1db480006c
Merge pull request #15939 from namib-project/dhcp-mud-fix
sys/net/dhcpv6: Fixes for MUD URL option
2021-02-10 08:30:06 +01:00
Jan Romann
6a2aa7ad52 sys/net/dhcpv6: Fix MUD URL option 2021-02-09 19:47:47 +01:00
3b7e852773 net/gnrc/netif: hook up netstats_neighbor 2021-02-09 12:27:58 +01:00
f97267ba68 sys/net: add netstats_neighbor 2021-02-09 12:27:58 +01:00
Martine Lenders
209b48e385
Merge pull request #15694 from maribu/gnrc_tx_sync
sys/net/gnrc/tx_sync: new module
2021-02-08 19:47:43 +01:00
Jose Alamos
1af583a746
net/gnrc_lorawan: refactor gnrc_lorawan_pick_channel 2021-02-05 19:07:20 +01:00
Jose Alamos
9bdb58f37d
net/gnrc_lorawan: add channel_mask 2021-02-03 17:55:50 +01:00
Marian Buschsieweke
89c69c5450
sys/net/gnrc/tx_sync: new module
The new `gnrc_tx_sync` module allows users of the GNRC network stack to
synchronize with the actual transmission of outgoing packets. This is directly
integrated into gnrc_sock. Hence, if `gnrc_tx_sync` is used, calls to e.g.
sock_udp_send() will block until the network stack has processed the message.

Use cases:
1. Prevent packet drop when sending at high rate
    - If the application is sending faster than the stack can handle, the
      message queues will overflow and outgoing packets are lost
2. Passing auxiliary data about the transmission back the stack
    - When e.g. the number of required retransmissions, the transmission time
      stamp, etc. should be made available to a user of an UDP sock, a
      synchronization mechanism is needed
3. Simpler error reporting without footguns
    - The current approach of using `core/msg` for passing up error messages is
      difficult to use if other message come in. Currently, gnrc_sock is
      busy-waiting and fetching messages from the message queue until the number
      of expected status reports is received. It will enqueue all
      non-status-report messages again at the end of the queue. This has
      multiple issues:
        - Busy waiting is especially in lower power scenarios with time slotted
          MAC protocols harmful, as the CPU will remain active and consume
          power even though the it could sleep until the TX slot is reached
        - The status reports from the network stack are send to the user thread
          blocking. If the message queue of the user thread is full, the network
          stack would block until the user stack can fetch the messages. If
          another higher priority thread would start sending a message, it
          would busy wait for its status reports to completely come in. Hence,
          the first thread doesn't get CPU time to fetch messages and unblock
          the network stack. As a result, the system would lock up completely.
    - Just adding the error/status code to the gnrc_tx_sync_t would preallocate
      and reserve memory for the error reporting. That way gnrc_sock does not
      need to search through the message queue for status reports and the
      network stack does not need to block for the user thread fetching it.
2021-02-03 15:16:42 +01:00
Leandro Lanzieri
2f28a91c4f
net/ieee802154/security: make default cipher_ops implementations private 2021-02-02 09:16:50 +01:00
Leandro Lanzieri
434b6b68d5
Merge pull request #15790 from akshaim/Kconfig_skald_update
net/skald: Update Kconfig implementation
2021-01-26 20:46:27 +01:00
Akshai M
9600ebf536 net/lorawan : Expose to Kconfig 2021-01-26 16:56:02 +01:00
Akshai M
ed269a7fd7 net/lorawan : Move 'LORAMAC_DEFAULT_MAX_FCNT_GAP' to 'CONFIG_' 2021-01-26 16:52:59 +01:00
Akshai M
b6e4e74a87 net/lorawan : Move 'LORAMAC_DEFAULT_JOIN_DELAY1' to 'CONFIG_' 2021-01-26 16:52:59 +01:00
Akshai M
ed1b86492f net/lorawan : Move 'LORAMAC_DEFAULT_JOIN_PROCEDURE' to 'CONFIG_'
Added symbols 'CONFIG_LORAMAC_DEFAULT_JOIN_PROCEDURE_XXX'
for Kconfig exposure
2021-01-26 16:52:59 +01:00
Akshai M
81dac00d5c net/lorawan : Move 'LORAMAC_DEFAULT_RX2_FREQ' to 'CONFIG_' 2021-01-26 16:52:59 +01:00
Akshai M
d5086ecf60 net/lorawan : Move 'LORAMAC_DEFAULT_RX2_DR' to 'CONFIG_'
Added symbols 'CONFIG_LORAMAC_DEFAULT_RX2_DR_XX' to define
choice in Kconfig
2021-01-26 16:52:58 +01:00
Akshai M
d48cee7c2a net/lorawan : Move 'LORAMAC_DEFAULT_RX1_DELAY' to 'CONFIG_' 2021-01-26 16:52:58 +01:00
Akshai M
e93c362df2 net/lorawan : Move 'LORAMAC_DEFAULT_RETX' to 'CONFIG_' 2021-01-26 16:52:58 +01:00
Akshai M
d2d90fbce5 net/lorawan : Move 'LORAMAC_DEFAULT_TX_MODE' to 'CONFIG_'
Move 'LORAMAC_DEFAULT_TX_MODE' to 'CONFIG_' and added symbols
for Kconfig exposure
2021-01-26 16:52:58 +01:00
Akshai M
aa3b1da0c4 net/lorawan : Move 'LORAMAC_DEFAULT_TX_PORT' to 'CONFIG_' 2021-01-26 16:52:58 +01:00
Akshai M
55f196095d net/lorawan : Move 'LORAMAC_DEFAULT_DR' to 'CONFIG_'
Move 'LORAMAC_DEFAULT_DR' to 'CONFIG_' and enable options for
Kconfig
2021-01-26 16:52:58 +01:00
Akshai M
1befae9022 net/lorawan : Invert 'LORAMAC_DEFAULT_PUBLIC_NETWORK'
Introduced a bool 'LORAMAC_DEFAULT_PRIVATE_NETWORK' to invert
the semantics of 'LORAMAC_DEFAULT_PUBLIC_NETWORK'. Move
'LORAMAC_DEFAULT_PRIVATE_NETWORK' to 'CONFIG_' namespace.
2021-01-26 16:52:58 +01:00
Akshai M
3c5c429541 net/lorawan : Move 'LORAMAC_DEFAULT_NETID' to 'CONFIG_' 2021-01-26 16:52:58 +01:00
Akshai M
9e626f471a net/lorawan : Move 'LORAMAC_DEV_ADDR_DEFAULT' to 'CONFIG_' 2021-01-26 16:52:57 +01:00
Akshai M
50e979c600 net/lorawan : Move 'LORAMAC_NWK_SKEY_DEFAULT' to 'CONFIG_' 2021-01-26 16:52:57 +01:00
Akshai M
43d7f28e63 net/lorawan : Move 'LORAMAC_APP_SKEY_DEFAULT' to 'CONFIG_' 2021-01-26 16:52:57 +01:00
Akshai M
d138fa9aad net/lorawan : Move 'LORAMAC_APP_KEY_DEFAULT' to 'CONFIG_' 2021-01-26 16:52:57 +01:00
Akshai M
bcb0ed38ff net/lorawan : Move 'LORAMAC_APP_EUI_DEFAULT' to 'CONFIG_' 2021-01-26 16:52:57 +01:00
Akshai M
5b4a873de5 net/lorawan : Move 'LORAMAC_DEV_EUI_DEFAULT' to 'CONFIG_' 2021-01-26 16:52:57 +01:00
Akshai M
3ecd304354 net/gnrc_lorawan : String keywords for keys
Swapped hex input for keys with string keywords.
2021-01-26 16:52:57 +01:00
Akshai M
a23dfb7ab9 net/skald : Update kconfig
Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2021-01-26 16:17:18 +01:00
Akshai M
f7aff3c0aa net/skald : Add CONFIG_SKALD_ADV_CHANNELS to allow ordered list
Added `CONFIG_SKALD_ADV_CHANNELS` which is then parsed to
and ordered list `SKALD_ADV_CHAN`

Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2021-01-26 16:17:17 +01:00
Martine Lenders
8e47621e7c
Merge pull request #15839 from maribu/gnrc_pktbuf_release_error
sys/net/gnrc_pktbuf: deduplicate code
2021-01-26 15:23:50 +01:00
Marian Buschsieweke
3970b667aa
sys/net/gnrc_pktbuf: deduplicate code
Implement gnrc_pktbuf_release_error() in gnrc_pktbuf once, rather than providing
two implementations in gnrc_pktbuf_static and gnrc_pktbuf_malloc
2021-01-26 10:50:19 +01:00
Hauke Petersen
4540b6273b ble/skald: switch from xtimer to ZTIMER_MSEC 2021-01-26 09:34:09 +01:00
Benjamin Valentin
d8918c24fa socket_zep: register with netdev 2021-01-25 22:59:01 +01:00
benpicco
83201ddb00
Merge pull request #15760 from maribu/sock-aux-rssi
sys/net/sock: add sock_aux_rssi
2021-01-25 18:51:11 +01:00
Fabian Hüßler
7d618afa17 nrf24l01p_ng: make use of netdev_register() 2021-01-24 20:49:39 +01:00
fabian18
f7a77ebb04 drivers/nrf24l01p_ng: netdev driver for nrf24l01+
The driver uses the netdev interface. Due to the limited
capabilities of the transceiver (32 byte FIFO and no source address in the layer2 frame),
it relies on 6LowPAN compression and adds the source address to the frame for that.
2021-01-24 20:49:39 +01:00
Benjamin Valentin
b24480538a nanocoap: add coap_opt_put_string_with_len() 2021-01-21 15:17:28 +01:00
Leandro Lanzieri
52b8bca84e
net/lora: add module to Kconfig 2021-01-21 11:22:33 +01:00
Jose Alamos
0bee606bd4
gcoap: remove gcoap_add_qstring
This feature was marked to be deprecated after the release 2020.10.
Therefore this commit removes that feature.
2021-01-14 16:03:00 +01:00
Francisco Molina
960e0c5f43
sys/ieee802154/submac: add handling of invalid CRC frames 2021-01-13 23:42:45 +01:00
Marian Buschsieweke
c0765d9e07
sys/net/grnc: implement sock_aux_rssi 2021-01-13 13:29:13 +01:00
Marian Buschsieweke
8f24cc840c
sys/net/gnrc/sock: cleanup & fix aux handling
The logic used to check whether the RX timestamp was provided in the GNRC
implementation of `sock_ip_recv_buf_aux()` is incorrect: It still uses in-band
signalling via a timestamp of zero, but a dedicated flag was added to allow for
timestamps of zero.

Additionally, it is not necessary to check if a bit is set only to clear it -
clearing it unconditionally is faster and smaller.
2021-01-12 21:31:24 +01:00
Martine Lenders
640ff4f5d8
Merge pull request #15609 from maribu/ethernet-rx-timestamp
sys/net/gnrc/netif/ethernet: Support RX timestamp
2021-01-07 19:53:52 +01:00
Marian Buschsieweke
f6bca70d11
sys/net/gnrc/netif/ethernet: Support RX timestamp 2021-01-06 20:30:14 +01:00
Hauke Petersen
44c4f1e307
Merge pull request #15652 from haukepetersen/opt_asymcute_asyncsock
net/asymcute: use sock async
2020-12-18 15:09:20 +01:00
Martine Lenders
6646682873
Merge pull request #15611 from benpicco/boards/eui_provider.h
net/eui_provider: API cleanup
2020-12-18 15:02:57 +01:00
Hauke Petersen
ee01950ed7 net/asymcute: switch to sock_asnyc_event 2020-12-18 13:58:20 +01:00
Martine Lenders
b5a36e9af7
Merge pull request #15653 from haukepetersen/fix_asymcute_subflags
net/asymcute: fix handling of short and pre-defined topics
2020-12-18 13:52:52 +01:00
Hauke Petersen
1e7b95cd70
Merge pull request #15661 from haukepetersen/fix_emcute_msgidqos0
net/emcute: fix MsgId for PUBLISH with QOS0
2020-12-18 13:45:10 +01:00
Hauke Petersen
289688169e net/asymcute: fix short and pre-defined topics 2020-12-18 12:27:46 +01:00
Hauke Petersen
d5aa6c1311
Merge pull request #15675 from haukepetersen/opt_asymcute_rmstaticcasts
net/asymcute: rm explicit casts where applicable
2020-12-18 12:12:05 +01:00
Hauke Petersen
610ae4925e net/emcute: fix MsgId for PUBLISH with QOS0 2020-12-18 10:41:52 +01:00
Hauke Petersen
285681a4e0 net/asymcute: rm explicit casts where applicable 2020-12-18 10:36:55 +01:00
Hauke Petersen
5ff526f928 net/asymcute: fix msgId when publishing QOS0 2020-12-18 10:26:02 +01:00
Martine Lenders
b0b1c251c0
Merge pull request #15603 from miri64/uhcp/fix/prefix-len
uhcp: check maximum for prefix length
2020-12-15 13:06:08 +01:00
Martine Lenders
44a94dd91e
uhcp: check maximum for prefix length 2020-12-15 10:42:40 +01:00
Martine S. Lenders
e980405cbc
gnrc_sixlowpan_frag_sfr: provide statistics sub-module 2020-12-14 13:00:37 +01:00
Martine S. Lenders
1cd1716280
gnrc_sixlowpan_frag: initial import of Selective Fragment Recovery 2020-12-14 13:00:36 +01:00
Martine S. Lenders
ec436e99d9
gnrc_sixlowpan_frag_rb: add handling for RFRAG packets 2020-12-14 10:17:57 +01:00
Martine S. Lenders
d393008b9f
gnrc_sixlowpan_frag_rb: externalize get_by_tag function 2020-12-14 09:30:04 +01:00
Martine S. Lenders
bd300a3cc0
gnrc_sixlowpan_frag_rb: add check function for empty interval pool 2020-12-14 09:30:04 +01:00
Martine S. Lenders
27f4939211
gnrc_sixlowpan_frag_vrb: add reverse look-up
To label switch ACKs for fragments back to the originator, a reverse
look-up in the VRB is required.
2020-12-14 09:00:25 +01:00
Benjamin Valentin
d4acf95a27 net/eui_provider: drop useless EUI provider arg parameter
This has never been used and we might as well define a second
callback function instead of using a generic one with an arg.
2020-12-14 00:22:43 +01:00
Benjamin Valentin
d616995d7b net/eui_provider: define board EUI providers in eui_provider_params.h 2020-12-14 00:22:19 +01:00
Benjamin Valentin
fe9ae5bc80 net/eui_provider: provide index to the callback function
If the same callback function is used for multiple interfaces
(`NETDEV_INDEX_ANY`), it is necessary to also provide the index of
the interface to hand out and address.
2020-12-14 00:22:18 +01:00
dylad
5b7961b747 sys/net: add sam0 eth auto init 2020-12-13 22:01:50 +01:00
benpicco
8dc0b01e21
Merge pull request #15577 from Hxinrong/cord_common_add_qstringBranch
add error check of cord_common_add_qstring()
2020-12-11 08:38:43 +01:00
Martine Lenders
08d86295d2
Merge pull request #15560 from maribu/gnrc-aux-rx-timestamps
net/gnrc/sock: Implement sock_aux_timestamp for RX
2020-12-10 19:20:16 +01:00
Marian Buschsieweke
d95192e97b
sys/net/gnrc/sock: Add support for RX timestamp 2020-12-10 17:43:11 +01:00
Benjamin Valentin
2ddfc46234 gnrc/lorawan: use byteorder_htoll() 2020-12-09 14:21:56 +01:00
Benjamin Valentin
b0c626a2a7 ieee802154/security: use byteorder_htoll() 2020-12-09 14:17:46 +01:00
benpicco
1477a340fe
Merge pull request #15150 from fabian18/ieee802154_security
Initial implementation of IEEE 802.15.4 security
2020-12-09 14:14:27 +01:00
Martine Lenders
81dd58c7af
Merge pull request #15589 from benpicco/gnrc_ipv6_nib-nce_exhaustion
gnrc_ipv6_nib: prevent NULL pointer dereference on nib exhaustion
2020-12-08 22:03:33 +01:00
Benjamin Valentin
120b1485e0 gnrc_ipv6_nib: prevent NULL pointer dereference on nib exhaustion
If the NIB is full, `_nib_onl_get()` returns NULL.
`_reg_addr_upstream()` will then dereference the result without if
it is valid.
2020-12-08 20:41:06 +01:00
Martine Lenders
1feacd1b88
Merge pull request #15583 from benpicco/byteorder_htols
drivers, sys: use byteorder_htols()
2020-12-08 20:15:19 +01:00
benpicco
c15001d33a
Merge pull request #15584 from fjmolinas/pr_submac_state_type
sys/net/link_layer/ieee802154/submac: fix type
2020-12-08 16:42:46 +01:00
Benjamin Valentin
518c95e0ee gnrc_netif_ieee802154_create: use byteorder_htols() 2020-12-08 16:31:20 +01:00
Benjamin Valentin
ec5e45defb gnrc/lwmac: use byteorder_htols() 2020-12-08 16:30:43 +01:00
Benjamin Valentin
dd87737ca0 gnrc/gomach: use byteorder_htols() 2020-12-08 16:30:17 +01:00
Benjamin Valentin
129e9ae8a3 sys/gnrc_lorawan: use byteorder_htols()/byteorder_htoll() 2020-12-08 16:29:10 +01:00
Francisco Molina
7bf2263507
sys/net/link_layer/ieee802154/submac: fix type 2020-12-08 14:22:09 +01:00
Han Xinrong
44762971c2 sys/net/application_layer/cord: add error check to cord_ep_register() 2020-12-08 20:37:15 +08:00
Marian Buschsieweke
1d69f067d1
sys/net/gnrc: Implement sock_aux_local
Provide address the IP packet / UDP datagram was received on in the auxiliary
data, if module sock_aux_local is used.
2020-12-04 12:47:59 +01:00
Fabian Hüßler
7b5391b7ce sys/net/gnrc/netif/init_devs: IEEE802154_STACKSIZE_DEFAULT 2020-12-04 09:40:55 +01:00
Fabian Hüßler
dc16c14b3d sys: Add IEEE 802.15.4 security 2020-12-04 09:40:55 +01:00
Marian Buschsieweke
9d46bc7d7f
Merge pull request #14703 from maribu/sock-aux-api
net/sock: Add access to auxiliary data (API only)
2020-12-03 12:08:49 +01:00
Marian Buschsieweke
893bfd13d0
net/sock_udp: Extend API for auxiliary data 2020-12-02 17:56:13 +01:00
Marian Buschsieweke
ebcf1c0ab4
net/sock_ip: Extend API for auxiliary data 2020-12-02 17:56:13 +01:00
benpicco
665c07eb53
Merge pull request #15120 from benpicco/driver/at86rf215-trim
driver/at86rf215: add functions to configure trim & clock output at run-time
2020-12-02 16:53:02 +01:00
Benjamin Valentin
b866b5ef2b sys/net/gnrc/netif: add gnrc_netif_get_netdev()
Add a function to retrieve a netdev from the list of interfaces.
2020-12-02 14:59:17 +01:00
Francisco
0a064806e3
Merge pull request #15443 from benpicco/l2util_addr
replace netif_addr_to/from_str() with l2util_addr_to/from_str()
2020-12-02 09:21:16 +01:00
Marian Buschsieweke
5c70345aa6
Merge pull request #15537 from fabian18/sx127x_netdev_register
drivers/sx127x: use netdev_register()
2020-12-01 21:38:38 +01:00
benpicco
b18cbd8c2a
Merge pull request #11068 from miri64/gnrc_sixlowpan_frag/new/minfwd
gnrc_sixlowpan_frag: initial import of minimal forwarding
2020-12-01 18:55:51 +01:00
benpicco
c22bba5cac
Merge pull request #15526 from miri64/gnrc_ipv6_ext_frag/fix/i15521
gnrc_ipv6_ext_frag: check return value of msg_try_send()
2020-12-01 17:58:17 +01:00
Fabian Hüßler
c526a34770 sx127x: make use of netdev_register()
Call netdev_register() in sx127x_setup()
and pass the index in auto_init_sx127x()
and semtech_loramac_init()
2020-12-01 16:34:11 +01:00
Martine Lenders
27e123608f
gnrc_sixlowpan_iphc: forward received fragments 2020-12-01 16:25:30 +01:00
Martine Lenders
d9be79b266
gnrc_sixlowpan_iphc/minfwd: put only IPHC dispatch in first fragment
This is only the case when minfwd is compiled in.
2020-12-01 16:25:29 +01:00
Martine Lenders
7fe07e35a3
gnrc_sixlowpan_frag_rb: add VRB and use minfwd handling
When a VRB entry exists use minfwd to forward.

When a route exist for the first fragment received in reassembly create
a virtual reassembly buffer entry.
2020-12-01 16:25:29 +01:00
Martine Lenders
df1171a069
gnrc_sixlowpan_frag_rb: make rbuf pointer generic 2020-12-01 16:25:29 +01:00
Marian Buschsieweke
56cf30172f
Merge pull request #15532 from fabian18/cc110x_netdev_register
drivers/cc110x: use netdev_register
2020-12-01 16:17:37 +01:00
Martine Lenders
4ce2d01cb9
gnrc_sixlowpan_frag: initial import of minimal forwarding
See https://tools.ietf.org/html/draft-ietf-6lo-minimal-fragment-04
2020-12-01 15:08:08 +01:00
Fabian Hüßler
39adf908ce cc110x: make use of netdev_register()
Call netdev_register() in cc110x_setup()
and pass the index in auto_init_cc110x()
2020-12-01 12:11:20 +01:00
benpicco
333fce44b4
Merge pull request #14973 from benpicco/driver/at86rf215-batmon
drivers/at86rf215: implement battery monitor, add power bus
2020-12-01 11:52:46 +01:00
Martine Lenders
3295c833ca
gnrc_ipv6_ext_frag: propagate error up the stack on _snd_buf_free() 2020-12-01 11:32:18 +01:00
Martine Lenders
c44d77e528
Merge pull request #15508 from namib-project/dhcp-mud-support
Add MUD URL option to DHCPv6 client
2020-12-01 10:33:51 +01:00
Leandro Lanzieri
4b7bb8719f
Merge pull request #15240 from akshaim/Kconfig_EMCute_1
MQTT-SN Clients ( Emcute/ Asymcute) : Kconfig Updates
2020-12-01 09:47:09 +01:00
Jan Romann
9823e45a93 net/dhcpv6: Introduce buffer size check 2020-11-30 22:46:33 +01:00
Jan Romann
2a570cb957 net/dhcpv6: Add DHCPv6 option for MUD URL (RFC 8520)
Co-Authored-By: Jens Bücker <48720000+jbueck@users.noreply.github.com>
Co-Authored-By: mauspr <75017188+mauspr@users.noreply.github.com>
Co-Authored-By: schulztr <75017039+schulztr@users.noreply.github.com>
2020-11-30 22:46:33 +01:00
Martine Lenders
6303d962a3
gnrc_ipv6_ext_frag: check return value of msg_try_send() 2020-11-30 15:31:59 +01:00
c1874c8d89 all: add missing limits.h includes
Removal of kernel_types.h make these necessary.
2020-11-25 17:52:34 +01:00
1d5e2e9cd9 all: remove traces of kernel_types.h
Automatically removed using:

    $ git grep -l kernel_types | xargs sed -i '/^#include .kernel_types/d'
2020-11-25 17:52:34 +01:00
benpicco
6a4ece5246
Merge pull request #15359 from miri64/uhcp/fix/i15353
uhcp: fix handling of pushed prefix
2020-11-25 00:17:30 +01:00
Martine Lenders
2d54968881
uhcp: fix handling of pushed prefix 2020-11-24 11:44:30 +01:00
0b801c4de0 all: adapt to moved sched defines 2020-11-23 16:56:34 +01:00
80a628f76d sys/gnrc/sock: make use of mbox_size() and mbox_avail() 2020-11-20 10:38:17 +01:00
Akshai M
1559aa1dc6 net/asymcute : Move 'ASYMCUTE_BUFSIZE' to 'CONFIG_'
Move ASYMCUTE_BUFSIZE to CONFIG_ namespace, update entry in Kconfig
2020-11-19 23:11:21 +01:00
Akshai M
8f36c817eb net/asymcute : Add 'CONFIG_ASYMCUTE_DEFAULT_PORT'
examples/asymcute : Update macro definition
Update macro definition for UDP port.

Kconfig/asymcute : Add 'ASYMCUTE_DEFAULT_PORT'
2020-11-19 23:11:21 +01:00
Akshai M
2c7dfac7d1 net/emcute : Update documentation
Update documentation and add new group 'net_mqtt_conf'
2020-11-19 23:11:21 +01:00
Akshai M
2c710b1b3f net/emcute : Expose to Kconfig 2020-11-19 23:11:21 +01:00
Akshai M
348a8cb45a net/emcute : Move 'EMCUTE_N_RETRY' to 'CONFIG_' 2020-11-19 23:11:21 +01:00
Akshai M
1840310459 net/emcute : Move 'EMCUTE_T_RETRY' to 'CONFIG_' 2020-11-19 23:11:21 +01:00
Akshai M
752f76248b net/emcute : Move 'EMCUTE_KEEPALIVE' to 'CONFIG_' 2020-11-19 23:11:21 +01:00
Akshai M
4bb866c59e net/emcute : Move 'EMCUTE_TOPIC_MAXLEN' to 'CONFIG_' 2020-11-19 23:11:20 +01:00
Akshai M
17e2b20f50 net/emcute : Move 'EMCUTE_BUFSIZE' to 'CONFIG_' 2020-11-19 23:11:20 +01:00
benpicco
487f2ae91e
Merge pull request #15435 from jia200x/pr/fix_gnrc_pktq
gnrc_netif_pkq: fix pktbuf leak
2020-11-19 11:54:53 +01:00
Jose Alamos
dfb214ab98 gnrc_netif: add missing pktbuf release 2020-11-19 11:13:58 +01:00
Benjamin Valentin
83a4248fbb net/netif: remove netif_addr_to/from_str() 2020-11-17 10:51:22 +01:00
Benjamin Valentin
5d6754e7a9 l2util: add l2util_addr_to_str()/l2util_addr_from_str() 2020-11-14 17:29:26 +01:00
Benjamin Valentin
f9c36f9738 netopt: add NETOPT_BATMON
Many radios have a built-in battery monitor.
Add a netopt to configure it.
2020-11-13 22:59:09 +01:00
Jose Alamos
bfcfa29aa6 ieee802154_submac: set TRX state only if SubMAC is idle 2020-11-13 13:36:48 +01:00
Jose Alamos
53348e3a8c gnrc_netif: add missing netdev events 2020-11-12 16:12:22 +01:00
János Brodbeck
16c5fd6fbd
net/gcoap: relabel _sock to _sock_udp 2020-11-05 17:19:42 +01:00
János Brodbeck
c4e646037d
net/gcoap: split out the coap processing part of _on_sock_evt 2020-11-05 17:19:41 +01:00
Francisco
3e3da1217d
Merge pull request #15249 from aabadie/pr/tools/typo
tools/codespell: fix new typos and make it fail when typos are found
2020-11-03 15:01:20 +01:00
benpicco
9681c204d6
Merge pull request #14959 from benpicco/at86rf215-mr-fsk
drivers/at86rf215: implement MR-FSK
2020-11-03 11:26:24 +01:00
Bas Stottelaar
a76cb4ea2f sys/*: ENABLE_DEBUG not needed for inttypes.h 2020-11-02 21:49:39 +01:00
Bas Stottelaar
28ae0c97cd sys/*: use DEBUG_EXTRA_STACKSIZE for debug stacks 2020-11-02 21:49:39 +01:00
Bas Stottelaar
922e2ac1c9 sys/*: replace #if ENABLE_DEBUG with IS_ACTIVE 2020-11-02 21:49:39 +01:00
Bas Stottelaar
27a684aa60 sys/*: remove unneeded ENABLE_DEBUG 2020-11-02 21:34:12 +01:00
Martine Lenders
ea84953d8b
uhcp: fix line length 2020-11-02 15:03:49 +01:00
benpicco
e77d12da26
Merge pull request #15188 from benpicco/drivers/kw41zrf-register
drivers/kw41zrf: register with netdev
2020-10-31 14:30:00 +01:00
Martine Lenders
44741ff99f
Merge pull request #15345 from nmeum/pr/sock_dns_overflow
sock_dns: Fix incorrect buffer bounds check
2020-10-31 12:57:17 +01:00
Sören Tempel
85296ce6cc sock_dns: Fix incorrect buffer bounds check
Apart from advancing the buffer by RR_TYPE_LENGTH, RR_CLASS_LENGTH,
and RR_TTL_LENGTH the code also attempts to read a two byte unsigned
integer using _get_short(bufpos):

	unsigned addrlen = ntohs(_get_short(bufpos));

The bounds check must therefore ensure that the given buffer is large
enough to contain two more bytes after advancing the buffer.
2020-10-30 21:41:39 +01:00
Leandro Lanzieri
f14c898dd0
sys/net/ipv6: add ipv6_addr_from_buf function
This allows to parse IPv6 address from strings that not end with '\0'.
2020-10-30 11:20:25 +01:00
Leandro Lanzieri
4305fcc010
sys/net/ipv4: add ipv4_addr_from_buf function
This allows to parse IPv4 address from strings that not end with '\0'.
2020-10-30 11:20:25 +01:00
Martine Lenders
72821a502f
gnrc_pktbuf: drop gnrc_pktbuf_replace_snip()
The function was deprecated in e94aa40bf5
and is unused and untested in the current code base.
2020-10-29 17:20:12 +01:00
benpicco
9e4dd8e451
Merge pull request #15287 from miri64/ethernet/enh/join-leave-mcast-group
gnrc_netif: add capability to join or leave link layer multicast groups
2020-10-29 16:03:32 +01:00
Martine Lenders
ad3c8ba5a4
gnrc_netif_ethernet: use new helper function to generate MC address 2020-10-29 14:38:52 +01:00
Martine Lenders
55ed65650d
tests/l2util: provide tests for l2util_ipv6_group_to_l2_group() 2020-10-29 14:38:51 +01:00
Martine Lenders
d8c78a9910
gnrc_netif: add capability to join or leave link-layer multicast groups
The request is forwarded to the device.
2020-10-29 14:38:51 +01:00
Martine Lenders
68d25e217a
l2util: add function to convert IPv6 multicast group to an L2 group 2020-10-29 14:38:51 +01:00
Martine Lenders
a6ebe3624d
netopt: add options to read/join/leave link layer multicast groups 2020-10-29 14:38:51 +01:00
68d3f2ee6c
sys/net: remove nordic softdevice specific handling 2020-10-29 09:02:12 +01:00
Martine Lenders
c2e7648ab5
Merge pull request #15324 from miri64/gnrc_sixlowpan/enh/AGGRESSIVE_OVERRIDE
gnrc_sixlowpan_rb: remove GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE
2020-10-28 23:49:36 +01:00
chrysn
912d82dc40
Merge pull request #14029 from cgundogan/pr/gcoap/request_matcher
gcoap: add a handler for request matching
2020-10-28 16:51:35 +01:00
Cenk Gündoğan
7d820f7ada
nanocoap: gcoap: use const parameter for coap_method2flag 2020-10-28 15:40:35 +01:00
Cenk Gündoğan
d4370e690e
gcoap: add a handler for request matching 2020-10-28 15:40:35 +01:00
Martine Lenders
d135721ad9
gnrc_sixlowpan_rb: remove GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE
Deprecated in c7b6dc587c.
2020-10-28 11:03:15 +01:00
benpicco
76ddfdbbde
Merge pull request #15316 from jia200x/pr/submac/fix_wait_for_ack
ieee802154/submac: fix inconsistent state on NO_ACK
2020-10-27 19:46:34 +01:00
Jose Alamos
c663ca0b36 ieee802154/submac: fix inconsistent state on NO_ACK 2020-10-27 17:41:43 +01:00
ce5b8a83b1
sys/gnrc_lorawan: fix typo 'witout' => 'without' 2020-10-27 10:33:48 +01:00
benpicco
e4164e3924
Merge pull request #15275 from jia200x/pr/radio/config_phy_amendment
ieee802154/radio: add TRX_OFF pre condition to config_phy
2020-10-26 23:28:45 +01:00
Jose Alamos
4e2a1cfa9c ieee802154/submac: adapt config_phy call to TRX_OFF precondition 2020-10-26 17:04:48 +01:00
chrysn
c0bc0c41b1 net/goap: State and check that listeners are added individually
Add a an assertion on the added listener not having a trailing chain
instead of silently overwriting it, point out the precondition in the
documentation, and guide users who want to add more than one listener
towards a more efficient way.
2020-10-23 22:33:43 +02:00
José Alamos
60b5a6b35e
Merge pull request #15268 from benpicco/gnrc_netif_ieee802154_create-const
drivers/at86rf215: give driver threads different names
2020-10-23 17:14:19 +02:00
benpicco
b5cd19e73e
Merge pull request #14178 from chrysn-pull-requests/gcoap-handle-con-response
gcoap: Process CON responses
2020-10-23 14:21:33 +02:00
Bas Stottelaar
a0979b10e7 sys/*: remove unneeded ENABLE_DEBUG 2020-10-23 11:29:57 +02:00
Bas Stottelaar
1b35d06a51 sys/*: realign ENABLE_DEBUG 2020-10-23 11:27:48 +02:00
Bas Stottelaar
b23d0dafb2 sys/*: reorder ENABLE_DEBUG after last include 2020-10-23 00:45:56 +02:00
chrysn
462f8861f4 gcoap: Suppress retransmissions when ACK was received
This introduces an additional state to the COAP_MEMO_* series to avoid
enlarging the memo struct needlessly. While they are documented
publicly, practically only the COAP_MEMO_TIMEOUT and COAP_MEMO_RESPONSE
are used in communication with the application, as a
gcoap_request_memo_t is only handed out in that state.
2020-10-22 19:08:39 +02:00
chrysn
f32d758819 gcoap: Prepare to cease retransmission
The actual implementation will follow in a separate commit, this does
the groundwork and sets the intention.
2020-10-22 19:08:39 +02:00
chrysn
0a2f97680f gcoap: Cleanup around empty responses
Simplify the code path and give consistent debug messages.
2020-10-22 19:08:39 +02:00
chrysn
ff00d66d69 gcoap: Process CON responses
This generalizes the existing code for answering CoAP pings into general
message-layer responses. Such responses are now also sent as a reaction
to CON responses, which can otherwise follow the same code path as
existing other responses.

As a side effect, issues that would crop up when responding to odd empty
requests that have token length set are resolved.

Contributes-To: https://github.com/RIOT-OS/RIOT/issues/14169
2020-10-22 19:08:39 +02:00
Bas Stottelaar
ffb929d811 sys/*: remove unused assert.h include 2020-10-22 11:29:27 +02:00
Bas Stottelaar
80d9da90df sys/*: add missing include of assert.h 2020-10-22 11:13:09 +02:00
benpicco
6cf5f79ba1
Merge pull request #15269 from basilfx/feature/timex_includes
treewide: add includes to timex.h
2020-10-22 00:54:24 +02:00
benpicco
04ad9ac6b9
Merge pull request #15214 from janosbrodbeck/pr/ble_ipv6_mtu
net/netif/gnrc_netif: allow larger IPv6 MTU than minimum for BLE
2020-10-21 23:25:27 +02:00
Bas Stottelaar
47d376c5c3 sys/*: add explicit include of timex.h 2020-10-21 21:47:31 +02:00
Benjamin Valentin
eb3daf4c22 drivers/at86rf215: give driver threads different names
Use different names for the sub-GHz and 2.4 GHz driver thread to make
it easier to tell which is which.

```
2020-10-21 19:53:50,608 # 	pid | name                 | state    Q | pri | stack  ( used) ( free) | base addr  | current
2020-10-21 19:53:50,622 # 	  - | isr_stack            | -        - |   - |    512 (  232) (  280) | 0x20000000 | 0x200001c8
2020-10-21 19:53:50,623 # 	  1 | main                 | running  Q |   7 |   1536 (  660) (  876) | 0x200002f8 | 0x2000075c
2020-10-21 19:53:50,639 # 	  2 | pktdump              | bl rx    _ |   6 |   1536 (  236) ( 1300) | 0x200035a8 | 0x20003abc
2020-10-21 19:53:50,653 # 	  3 | 6lo                  | bl rx    _ |   3 |   1024 (  332) (  692) | 0x2000420c | 0x2000450c
2020-10-21 19:53:50,655 # 	  4 | ipv6                 | bl rx    _ |   4 |   1024 (  376) (  648) | 0x200009d4 | 0x20000cd4
2020-10-21 19:53:50,670 # 	  5 | udp                  | bl rx    _ |   5 |   1024 (  252) (  772) | 0x200049f0 | 0x20004cf4
2020-10-21 19:53:50,672 # 	  6 | at86rf215 [sub GHz]  | bl rx    _ |   2 |   1024 (  536) (  488) | 0x20001200 | 0x200014c4
2020-10-21 19:53:50,687 # 	  7 | at86rf215 [2.4 GHz]  | bl rx    _ |   2 |   1024 (  536) (  488) | 0x20001600 | 0x200018c4
2020-10-21 19:53:50,689 # 	    | SUM                  |            |     |   8704 ( 3160) ( 5544)
```
2020-10-21 19:59:42 +02:00
Benjamin Valentin
671c882d4f gnrc_netif_ieee802154_create: make name argument const
`gnrc_netif_create()` already expects a `const` name parameter,
also make the name parameter in `gnrc_netif_ieee802154_create()` const.
2020-10-21 19:49:34 +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
János Brodbeck
5a75eb29c3
net/netif/gnrc_netif: allow larger IPv6 MTU than minimum for BLE 2020-10-20 14:20:51 +02:00
Jose Alamos
217dc9e6e0 ieee802154/submac: receive IEEE 802.15.4 addresses on init 2020-10-19 15:18:35 +02:00
Jose Alamos
46600adf22 nrf802154: unify auto_init for HAL and netdev 2020-10-19 15:18:35 +02:00
Jose Alamos
c1a9d352f3 cc2538_rf: unify auto_init for HAL and netdev 2020-10-19 15:18:34 +02:00
José Alamos
fc8961ec27
Merge pull request #15081 from akshaim/PR_LoRaWAN_IN_865
net/lorawan : Support for IN865 region, Improve debugging
2020-10-16 12:22:18 +02:00
benpicco
0f726b17d5
Merge pull request #15228 from jia200x/pr/hal_read_func
ieee802154/radio: add `read` function
2020-10-15 21:31:10 +02:00
benpicco
3714b97e17
Merge pull request #15230 from brummer-simon/gnrc_tcp-internal_api_cleanup
GNRC TCP: internal api cleanup
2020-10-15 21:27:50 +02:00
Simon Brummer
55a5062292 gnrc_tcp: cleanup internal api 2020-10-15 15:16:03 +02:00
benpicco
4edf5c7cbd
Merge pull request #15208 from benpicco/ieee802154_submac-etx
netdev/ieee802154_submac: add retransmission reporting
2020-10-15 14:31:54 +02:00
Benjamin Valentin
87151db891 ieee802154_submac: mark retrans as invalid if driver does not report it 2020-10-15 13:26:42 +02:00
Marian Buschsieweke
c38ca6d718
Merge pull request #15212 from miri64/gnrc_pkt/enh/pkt-list-ops
gnrc_pkt: introduce packet list operations
2020-10-15 12:13:03 +02:00
Jose Alamos
b796d9805d ieee802154/submac: adapt to radio hal API change 2020-10-14 18:07:28 +02:00
Jose Alamos
ee5adad401 ieee802154/radio: replace indication mechanism 2020-10-14 18:07:28 +02:00
Martine Lenders
f2e1c1ac87
Merge pull request #15209 from brummer-simon/gnrc_tcp-cleanup_debug_messages
gnrc_tcp: Overhaul all debug messages
2020-10-14 17:42:19 +02:00
Simon Brummer
0cc06a5993 gnrc_tcp: Overhaul all debug messages 2020-10-14 16:58:53 +02:00
Francisco Acosta
05b089b3c4 gnrc_netif: remove unused event_netdev_t struct 2020-10-14 14:46:35 +02:00
Akshai M
2c526a7d29 net/lorawan : Expose to Kconfig
Expose LORAMAC_REGION_XX_XXX to Kconfig as a choice
2020-10-14 00:16:47 +05:30
Akshai M
1a54238244 gnrc/lorawan : Improve debugging
gnrc_lorawan.c, gnrc_lorawan_mlme.c : Add additional debug
statements
net/gnrc/lorawan/region.h : Added debug statements
2020-10-14 00:16:47 +05:30
Martine Lenders
45144fb4a4
treewide: use new gnrc_pkt API functions instead of utlist.h macros 2020-10-13 13:32:53 +02:00
Akshai M
874d7d15cb gnrc/lorawan : Add RX1DROffset for IN865 region
Co-authored-by: José Alamos <jialamos@uc.cl>
2020-10-13 13:40:49 +05:30
Sören Tempel
af03cd8f4f gnrc_netif: add missing gnrc_netif_release() to early return
The gnrc_netif_ipv6_addr_add_internal() function unconditionally
acquires the global netif rmutex lock but doesn't release this lock on
this specific path (i.e. if gnrc_netif_ipv6_group_join_internal failed).
This can cause a deadlock as no other thread will afterwards be capable
of acquiring the netif lock.
2020-10-13 04:42:52 +02:00
d92f280add
Merge pull request #15211 from miri64/gnrc_tcp/cleanup/utlist-pkt-func
gnrc_tcp: use gnrc_pktsnip_search_type() to search for snips
2020-10-13 13:18:02 +02:00
Martine Lenders
d105a67b9f
gnrc_tcp: use gnrc_pktsnip_search_type() to search for snips 2020-10-13 11:37:34 +02:00
benpicco
3384c327a7
Merge pull request #15194 from miri64/gnrc_netif_raw/fix/netif-hdr
gnrc_netif_raw: add NETIF header on receive
2020-10-09 14:35:54 +02:00
Martine Lenders
6991ad5910
gnrc_netif_raw: add NETIF header on receive
... to give upper layer a hint on the interface the packet came from.
2020-10-09 11:51:18 +02:00
Benjamin Valentin
b32bc3dbd1 drivers/kw41zrf: register with netdev 2020-10-08 16:19:23 +02:00
Benjamin Valentin
1afe72a5e5 drivers/enc28j60: register with netdev 2020-10-08 10:36:56 +02:00
Benjamin Valentin
988ee1648f drivers/mrf24j40: register with netdev 2020-10-07 16:39:39 +02:00
Martine Lenders
bcd59f9789
Merge pull request #15161 from brummer-simon/gnrc_tcp-hide_global_variables
gnrc_tcp: Hide remaining global variables
2020-10-06 14:10:14 +02:00
Martine Lenders
2aaca12d06
Merge pull request #15160 from brummer-simon/gnrc_tcp-reduce_scope_of_receive_buffer
gnrc_tcp: reduce scope of receive buffer
2020-10-06 14:09:15 +02:00
Akshai M
b4594ffe32 gnrc/lorawan : Bug fix for zero CFList
Correct check for CFlist and then conditinally process CFList.
2020-10-05 21:51:33 +05:30
Simon Brummer
7b1629553f gnrc_tcp: Hide remaining global variables 2020-10-05 16:13:13 +02:00
Leandro Lanzieri
e1418e0972
Merge pull request #14065 from jia200x/pr/improve_gnrc_lorawan
gnrc_lorawan: refactor
2020-10-05 15:56:00 +02:00
Simon Brummer
a29666f87c gnrc_tcp: reduce scope of receive buffer 2020-10-05 15:07:02 +02:00
benpicco
2cab6b9f18
Merge pull request #14500 from brummer-simon/gnrc_tcp-replace_xtimer_with_evtimer
gnrc_tcp: Replace xtimer with evtimer
2020-10-05 13:58:39 +02:00
chrysn
6350d22bc9 net/gcoap: Register additional resources head-first
This simplifies (written and compiled) code by doing a head rather than
a tail insertion of the new listener into gcoap's list.

As handling of listeners without a link_encoder is now fixed,
gcoap_get_resource_list can handles this now without having to manually
skip over the .well-known/core handler (which is not the first entry any
more now).

Incidentally, this allows the user to install a custom handler for
.well-known/core, as the default handler is now evaluated last.
2020-10-02 21:04:25 +02:00
chrysn
e3db58f013 net/gcoap: Avoid endless loop on error
The NULL case can not regularly be reached (because regularly
gcoap_register_listener sets thel link_encoder to a default one), but if
it is (eg. because an application unsets its link_encoder to hide a
resource set at runtime), the existing `continue` is a good idea (skip
over this entry) but erroneously created an endless loop by skipping the
advancement step.
2020-10-02 20:53:05 +02:00
Francisco
df3ab9f161
Merge pull request #15138 from aabadie/pr/dist/codespell_fixes
dist/codespell: update the list of ignored words and fix all typos
2020-10-02 12:27:12 +02:00
José Alamos
f30da14341
Merge pull request #15007 from akshaim/Kconfig_lora
net/lora : Expose configurations to Kconfig
2020-10-02 11:01:52 +02:00
11aa30625f
sys/net/gnrc: fix typos
- 'Busses' -> 'Buses'
- 'wether' -> 'whether'
- 'inferface' -> 'interface'
- 'registartion' -> 'registration'
- 'divisable' -> 'dividable'
- 'anounce' -> 'announce'
2020-10-02 08:13:18 +02:00
benpicco
6cb8da7813
Merge pull request #14950 from jia200x/pr/ieee802154/submac
ieee802154_submac: add initial support for common MAC sub layer
2020-10-01 11:31:52 +02:00
Simon Brummer
132882df73 gnrc_tcp: Replace xtimer with evtimer 2020-10-01 11:30:00 +02:00
Jose Alamos
9ebc3f8bd8 auto_init/nrf52840: add support for SubMAC 2020-10-01 10:55:55 +02:00
Jose Alamos
1de5b34adf auto_init/cc2538_rf: add support for SubMAC 2020-10-01 10:55:55 +02:00
Jose Alamos
e100a67099 ieee802154_submac: add initial implementation 2020-09-30 17:25:31 +02:00
Akshai M
a9f7b88624 net/lora : Change defaults
Change 'CONFIG_LORA_SF_DEFAULT' to 'SF7' and
'CONFIG_LORA_CR_DEFAULT' to 'LORA_CR_4_5' to
allow shorter air times and make it easier to meet country
specific regulations.
2020-09-30 20:00:03 +05:30
Akshai M
aa83367b4b net/lora : Expose to Kconfig 2020-09-30 20:00:03 +05:30
Jose Alamos
fda73fdf0a gnrc_lorawan: uncrustify files 2020-09-30 14:18:54 +02:00
Jose Alamos
71bda3bcd8 gnrc_lorawan: remove GNRC specific dependencies 2020-09-30 14:18:54 +02:00
Jose Alamos
0162a16d82 gnrc_lorawan: fix BUSY logic 2020-09-30 14:18:54 +02:00
Jose Alamos
2e6ba90435 gnrc_lorawan: refactor rx_done callback 2020-09-30 14:18:54 +02:00
Jose Alamos
5146261f03 gnrc_lorawan: rename radio event functions 2020-09-30 14:18:54 +02:00
benpicco
0bc80250cf
Merge pull request #15101 from benpicco/sys/net/uhcp-log
sys/net/uhcp: use LOG_xxx functions
2020-09-30 11:08:53 +02:00
Martine Lenders
9631576b22
gnrc_ipv6_nib: make ARO extra status codes also available without 6LN 2020-09-29 10:45:12 +02:00
Martine Lenders
04f6e06dd4
gnrc_ipv6_nib: only multicast probe UNREACHABLE neighbor if 6LR
Non-routing 6LNs do not have to join the solicited nodes address, so
probing for a neighbor using that address may be in vain and only
spamming the LLN with unnecessary messages. RFC 6775 basically assumes
this in section 5.2:

> There is no need to join the solicited-node multicast address, since
> nobody multicasts NSs in this type of network.
2020-09-29 10:45:12 +02:00
Benjamin Valentin
f163f1580b sys/net/uhcp: use LOG_ functions
Using `gnrc_border_router` with `uhcp` is quite noisy.
uhcpc will regularly refresh the prefix and print a bunch of status messages.

Allow the user to tone it down by setting a higher `LOG_LEVEL`.
For this, convert calls to `printf()` and `puts()` to `LOG_xxx()`.

This requires a dummy header for `uhcpd`.
2020-09-29 09:55:28 +02:00
Leandro Lanzieri
0cd94c7c67
sys/net: remove unused routing directory 2020-09-24 17:32:34 +02:00
Martine Lenders
555c62de51
gnrc_ipv6_nib: set NCE stale on incoming ARO
In accordance with RFC 6775, section 5.2 an NCE should be set STALE
when an ARO renews the address registration for the address:

> The routers SHOULD NOT garbage-collect Registered NCEs (see
> Section 3.4), since they need to retain them until the Registration
> Lifetime expires.  Similarly, if NUD on the router determines that
> the host is UNREACHABLE (based on the logic in [RFC4861]), the NCE
> SHOULD NOT be deleted but rather retained until the Registration
> Lifetime expires.  A renewed ARO should mark the cache entry as
> STALE.  Thus, for 6LoWPAN routers, the Neighbor Cache doesn't behave
> like a cache.  Instead, it behaves as a registry of all the host
> addresses that are attached to the router.
2020-09-24 13:13:43 +02:00
Martine Lenders
711ea275e9
Merge pull request #15042 from maribu/gnrc_dont_include_xtimer_when_not_used
sys/net/gnrc/netif: Fix compilation on waspmote-pro
2020-09-23 13:37:36 +02:00
Martine Lenders
5e4c285323
Merge pull request #15056 from maribu/gnrc_pktbuf_static_alignment
sys/net/gnrc/pktbuf_static: Fix alignment
2020-09-22 17:07:07 +02:00
Marian Buschsieweke
28d4bf7751
sys/net/gnrc/pktbuf_static: Fix alignment
The buffer _pktbuf was previously only aligned to a 1 byte boundary. This could
result in run time issues.
2020-09-22 15:04:56 +02:00
Marian Buschsieweke
8a5d301caa
sys/net/gnrc/netif: Fix compilation on waspmote-pro
xtimer.h must not be included, when the xtimer module is not use. Otherwise
compilation on the waspmote-pro with https://github.com/RIOT-OS/RIOT/pull/14799
will not longer work. gnrc_netif_pktq includes xtimer.h and uses xtimer, but
gnrc_netif includes gnrc_netif_pktq.h regardless of whether gnrc_netif_pktq
is used. This makes sure that gnrc_netif_pktq.h is only included when actually
used.
2020-09-22 11:51:09 +02:00
Marian Buschsieweke
1d1b446d6b
sys/net/gnrc/netif: use IS_USED macro 2020-09-22 11:50:18 +02:00
Hauke Petersen
3b424858de net/emcute: fix buffer overflow in _willupd_msg() 2020-09-22 11:43:00 +02:00
Marian Buschsieweke
0cb274c1eb
sys/net/gnrc: Fix include of xtimer.h
Make sure xtimer.h is only included if the xtimer module is actually used, as
otherwise compilation for the waspmote-pro fails.
2020-09-16 19:55:43 +02:00
Francisco
cb6b65e7ff
Merge pull request #14886 from miri64/gnrc/fix/circ-deps
gnrc: remove circular module dependencies
2020-09-09 09:06:28 +02:00
Martine Lenders
ec436b9069
Merge pull request #14963 from miri64/gnrc_sock_ip/fix/sock
gnrc_sock_ip: fix NULL pointer dereference
2020-09-08 17:15:25 +02:00
Martine S. Lenders
7d47484170
gnrc_sock_ip: fix NULL pointer dereference 2020-09-08 13:05:10 +02:00
Martine S. Lenders
2cf5b3c185
gnrc_ipv6_hdr: make HDR_NETTYPE dependent on nettype module
In #13994 this was introduced but overlooked here.
2020-09-08 12:53:29 +02:00
Martine S. Lenders
0e3443d006
gnrc_netif: guard usage of gnrc_ipv6 member 2020-09-08 12:53:29 +02:00
Martine S. Lenders
4fe7bb003a
gnrc_ipv6_nib: add missing header includes 2020-09-08 12:53:29 +02:00
Benjamin Valentin
471e81d544 ieee802154: add definitions & config options for MR-FSK 2020-09-07 15:40:56 +02:00
benpicco
c7993b6140
Merge pull request #14961 from miri64/gnrc_rpl/fix/check-idx
gnrc_rpl: check index after fetching address from netif
2020-09-07 14:24:44 +02:00
benpicco
a084430be3
Merge pull request #14883 from miri64/gnrc_ipv6_nib/fix/ipv6_addr_idx-check
gnrc_ipv6_nib: check return value of gnrc_netif_ipv6_addr_idx()
2020-09-07 14:24:17 +02:00
benpicco
a336fdc918
Merge pull request #11263 from miri64/gnrc_netif/new/pktq
gnrc_netif: add packet to queue when device is busy
2020-09-07 13:59:58 +02:00
Leandro Lanzieri
40b52e1d72
Merge pull request #14321 from akshaim/Kconfig_cord
net/cord : Expose configurations to Kconfig
2020-09-07 11:45:17 +02:00
Martine S. Lenders
91dfee7ee0
gnrc_ipv6_nib: fix duplicate handling for ARO
When `nce` is NULL on the duplicate check, the later re-fetching of the
`nce` might result in an actual NCE entry that then contains a
duplicate, so we need to re-check the EUI-64 again as well.
2020-09-07 08:42:50 +02:00
Martine S. Lenders
f9c3e5f5a4
gnrc_ipv6_nib: check return value of gnrc_netif_ipv6_addr_idx()
And acquire exclusive network interface access when necessary.

Fixes #14752.
2020-09-07 08:42:50 +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
e24a64fd64
Merge pull request #14926 from akshaim/Kconfig_dtls
net/sock/dtls :  Expose configuration to Kconfig
2020-09-04 14:49:23 +02:00
Akshai M
55fe4a464f net/sock : Update documentation
Added net_sock_conf super group and updated sock_util to the super
group.
2020-09-04 16:29:13 +05:30
Akshai M
b8d2d30a6d net/sock/dtls : Expose to Kconfig 2020-09-04 16:28:29 +05:30
Jose Alamos
b7929bf6e6 net/ieee802154: add default CSMA-CA params 2020-09-03 18:22:08 +02:00
Akshai M
bb8d3cd72b sys/net/cord : Expose to Kconfig
Expose configurations to Kconfig

Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2020-09-02 23:36:48 +05:30
Akshai M
536a99022c sys/net/cord : Move 'CONFIG_CORD_EP' to 'CONFIG_' 2020-09-02 23:36:48 +05:30
Akshai M
e09063e7f1 sys/net/cord : Move 'CORD_UPDATE_INTERVAL' to 'CONFIG_' 2020-09-02 23:36:48 +05:30
Akshai M
de2d33f65b sys/net/cord : Move 'CORD_LT' to 'CONFIG_' 2020-09-02 23:36:48 +05:30
Martine Lenders
a72d0ef3e8
gnrc_netif: add packet to queue when device is busy
... and also send on send error (i.e. when *medium* was busy)
2020-09-02 12:30:23 +02:00
Martine Lenders
7c7f667108
gnrc_netif: add a send queue 2020-09-02 12:30:22 +02:00
Francisco
6f84870c26
Merge pull request #14634 from benpicco/eui_provider
net/link_layer: implement EUI provider
2020-09-01 16:26:08 +02:00
Cenk Gündoğan
538155c344
Merge pull request #14904 from leandrolanzieri/pr/kconfig/change_prefix_convention
treewide: modify Kconfig symbol prefixes
2020-09-01 15:57:06 +02:00
Martine S. Lenders
3b7bab1108
gnrc_ipv6_nib_nc: error on non-link-local address without ARSM 2020-09-01 11:12:55 +02:00
Martine S. Lenders
14efa3185b
gnrc_ipv6_nib: don't add dst from PL to NC without ARSM 2020-09-01 11:12:55 +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
Benjamin Valentin
bca68ff484 net/link_layer: implement EUI provider
This adds the possibility to define EUI sources and assign them to
a network device.
2020-08-30 23:43:57 +02:00
Martine Lenders
4ba5367755
Merge pull request #7664 from zhuoshuguo/lwmac_radio_reinit
LWMAC: add re-initialize radio support.
2020-08-26 18:58:56 +02:00
benpicco
9f2475dc14
Merge pull request #14832 from maribu/sys-cleanup
sys: Cleanup access to internal variables
2020-08-26 17:07:19 +02:00
Akshai M
112514a4e8 net/skald : Expose to Kconfig
Expose configurations to Kconfig
2020-08-26 15:13:08 +05:30
Akshai M
4219036727 net/skald : Move 'SKALD_INTERVAL' to 'CONFIG_' 2020-08-26 15:12:07 +05:30
benpicco
2eb6d752df
Merge pull request #14770 from benpicco/netif_addr_to_str
net/netif: move gnrc_netif_addr_to/from_str() to netif
2020-08-25 18:52:55 +02:00
Martine Lenders
ec3464aaeb
Merge pull request #14788 from leandrolanzieri/pr/fuzzing/select_gnrc_pktbuf_malloc
fuzzing: select gnrc_pktbuf_malloc implementation
2020-08-25 16:05:46 +02:00
Leandro Lanzieri
ff8079b109
fuzzing: select gnrc_pktbuf_malloc implementation 2020-08-25 09:24:50 +02:00
Marian Buschsieweke
3b6fa61829
sys: Cleanup access to internal variables
Replace direct accesses to sched_active_thread and sched_active_pid with
the helper functions thread_getpid() and thread_get_active(). This serves
two purposes:

1. It makes accidental writes to those variable from outside core less likely.
2. Casting off the volatile qualifier is now well contained to those two
   functions
2020-08-24 20:28:11 +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
Hauke Petersen
05347190b9 net/gnrc/nib_ft.c: fix minor typo in comment 2020-08-21 16:06:04 +02:00
Martine Lenders
66de39a20a
gnrc_sixlowpan_frag_rb: Check possibly uninitialized pointers 2020-08-20 23:51:38 +02:00
Benjamin Valentin
decadc41a0 drivers/dose: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
4f19b54b7b drivers/at86rf215: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
53eedc283b drivers/at86rf2xx: register driver with netdev 2020-08-17 22:53:51 +02:00
Benjamin Valentin
39951a948e net/netif: move gnrc_netif_addr_to/from_str() to netif
These functions are independent from GNRC and can be used by stack-agnistoc
code.
Avoid pulling in a GNRC dependency by moving those two helper functions to
`netif`.

The old function names are kept as `static inline` wrapper functions to avoid
breaking API users.
2020-08-16 23:52:32 +02:00
zhuoshuguo
d3c87d7bb9 lwmac: add re-initialize radio support. 2020-08-15 22:12:36 +08:00
Benjamin Valentin
d4aa8aad10 nanocoap: validate input with NDEBUG
A malformed or malicious CoAP request may contain invalid field lengths.
`nanocoap` protects with this by using `assert()`, which safely crashes
the application in debug mode.

In release mode the check is removed.

Instead of allowing arbitrary memory writes, return 0 on invalid inputs.

Discovered by [Coverity](https://scan3.coverity.com/reports.htm#v46910/p10250/fileInstanceId=38357789&defectInstanceId=9793779&mergedDefectId=297306)
2020-08-11 15:54:23 +02:00
Benjamin Valentin
2ed7f66d33 gnrc_sixlowpan_iphc: fix last byte of iphc_hdr always being 0
Coverty scan found this:

> CID 298295 (#1 of 1): Operands don't affect result (CONSTANT_EXPRESSION_RESULT) result_independent_of_operands:
> (ipv6_hdr_get_fl(ipv6_hdr) & 255) >> 8 is 0 regardless of the values of its operands.

Looking at the code, this appears to be a copy & paste error from the previous line.
2020-08-11 14:09:28 +02:00
Benjamin Valentin
a9a0671232 gnrc_sixlowpan_iphc: fix Out-of-bounds read
Coverty scan found this:

> CID 298279 (#1 of 1): Out-of-bounds read (OVERRUN)
> 21. overrun-local: Overrunning array of 16 bytes at byte offset 64 by dereferencing pointer

The original intention was probably to advance the destination pointer by 4 bytes, not
4 * the destination type size.
2020-08-11 13:31:22 +02:00