Benjamin Valentin
fa2d9bde56
socket_zep: port to radio HAL
2021-11-18 11:51:14 +01: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
benpicco
abeb9c871d
Merge pull request #16745 from jia200x/pr/gnrc_netif_pktq/fix_deschedule
...
gnrc_netif_pktq: schedule immediately if timer us is equal to zero
2021-09-15 00:16:42 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver
2021-08-18 15:24:10 +02:00
Jose Alamos
e9a2f186ba
gnrc_netif_pktq: send schedule msg directly if dequeue timer is zero
2021-08-16 14:42:56 +02:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines
2021-08-13 19:50:38 +02:00
Jan Romann
e7a24fe136
gnrc_netif/lorawan: fix ENABLE_DEBUG definition
2021-08-12 17:30:46 +02:00
Jan Romann
441afca9fe
drivers/nrf24l01p_ng: fix ENABLE_DEBUG definitions
2021-08-12 17:30:45 +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
Benjamin Valentin
f4fa197951
gnrc_netif: properly initialize address in gnrc_netif_ipv6_add_prefix()
...
Initialize addr with 0 first.
Otherwise if prefix is < 64 there will be random bits of stack memory
in the bits of the address that are neither touched by ipv6_addr_set_aiid()
nor ipv6_addr_init_prefix().
2021-08-09 16:50:21 +02:00
Benjamin Valentin
b90c6ed373
gnrc_netif: add gnrc_netif_ipv6_add_prefix()
2021-07-29 16:04:28 +02:00
Jose Alamos
5e3f7e35f1
gnrc_netif/auto_init_*: avoid explicit cast to netdev
2021-07-09 11:35:21 +02:00
Jose Alamos
d33008483e
gnrc_netif_ieee802154: avoid explicit cast to netdev
2021-07-09 11:35:19 +02:00
Jose Alamos
13274da74a
gnrc_lorawan: fix gnrc_pktbuf_release_error
2021-07-06 14:14:27 +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
Kevin "Tristate Tom" Weiss
05b61e84ae
Merge pull request #16584 from jia200x/pr/fix_gnrc_lorawan_memory_leak
...
gnrc_netif/lorawan: drop netif header on send
2021-06-25 10:25:01 +02:00
Jose Alamos
71ddd3bd61
gnrc_lorawan: fix undefined state when PSDU is NULL
2021-06-24 15:51:04 +02:00
Jose Alamos
5808a16f23
gnrc_netif/lorawan: drop netif header on send
2021-06-24 15:21:05 +02:00
Martine Lenders
270ea83c0f
Merge pull request #16531 from benpicco/drivers/slipdev-l2
...
drivers/slipdev: report NETOPT_ADDRESS to simulate l2 address
2021-06-22 20:15:31 +02:00
benpicco
cf688774e5
Merge pull request #16527 from benpicco/gnrc_netif_create-race
...
sys/net/gnrc/netif: make gnrc_netif_create() blocking to avoid race condition
2021-06-21 15:48:18 +02:00
Benjamin Valentin
d7c377f400
sys/net/gnrc/netif: make gnrc_netif_create() blocking
...
Make gnrc_netif_create() block until the interface is created and
registered.
This avoids a race condition where after calling gnrc_netif_init_devs()
not all interfaces are available yet when iterating through the list
of interfaces with gnrc_netif_iter().
2021-06-21 14:04:06 +02:00
Benjamin Valentin
c1eead925d
drivers/slipdev: register with netdev
2021-06-21 12:42:03 +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
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
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
2467c84634
drivers/ethos: enable multiple instances
2021-06-11 12:31:37 +02:00
Jnae
b287d120ff
at86rf215: timestamp counter for rx frames
2021-05-12 15:27:36 +02:00
benpicco
2b6454a2d7
Merge pull request #16106 from fabian18/ieee802154_security_small_bugfix_and_stricter_names
...
net/ieee802154_security: small bugfix and stricter names
2021-05-03 11:29:43 +02:00
Benjamin Valentin
d611a264fd
drivers/cc2420: register with netdev
2021-04-27 17:37:52 +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
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
Akshai M
efdefaa7db
gnrc_netif_lorawan: Validate DR
...
Co-authored-by: José Alamos <jialamos@uc.cl>
2021-03-19 12:17:44 +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
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
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
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
3b7e852773
net/gnrc/netif: hook up netstats_neighbor
2021-02-09 12:27: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
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
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
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
Benjamin Valentin
d8918c24fa
socket_zep: register with netdev
2021-01-25 22:59:01 +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
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
1cd1716280
gnrc_sixlowpan_frag: initial import of Selective Fragment Recovery
2020-12-14 13:00:36 +01:00
dylad
5b7961b747
sys/net: add sam0 eth auto init
2020-12-13 22:01:50 +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
Benjamin Valentin
518c95e0ee
gnrc_netif_ieee802154_create: use byteorder_htols()
2020-12-08 16:31:20 +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
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
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
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
c1874c8d89
all: add missing limits.h includes
...
Removal of kernel_types.h make these necessary.
2020-11-25 17:52:34 +01:00
Jose Alamos
dfb214ab98
gnrc_netif: add missing pktbuf release
2020-11-19 11:13:58 +01:00
Jose Alamos
53348e3a8c
gnrc_netif: add missing netdev events
2020-11-12 16:12:22 +01:00
Bas Stottelaar
922e2ac1c9
sys/*: replace #if ENABLE_DEBUG with IS_ACTIVE
2020-11-02 21:49:39 +01:00
benpicco
e77d12da26
Merge pull request #15188 from benpicco/drivers/kw41zrf-register
...
drivers/kw41zrf: register with netdev
2020-10-31 14:30:00 +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
ad3c8ba5a4
gnrc_netif_ethernet: use new helper function to generate MC address
2020-10-29 14:38:52 +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
68d3f2ee6c
sys/net: remove nordic softdevice specific handling
2020-10-29 09:02:12 +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
1b35d06a51
sys/*: realign ENABLE_DEBUG
2020-10-23 11:27:48 +02:00
Bas Stottelaar
80d9da90df
sys/*: add missing include of assert.h
2020-10-22 11:13:09 +02:00
Benjamin Valentin
eb3daf4c22
drivers/at86rf215: give driver threads different names
...
Use different names for the sub-GHz and 2.4 GHz driver thread to make
it easier to tell which is which.
```
2020-10-21 19:53:50,608 # pid | name | state Q | pri | stack ( used) ( free) | base addr | current
2020-10-21 19:53:50,622 # - | isr_stack | - - | - | 512 ( 232) ( 280) | 0x20000000 | 0x200001c8
2020-10-21 19:53:50,623 # 1 | main | running Q | 7 | 1536 ( 660) ( 876) | 0x200002f8 | 0x2000075c
2020-10-21 19:53:50,639 # 2 | pktdump | bl rx _ | 6 | 1536 ( 236) ( 1300) | 0x200035a8 | 0x20003abc
2020-10-21 19:53:50,653 # 3 | 6lo | bl rx _ | 3 | 1024 ( 332) ( 692) | 0x2000420c | 0x2000450c
2020-10-21 19:53:50,655 # 4 | ipv6 | bl rx _ | 4 | 1024 ( 376) ( 648) | 0x200009d4 | 0x20000cd4
2020-10-21 19:53:50,670 # 5 | udp | bl rx _ | 5 | 1024 ( 252) ( 772) | 0x200049f0 | 0x20004cf4
2020-10-21 19:53:50,672 # 6 | at86rf215 [sub GHz] | bl rx _ | 2 | 1024 ( 536) ( 488) | 0x20001200 | 0x200014c4
2020-10-21 19:53:50,687 # 7 | at86rf215 [2.4 GHz] | bl rx _ | 2 | 1024 ( 536) ( 488) | 0x20001600 | 0x200018c4
2020-10-21 19:53:50,689 # | SUM | | | 8704 ( 3160) ( 5544)
```
2020-10-21 19:59:42 +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
Jose Alamos
46600adf22
nrf802154: unify auto_init for HAL and netdev
2020-10-19 15:18:35 +02:00
Jose Alamos
c1a9d352f3
cc2538_rf: unify auto_init for HAL and netdev
2020-10-19 15:18:34 +02:00
Marian Buschsieweke
c38ca6d718
Merge pull request #15212 from miri64/gnrc_pkt/enh/pkt-list-ops
...
gnrc_pkt: introduce packet list operations
2020-10-15 12:13:03 +02:00
Francisco Acosta
05b089b3c4
gnrc_netif: remove unused event_netdev_t
struct
2020-10-14 14:46:35 +02:00
Martine Lenders
45144fb4a4
treewide: use new gnrc_pkt API functions instead of utlist.h macros
2020-10-13 13:32:53 +02:00
Sören Tempel
af03cd8f4f
gnrc_netif: add missing gnrc_netif_release() to early return
...
The gnrc_netif_ipv6_addr_add_internal() function unconditionally
acquires the global netif rmutex lock but doesn't release this lock on
this specific path (i.e. if gnrc_netif_ipv6_group_join_internal failed).
This can cause a deadlock as no other thread will afterwards be capable
of acquiring the netif lock.
2020-10-13 04:42:52 +02:00
benpicco
3384c327a7
Merge pull request #15194 from miri64/gnrc_netif_raw/fix/netif-hdr
...
gnrc_netif_raw: add NETIF header on receive
2020-10-09 14:35:54 +02:00
Martine Lenders
6991ad5910
gnrc_netif_raw: add NETIF header on receive
...
... to give upper layer a hint on the interface the packet came from.
2020-10-09 11:51:18 +02:00
Benjamin Valentin
b32bc3dbd1
drivers/kw41zrf: register with netdev
2020-10-08 16:19:23 +02:00
Benjamin Valentin
1afe72a5e5
drivers/enc28j60: register with netdev
2020-10-08 10:36:56 +02:00
Benjamin Valentin
988ee1648f
drivers/mrf24j40: register with netdev
2020-10-07 16:39:39 +02:00