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

906 Commits

Author SHA1 Message Date
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
Simon Brummer
6b24601ee9 gnrc_tcp: Add GNRC_TCP_NO_TIMEOUT 2021-08-14 15:28:14 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +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
c33e40cce1
gnrc_ipv6_nib: provide functions to get offset of public timestamps 2021-08-07 14:04:44 +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
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
a0b9eb064c
gnrc_dhcpv6_client_simple_pd: fix old doc and names 2021-07-20 14:42:07 +02:00
Simon Brummer
873d1fe378 gnrc_tcp: align with sock_tcp 2021-07-13 20:32:14 +02:00
Simon Brummer
88a0273434 gnrc_tcp: add listen/accept 2021-07-08 09:40:02 +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
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
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
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
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
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
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
Benjamin Valentin
056dcd8ae1 gnrc_dhcpv6_client_6lbr: choose downstream if as !upstream 2021-06-15 15:35:10 +02:00
Mumpfie
185570b034 gnrc tx-sync: add cast for c++ compatibility 2021-05-04 16:59:56 +02: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 S. Lenders
db8415b5b6 gnrc_netif_pktq: add function to check usage 2021-03-15 15:13:27 +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
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
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
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
Marian Buschsieweke
b50964f6fc
sys/net/gnrc: fix in-band signaling of no RSSI
Previously a value of 0 was used for the RSSI to signal that this value is not
present in `gnrc_netif_hdr_t`. However, an RSSI of 0 dBm is legal and even very
plausible data.

This commit defines `GNRC_NETIF_HDR_NO_RSSI` as `INT16_MIN`, which is below the
noise floor in the vacuum of outer space and hence impossible to receive.
For consistency, also GNRC_NETIF_HDR_NO_LQI is defined.
2021-01-13 08:53:33 +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
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
80ff517eba
gnrc_netif: 6lo.h: add flags to indicate SRF capability 2020-12-14 09:30:03 +01:00
Martine S. Lenders
82c4d263e8
gnrc_sixlowpan_config: rename SRF parameters for Kconfig 2020-12-14 09:30:03 +01:00
Martine S. Lenders
0af8a1600a
sixlowpan|gnrc_sixlowpan: change SFR draft to RFC in doc 2020-12-14 09:00:26 +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
Marian Buschsieweke
d95192e97b
sys/net/gnrc/sock: Add support for RX timestamp 2020-12-10 17:43:11 +01:00