Francisco Molina
c8045dc815
sys/gnrc/sixlowpan/frag/fb: guard sfr_types.h header include
...
The included header references evtimer which is not a direct
dependency for gnrc_sixlowpan_frag, but only for
gnr_sixlowpan_frag_sfr
2022-03-02 08:42:36 +01:00
Karl Fessel
d03175c2ae
net/gnrc: avoid *timer creeping though header
2022-02-28 14:53:07 +01:00
Karl Fessel
726c461cb5
Merge pull request #17574 from kfessel/p-fix-asserth
...
core/assert: avoid including panic.h with assert.h
2022-02-15 11:57:55 +01:00
Karl Fessel
49e99f712b
net/gnrc: include kernel_defines.h
2022-02-12 18:30:58 +01:00
Jens Wetterich
f1f1896628
net/gnrc/pkt: Fix ISO C++ compatibility
2022-02-10 18:26:38 +01:00
Karl Fessel
2bebcb62b5
Merge pull request #17411 from kfessel/p-nib-no-minutes
...
gnrc/ipv6nib: remove the need for evtimer-minutes
2022-01-15 02:33:30 +01:00
Karl Fessel
505ce8481b
gnrc/ipv6nib: remove the need for evtimer-minutes
...
gnrc/nib: add unitmarker to valid_untils that where min and are now ms
2022-01-13 15:17:24 +01:00
Jose Alamos
e40f97c4da
net/gnrc/netif: move interface registration to init function
2022-01-10 13:59:28 +01:00
Jose Alamos
e7fac9f661
net/gnrc_netif: add return values to init
2022-01-10 13:59:01 +01:00
Marian Buschsieweke
50be359a96
sys/net/gnrc: fix compilation with -Wcast-align
...
Also ensure that the alignment requirement is indeed matched.
2021-11-30 11:20:17 +01:00
benpicco
f8c8abf75d
Merge branch 'master' into gnrc_gomach/adapt_duty_recode_para_name
2021-10-13 17:36:21 +02:00
Martine Lenders
b8691842fb
gnrc_ipv6_nib: queue packets that trigger probing on border router
2021-10-04 17:25:36 +02:00
benpicco
ea80df1780
Merge pull request #16824 from benpicco/gnrc_netif_ipv6_wait_for_prefix
...
gnrc/netif: add gnrc_netif_ipv6_wait_for_global_address()
2021-09-17 14:32:53 +02:00
Martine Lenders
75c9aaceb4
Merge pull request #15946 from jia200x/pr/gnrc_lorawan_redundancy
...
net/gnrc_lorawan: implement unconfirmed uplink redundancy
2021-09-17 13:38:10 +02:00
Benjamin Valentin
9c783ac7c4
gnrc/netif: accept const addr in gnrc_netif_ipv6_addr_add/remove()
2021-09-17 13:00:15 +02:00
Benjamin Valentin
4bd53e70fa
gnrc/netif: add gnrc_netif_ipv6_wait_for_global_address()
...
This adds a function to wait until a global address becomes available.
2021-09-17 13:00:14 +02:00
Jean Pierre Dudey
cd728e08c6
Merge pull request #16764 from brummer-simon/gnrc_tcp-experimental_dynamic_MSL
...
gnrc_tcp: experimental feature "dynamic msl"
2021-09-13 10:36:54 +02:00
Simon Brummer
1870e8a3ce
gnrc_tcp: experimental feature "dynamic msl"
2021-09-04 07:37:53 +02:00
Hauke Petersen
f5f28347c2
net/gnrc/rpl: add hooks for nimble_rpble
2021-08-24 11:33:13 +02:00
Simon Brummer
6fba0d970c
gnrc_sock_tcp: integrate gnrc_tcp
2021-08-14 21:27:34 +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
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
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
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
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
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
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
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
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
0b801c4de0
all: adapt to moved sched defines
2020-11-23 16:56:34 +01:00
Benjamin Valentin
dbf6b1e25c
sys/net: replace netif_addr_to/from_str with l2util_addr…
2020-11-17 10:51:22 +01:00
Martine Lenders
1070e287f4
Merge pull request #15342 from miri64/gnrc_pkt/enh/tests
...
gnrc_pkt: port to list.h
2020-11-03 17:49:40 +01:00
Martine Lenders
bbe4f3074b
gnrc_pkt: port to list.h
2020-11-03 13:15:29 +01:00
Martine S. Lenders
f1af602952
gnrc_sixlowpan_frag_fb: add missing frag/hint.h
include
2020-10-30 14:54: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
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
ed64c603ab
Merge pull request #15323 from miri64/gnrc_nettype/cleanup/rm-IOVEC
...
gnrc_nettype: remove GNRC_NETTYPE_IOVEC
2020-10-28 23:50:09 +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
Martine Lenders
3cac6e0979
gnrc_nettype: remove GNRC_NETTYPE_IOVEC
...
NETTYPE is unused in the code base since
9fb2f541ba
and deprecated since
744f078b3a
2020-10-28 10:37:31 +01: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
Bas Stottelaar
ffb929d811
sys/*: remove unused assert.h include
2020-10-22 11:29:27 +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
János Brodbeck
5a75eb29c3
net/netif/gnrc_netif: allow larger IPv6 MTU than minimum for BLE
2020-10-20 14:20:51 +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
Martine Lenders
d491e827fb
gnrc_pkt: introduce packet list operations
...
Up until now `utlist.h` is used to manipulate the packet list within a
GNRC pkt snip. Since I always wanted to see if there would be an
advantage when using `core`'s `list.h`, I provide this
`gnrc_pktsnip_t`-specific API to manipulate the packet list. It has the
additional advantage of type safety and that future steps could
encapsulate those operations.
2020-10-13 13:32:53 +02:00
Akshai M
35e9612d02
gnrc/lorawan : Add IN_865 channel frequencies
2020-10-13 13:38:19 +05:30
Martine Lenders
b11acf1940
Merge pull request #15155 from benpicco/gnrc/rpl-TODO
...
gnrc/rpl: document implementation status
2020-10-08 13:35:06 +02:00
Benjamin Valentin
868c07158e
gnrc/rpl: document implementation status
...
This copies the information from #3662 to the documentation.
Makes it more discoverable and let's people manage their
expectations.
2020-10-08 12:10:05 +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
aec5586021
gnrc_tcp: Fix typo in config.h
2020-10-05 14:59:11 +02:00