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
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
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
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
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
Jose Alamos
275630289d
gnrc_netif_lorawan: add missing NULL check
2021-03-01 10:50:57 +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
Cenk Gündoğan
72337ebb9b
gnrc_rpl: harden validation routine for options
2021-02-23 18:58:03 +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
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
3b7e852773
net/gnrc/netif: hook up netstats_neighbor
2021-02-09 12:27:58 +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
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
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
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
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
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
dylad
5b7961b747
sys/net: add sam0 eth auto init
2020-12-13 22:01:50 +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
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
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
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
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
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
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
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