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

2195 Commits

Author SHA1 Message Date
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
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
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
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
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
Martine Lenders
3cff67ce13
nanocoap: provide Accept option convenience function 2021-07-23 15:25:41 +02:00
Martine Lenders
b5d9f78cbd
dhcpv6_client: port timeout mechanism to event_timeout 2021-07-21 16:28:39 +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
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
0e41f9e557
net/loramac: fix typo 2021-07-21 03:51:46 +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
Jose Alamos
986fe58704
netopt: fix NETOPT_RX_SYMBOL_TIMEOUT documentation 2021-07-14 14:11:14 +02:00
Simon Brummer
873d1fe378 gnrc_tcp: align with sock_tcp 2021-07-13 20:32:14 +02:00
Jose Alamos
b483d1f809
netdev_test: avoid explicit cast to netdev 2021-07-09 11:35:19 +02:00
Jose Alamos
650be4fdaf
netdev_test: inherit from netdev_ieee802154_t 2021-07-09 10:08:45 +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
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
Martine Lenders
b034ccaaa3
Merge pull request #16422 from janosbrodbeck/pr/tinydtls/reset_session
pkg/tinydtls: handling of close_notify
2021-07-06 00:25:20 +02:00
János Brodbeck
c016b843d6
pkg/tinydtls: destroy session after sending close notification 2021-07-05 23:45:20 +02:00
031d8b75bd netstats: add missing cib.h include 2021-07-05 10:32:50 +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
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
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
8f2be7b486
ieee802154: add ieee802154_dst_filter 2021-06-23 16:44:07 +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
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
9dce6eba14
ieee802154: add Auto ACK compile time config 2021-06-16 14:19:39 +02:00
Jose Alamos
70815e012b
ieee802154/hal: add set config addr filter 2021-06-16 14:19:39 +02:00
Jose Alamos
eb7282db0a
ieee802154/hal: add set frame filter 2021-06-16 14:19:38 +02:00
Jose Alamos
e13aac3909
ieee802154/hal: add config src address match 2021-06-16 14:19:38 +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
Jose Alamos
7fd0364d59
net/netopt: deprecate NETOPT_LORAWAN_TX_PORT 2021-06-15 16:25:03 +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
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
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
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
Mumpfie
185570b034 gnrc tx-sync: add cast for c++ compatibility 2021-05-04 16:59:56 +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
7036c2b9ee sys/net/link_layer/ieee802154: fix small typos 2021-04-27 08:54:19 +02:00
Leandro Lanzieri
6428505017
net/sock/dtls: allow CREDMAN_TAG_EMPTY on sock creation 2021-04-01 09:47:39 +02:00
Leandro Lanzieri
95fd4f947a
net/sock/dtls: add documentation on multi-credential 2021-04-01 09:47:37 +02:00
Leandro Lanzieri
8b57b87258
net/sock/dtls: add RPK callback for credential selection 2021-04-01 09:47:37 +02:00
Leandro Lanzieri
81892ee389
net/sock/dtls: add client PSK callback for credential selection 2021-04-01 09:47:37 +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
Marian Buschsieweke
d86df5b217
sys/net/netopt: make NETOPT_TX_END_IRQ and friends read-only
Reasoning:

- Many drivers already just generate these events regardless of configuration.
  This will make behavior more consistent
- Run time configuration increases ROM, complexity and maintaining
  effort
- At least NETOPT_TX_END_IRQ is now de facto mandatory, as the new
  netdev driver API requires NETDEV_EVENT_TX_COMPLETE to always be
  generated.
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
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
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
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
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
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
4ca37c96b3 net/ieee802154: add PHY mode capabilities
- Adds capabilities for each PHY mode. Converts the uint16_t caps field to an
uint32_t in order to hold all capability bits, size of the structure remains
unchanged due to alignment.
- Modifies the test application to configure the PHY mode using the shell
command. Also adds the PHY modes to the capabilities shell command.
- Updates the nrf802154 and cc2538 radio drivers to specify the PHY mode
supported.

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
Jean Pierre Dudey
8183b1fe78 net/ieee802154: add type for PHY modes enum
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-26 11:16:27 +01:00
Marian Buschsieweke
0c349cd0bc
sys/net/netopt: minor style fixes 2021-02-25 16:49:34 +01:00
Marian Buschsieweke
38a94fb137
sys/net/netopt: Drop deprecated NETOPT_MAX_PACKET_SIZE
This option has been deprecated for quite a few release. It should be safe to
delete now.
2021-02-25 16:49:34 +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
Benjamin Valentin
d4e5c25b70 nanocoap: add coap_opt_put_uri_pathquery() 2021-02-23 18:27:54 +01:00
José Alamos
093272c562
Merge pull request #16000 from jeandudey/2021_02_12-ieee802154-bitcaps
net/ieee802154/radio: use bitflags for capabilities
2021-02-17 16:56:25 +01:00
Jean Pierre Dudey
243de6e501 net/ieee802154/radio: use bitflags for capabilities
Signed-off-by: Jean Pierre Dudey <me@jeandudey.tech>
2021-02-17 10:56:28 +01:00
Francisco Molina
3cd12d3e1b
sys/include/net/netstats: move xtimer header where it is needed 2021-02-16 18:18:21 +01:00
Benjamin Valentin
75bb317eba l2util: add l2util_addr_equal() 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
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
e31daf1583
net/ieee802154: remove dependency of radio HAL in security 2021-02-02 09:16:50 +01:00
Jean Pierre Dudey
38ade8d2e9 ieee802154: add MR-FSK SFD values for 2FSK
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2021-01-27 11:52:53 +01:00
Jean Pierre Dudey
9fe6b9ac99 ieee802154: add MR-FSK PHR length definition
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2021-01-27 11:52:53 +01:00