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
benpicco
2cab6b9f18
Merge pull request #14500 from brummer-simon/gnrc_tcp-replace_xtimer_with_evtimer
...
gnrc_tcp: Replace xtimer with evtimer
2020-10-05 13:58:39 +02:00
11aa30625f
sys/net/gnrc: fix typos
...
- 'Busses' -> 'Buses'
- 'wether' -> 'whether'
- 'inferface' -> 'interface'
- 'registartion' -> 'registration'
- 'divisable' -> 'dividable'
- 'anounce' -> 'announce'
2020-10-02 08:13:18 +02:00
Simon Brummer
132882df73
gnrc_tcp: Replace xtimer with evtimer
2020-10-01 11:30:00 +02:00
Jose Alamos
fda73fdf0a
gnrc_lorawan: uncrustify files
2020-09-30 14:18:54 +02:00
Jose Alamos
71bda3bcd8
gnrc_lorawan: remove GNRC specific dependencies
2020-09-30 14:18:54 +02:00
Jose Alamos
2e6ba90435
gnrc_lorawan: refactor rx_done callback
2020-09-30 14:18:54 +02:00
Jose Alamos
5146261f03
gnrc_lorawan: rename radio event functions
2020-09-30 14:18:54 +02:00
Juergen Fitschen
838d1007b3
gnrc/mac/timeout: add missing include
2020-09-24 13:06:47 +02:00
Martine Lenders
a72d0ef3e8
gnrc_netif: add packet to queue when device is busy
...
... and also send on send error (i.e. when *medium* was busy)
2020-09-02 12:30:23 +02:00
Martine Lenders
7c7f667108
gnrc_netif: add a send queue
2020-09-02 12:30:22 +02:00
Martine S. Lenders
3b7bab1108
gnrc_ipv6_nib_nc: error on non-link-local address without ARSM
2020-09-01 11:12:55 +02:00
Martine Lenders
4ba5367755
Merge pull request #7664 from zhuoshuguo/lwmac_radio_reinit
...
LWMAC: add re-initialize radio support.
2020-08-26 18:58:56 +02:00
benpicco
9f2475dc14
Merge pull request #14832 from maribu/sys-cleanup
...
sys: Cleanup access to internal variables
2020-08-26 17:07:19 +02:00
Marian Buschsieweke
3b6fa61829
sys: Cleanup access to internal variables
...
Replace direct accesses to sched_active_thread and sched_active_pid with
the helper functions thread_getpid() and thread_get_active(). This serves
two purposes:
1. It makes accidental writes to those variable from outside core less likely.
2. Casting off the volatile qualifier is now well contained to those two
functions
2020-08-24 20:28:11 +02:00
Benjamin Valentin
39951a948e
net/netif: move gnrc_netif_addr_to/from_str() to netif
...
These functions are independent from GNRC and can be used by stack-agnistoc
code.
Avoid pulling in a GNRC dependency by moving those two helper functions to
`netif`.
The old function names are kept as `static inline` wrapper functions to avoid
breaking API users.
2020-08-16 23:52:32 +02:00
zhuoshuguo
d3c87d7bb9
lwmac: add re-initialize radio support.
2020-08-15 22:12:36 +08:00
Jannes
7f0a099256
net: Add the possibility to use custom ethertype
2020-08-06 13:04:58 +02:00
Benjamin Valentin
0c06694f72
gnrc_netif: replace GNRC_NETIF_SINGLE with gnrc_netif_single pseudo-module
2020-07-28 13:59:20 +02:00
Akshai M
bcb42e2166
mac/types.h : Remove ifndef for 'GNRC_MAC_TYPE_GET_DUTYCYCLE'
...
Removed ifndef guards for GNRC_MAC_TYPE_GET_DUTYCYCLE as its
an IPC message type and is also not intended as a configuration.
2020-07-21 16:36:27 +05:30
Leandro Lanzieri
cdc252ab7b
net/gnrc/nettest: Remove module
...
This module has been deprecated and scheduled for removal in release
2020.07.
2020-07-10 15:58:54 +02:00
Akshai M
a05eb3b4ad
gnrc/lwmac : Move GNRC_LWMAC_MAX_DATA_TX_RETRIES to 'CONFIG_'
2020-07-08 10:04:45 +05:30
Akshai M
cda7791a4b
gnrc/lwmac : Move GNRC_LWMAC_DATA_CSMA_RETRIES to 'CONFIG_'
2020-07-08 10:04:45 +05:30
Akshai M
e241141a92
gnrc/lwmac : Move GNRC_LWMAC_DATA_DELAY_US to 'CONFIG_'
2020-07-08 10:04:45 +05:30
Akshai M
1fe5acddc6
gnrc/lwmac : Move GNRC_LWMAC_WR_PREPARATION_US to 'CONFIG_'
2020-07-08 10:04:45 +05:30
Akshai M
85948925ba
gnrc/lwmac : Move GNRC_LWMAC_TIMEOUT_COUNT to 'CONFIG_'
2020-07-08 10:04:45 +05:30
Akshai M
3bd8dd4aa2
gnrc/lwmac : Move GNRC_LWMAC_BROADCAST_CSMA_RETRIES to 'CONFIG_'
2020-07-08 10:04:45 +05:30
Akshai M
65fa832e40
gnrc/lwmac : Move GNRC_LWMAC_MAX_RX_EXTENSION_NUM to 'CONFIG'
2020-07-08 10:04:45 +05:30
Akshai M
e38dca5d42
gnrc/lwmac : Move GNRC_LWMAC_TIME_BETWEEN_WR_US to 'CONFIG_'
2020-07-08 10:04:45 +05:30
Akshai M
1be3264ab3
gnrc/lwmac : Move GNRC_LWMAC_WAKEUP_INTERVAL_US to 'CONFIG_'
2020-07-08 10:04:45 +05:30
Akshai M
c15bd805af
gnrc/lwmac : Update documentation
...
Add compile time parameters to group 'net_gnrc_conf' and modify
documentation to stick to 80 character limit per line.
2020-07-08 10:04:45 +05:30
Simon Brummer
122616ae7d
gnrc_tcp: add retransmission timer
2020-07-06 21:18:23 +02:00
Simon Brummer
67b22d8783
gnrc_tcp: requested changes
2020-07-04 09:21:50 +02:00
Simon Brummer
aa1c2e9cba
gnrc_tcp: rewrite API internal messaging
2020-07-04 09:20:43 +02:00
Jean Pierre Dudey
7a991f8ecc
net/gnrc/ipv6/nib: fix ref to net_gnrc_ipv6_nib_nc_info
...
This fixes a bug with the link as newlines can't be inside of a link
on Doxygen documentation.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-07-01 16:16:16 -05:00
Leandro Lanzieri
1f33c43fd4
net/gnrc/lwmac: Remove unused queue size configuration option
2020-06-19 10:20:15 +02:00
Leandro Lanzieri
d9ba720cc0
net/gnrc/gomach: Remove unused queue size configuration option
2020-06-19 10:19:31 +02:00
Akshai M
676a39cebb
gnrc/gomach : Move GNRC_GOMACH_MAX_T2U_RETYR_THRESHOLD to 'CONFIG_'
2020-06-18 21:21:50 +05:30
Akshai M
89360577a0
gnrc/gomach : Move GNRC_GOMACH_T2U_RETYR_THRESHOLD to 'CONFIG_'
2020-06-18 21:21:50 +05:30
Akshai M
b9773263c0
gnrc/gomach : Move GNRC_GOMACH_REPHASELOCK_THRESHOLD to 'CONFIG_'
2020-06-18 21:21:50 +05:30
Akshai M
6b10059b8a
gnrc/gomach : Move GNRC_GOMACH_MAX_ALLOC_SENDER_NUM to 'CONFIG_'
2020-06-18 21:21:50 +05:30