1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-30 17:01:19 +01:00

4686 Commits

Author SHA1 Message Date
Benjamin Valentin
f2be55e3ef sys/fmt: split up scn_time_tm_iso8601() 2025-12-18 14:09:38 +01:00
Marian Buschsieweke
da7765ac20
Merge pull request #21957 from maribu/sys/event/thread-stack-size-build-system-integration-fix
sys/event: fix stack size requirement build system integration
2025-12-16 06:24:00 +00:00
Marian Buschsieweke
ed3993b07c
sys/event: fix stack size requirement build system integration
The stack requirements were applied to the wrong thread in case of
a shared thread managing medium and lowest priority queues (in other
words: when `event_thread_medium` is not used).

This fixes the implementation and corrects the documentation to which
thread handles which queues.
2025-12-15 22:44:08 +01:00
benpicco
7275d4bf0e
Merge pull request #20494 from benpicco/ztimer/xtimer_compat-extend
sys/ztimer/xtimer_compat: provide more fallback options
2025-12-15 17:58:36 +00:00
Benjamin Valentin
3b6a9c0b53 sys/ztimer/xtimer_compat: provide more fallback options 2025-12-15 18:08:36 +01:00
Marian Buschsieweke
526ac4c69e
Merge pull request #21947 from maribu/cpu/native/socket_zep/nonstring
sys/include/net/zep.h: add NONSTRING attribute
2025-12-09 21:16:25 +00:00
Marian Buschsieweke
ea04ee0773
sys/include/net/zep.h: add NONSTRING attribute
This fixes the following compilation error when using modern GCC:

    RIOT/cpu/native/socket_zep/socket_zep.c: In function '_send_zep_hello':
    RIOT/cpu/native/socket_zep/socket_zep.c:244:29: error: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (3 chars into 2 available) [-Werror=unterminated-string-initialization]
      244 |             .hdr.preamble = "EX",
          |                             ^~~~
    cc1: all warnings being treated as errors
2025-12-09 19:50:14 +01:00
benpicco
2c01ea02dc
Merge pull request #21608 from elenaf9/gnrc/netapi/event
gnrc, nimble/ble: notify network layer of BLE connection events
2025-12-09 18:24:48 +00:00
Marian Buschsieweke
1f3daf3335 sys/atomic_utils: fix compilation with C++ compiler 2025-12-09 19:11:48 +01:00
Ann🐸
5b38177ebd
Merge pull request #21943 from mguetschow/doc-drivers
doc: reorder some drivers
2025-12-09 15:48:18 +00:00
benpicco
b1611aec9b
Merge pull request #21941 from maribu/sys/event/thread-stack-size-build-system-integration
sys/event: manage event thread size via build system
2025-12-09 15:25:48 +00:00
Elena Frank
eb2c0016b2 gnrc/rpl: iterate through parents that match addr
Iterate through all parents whose address match `addr`.
In most cases there will only be a single parent, but if
`GNRC_RPL_INSTANCES_NUMOF > 1` then one node can be parent in multiple
DODAGs.
2025-12-09 16:03:59 +01:00
Elena Frank
352f63de75 gnrc/ipv6: notify L3_ROUTING of discovered/ unreachable nodes 2025-12-09 16:03:59 +01:00
Elena Frank
8746281d9d gnrc/ipv6: modify nib nc on l2 connection event
If a new L2 connection was established, the node should be inserted in
the neighbor cache.
For 6LN nodes, NIB will never start the usual neighbor discovery process
because it can directly resolve the link-layer address from the IPv6
address. Thus we have to manually add such nodes to the NC by building
the IPv6 address from the L2 address.

If a L2 connection closed, the node is removed again from the NC.
2025-12-09 16:03:59 +01:00
Elena Frank
72c65e3a81 nimble/netif: notify on BLE connection events 2025-12-09 16:03:59 +01:00
Elena Frank
19a4ba04d1 gnrc/netapi: add notify message API
The netapi notify API enables protocol-independent, cross-layer
notification events.
Lower layers in the network stack can use this to inform upper
layers of network events.
2025-12-09 16:03:59 +01:00
Marian Buschsieweke
f0540a9000
sys/event: manage event thread size via build system
This adds a mechanism for modules to declare requirements on the thread
stack size in their `Makefile.dep` and let the build system then
override the default stack size, if any requirements are declared.

The motivation is to allow multiple modules to have special requirements
without causing conflicts, as just adding the following to their
`Makefile.include` would do:

```Makefile
CFLAGS += -DEVENT_THREAD_MEDIUM_STACKSIZE=<MAGIC_NUMBER>
```

Instead, the new mechanism would work by having them both declare in
their `Makefile.dep`:

```Makefile
EVENT_THREAD_MEDIUM_STACKSIZE_MIN +=
```

The build system then picks the maximum number in
`EVENT_THREAD_MEDIUM_STACKSIZE_MIN` and exposes this as stack size, if
any module did declare a minimum requirement.

Co-authored-by: benpicco <benpicco@googlemail.com>
2025-12-09 13:50:56 +01:00
Mikolai Gütschow
e83951cd91
doc: add drivers_ieee802154_hal to drivers_netdev 2025-12-09 09:46:28 +01:00
benpicco
ff6b703628
Merge pull request #20900 from maribu/sys/net/nanocoap/transport-agnostic-api
sys/net/*coap: Make APIs (more) transport agnostic
2025-12-08 13:21:42 +00:00
Benjamin Valentin
8aa816a9e3 sys/suit: always write size in suit_worker_try_prepare() 2025-11-24 19:47:19 +01:00
Marian Buschsieweke
5b3d111237
sys/net/gcoap: update users of deprecated nanocoap APIs 2025-11-10 17:28:43 +01:00
Marian Buschsieweke
5387c20dde
sys/net/nanocoap: Make APIs (more) transport agnostic
This changes the API of nanocoap with the goal to reduce the expose of
UDP specifics in the API. The plan is to eventually support transports
such as CoAP over TCP and CoAP over WebSocket directly in nanocoap
while sharing most of the code, as e.g. the CoAP Option processing
remains identical. Specifically, the plan is to unlock a transport with
modules and introduce overhead for dispatching to specific transport
only when multiple transports are actually in use.

Support for OSCORE directly in nanocoap is probably not sensible, as
the serialization is very much unlike the other transports. A unified
CoAP API for multiple transports including OSCORE is probably best
implemented on top. But when limited to the boring set of CoAP
transports, we probably can support them well with nanocoap with less
overhead.

Breaking API Changes:
=====================

- `coap_parse()` now returns `ssize_t` instead of `int`
    - This function is not really user facing, so the impact should
      be limited
    - This is useful for stream transports where the buffer may
      contain data of more than one packet. The return value contains
      the number of bytes actually consumed, which will match the
      buffer size for non-stream transports.

API Changes:
============

- `coap_pkt_t` now contains a `uint8_t *buf` pointer instead of a
  `coap_hdr_t *hdr` pointer to the beginning of the buffer
    - This will also work when the buffer is used by non-UDP
      transports
    - A deprecated `coap_udp_hdr_t *hdr` has been crammed into
      an unnamed `union` with `uint8_t *buf`. For architectures
      where pointers have the same memory layout regardless of type
      (e.g. all of the supported ones), this will make `hdr` an
      alias for `buf`.
    - The alias will only be provided if no transport besides UDP is
      used in nanocoap. So existing apps will continue to work, new
      apps that want to support other transports need to move to
      adapt.
- `coap_hdr_t` has been renamed to `coap_udp_hdr_t`
    - A deprecated alias was created for deprecation
- `coap_hdr*()` functions have been deprecated
    - Equivalent `coap_pkt*()` functions have been created that work
      on `coap_pkt_t *` instead of `coap_hdr_t *`
    - If non-UDP transports are used, the deprecated `coap_hdr*()`
      will probably not be exposed to avoid footguns.
- `coap_build_hdr()` has been renamed to `coap_build_udp_hdr()` and
  that works on an `uint8_t *` buffer with a given length, rather than
  on a `coap_hdr_t *` with a *figers crossed* length
    - a deprecated `coap_build_hdr()` function was added that calls
      to `coap_build_udp_hdr()` and has the same signature, so that
      users have time to update
2025-11-10 17:28:41 +01:00
benpicco
a6cfc3f0dd
Merge pull request #21788 from kfessel/p-usb-turb
sys/usb/cdc_acm, sys/tsrb: speedup usb_cdc ringbuffer handling
2025-11-07 19:02:49 +00:00
Karl Fessel
40cca9246d sys/turb: header only unguarded access for tsrb 2025-11-07 15:54:47 +01:00
Mikolai Gütschow
59446cf1e8
sys/net/sock_dtls: document SOCK_DTLS_HANDSHAKE in user guide 2025-10-30 09:22:17 +01:00
Karl Fessel
c06db62666 sys/tsrb: fix some style and linter complains 2025-10-24 12:44:29 +02:00
Elena Frank
ba1895cb20 gnrc/rpl/dodag: add gnrc_rpl_dodag_remove 2025-10-22 21:34:41 +02:00
Elena Frank
b025edc726 gnrc/rpl/dodag: ret void for gnrc_rpl_instance_remove
`gnrc_rpl_instance_remove` can't fail, so it was already always
returning `true`.
2025-10-22 21:34:41 +02:00
Elena Frank
5139847376 gnrc/rpl/of0: compare dodags 2025-10-22 21:34:37 +02:00
benpicco
17d03ac17d
Merge pull request #21749 from benpicco/test/bit
tests/unittests: add test for bit.h
2025-10-07 15:33:40 +00:00
fabian18
e3fa62f38f
Merge pull request #21533 from fabian18/pr/submac_ack_transmission
ieee802154/submac: add automatic ACK transmission when AUTO_ACK is not supported by driver
2025-10-06 11:05:40 +00:00
Teufelchen
0d5e3f056a
Merge pull request #21397 from benpicco/hostnames
net/hosts: add module for static hostname definitions
2025-10-06 09:29:28 +00:00
Fabian Hüßler
fccb0eac92 ieee802154: use retval in struct ieee802154_radio_ops 2025-10-06 10:38:55 +02:00
Fabian Hüßler
c7dd44583f ieee02154: add IEEE802154_CAP_AUTO_ACK 2025-10-05 21:42:32 +02:00
Fabian Hüßler
f7f8a571a2 ieee802154: add ieee802154_radio_has_capability 2025-10-05 21:42:32 +02:00
Fabian Hüßler
85c61b293d ieee802154: add ieee802154_radio_get_frame_filter_mode 2025-10-05 21:42:32 +02:00
Benjamin Valentin
3b3cdefaf1 sys/bit: add missing include 2025-09-30 00:29:05 +02:00
AnnsAnn
4a3f6d5859 sys/include/net/sock: update guide references
Co-authored-by: crasbe <crasbe@gmail.com>
2025-09-18 15:37:50 +02:00
Benjamin Valentin
af8faa0257 net/dns: make file safe to include regardless of modules used 2025-09-11 20:05:20 +02:00
Benjamin Valentin
9c4ee37acc sys/dns: use hostnames in DNS lookup 2025-09-11 19:16:03 +02:00
Benjamin Valentin
48273ef736 net/hosts: add module for static hostname definitions 2025-09-11 19:16:03 +02:00
Benjamin Valentin
23c956e508 sys/net/ipv4: add IPV4_ADDR_LOOPBACK definition 2025-09-11 19:16:02 +02:00
crasbe
7c44b06e5c
Merge pull request #21652 from benpicco/nanocoap_server/buf
nanocoap_server: use zero-copy network buffer for parsing request
2025-09-04 14:43:05 +00:00
Marian Buschsieweke
c0cc617c7f
Merge pull request #21633 from crasbe/pr/sntp
sys/net/sntp: migrate from xtimer to ztimer
2025-08-21 16:23:56 +00:00
crasbe
acf10d91b9 sys/net/ntp_packet: add ref to SNTP, fix time 2025-08-21 14:27:28 +02:00
crasbe
8ab9956ae5 sys/net/sntp: migrate from xtimer to ztimer 2025-08-21 14:27:28 +02:00
benpicco
f865852cd9
Merge pull request #21560 from benpicco/suit_get_public_key
sys/suit: add suit_get_public_key()
2025-08-14 12:15:48 +00:00
Benjamin Valentin
d48eaf15aa nanocoap_server: use zero-copy network buffer for parsing request 2025-08-07 17:26:57 +02:00
Benjamin Valentin
5497f0f2bc sys/suit: fix return value type
Member function and doc have bool return, so also return it in the
wrapper function.
2025-08-01 14:18:53 +02:00
crasbe
6b72096bf7
Merge pull request #21621 from netd-tud/psa-hmac-dispatch
sys/psa_crypto: Extend mac API
2025-07-31 20:59:49 +00:00