Martine S. Lenders
1c251beb03
gnrc_nettype: indirect NETTYPE definition via pseudo-modules
...
Instead of making a NETTYPE definition dependent on an implementation
module, this change makes it dependent on a pseudo-module for each
specific NETTYPE and makes the respective implementation modules
dependent on it.
This has two advantages:
- one does not need include the whole implementation module to
subscribe to a NETTYPE for testing or to provide an alternative
implementation
- A lot of circular dependencies related to GNRC could be untangled.
E.g. the only reason `gnrc_icmpv6` needs the `gnrc_ipv6` is because it
uses `GNRC_NETTYPE_IPV6` to search for the IPv6 header in an ICMPv6
when demultiplexing an ICMPv6 header.
This change does not resolve these dependencies or include usages where
needed. The only dependency change is the addition of the
pseudo-modules to the implementation modules.
2020-05-05 19:16:06 +02:00
Martine S. Lenders
d141d0b13d
gnrc_netif: doxygen does not process IS_ACTIVE()
2020-05-05 10:17:30 +02:00
Benjamin Valentin
4065da8838
gnrc/netif: 6lo: use 16 bit for max_frag_size
...
Using 8 bit for `max_frag_size` limits that value to 255.
802.15.4g specifies a PDU of 2047 bytes which exceeds that limit.
Using a 16 bit value here allows to use the full L2 PDU.
Before:
12:02:16,300 # ping6 fe80::2068:3123:59f5:d238%8 -s 400
12:02:16,302 # sending 244 bytes
12:02:16,387 # sending 218 bytes
12:02:16,624 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=0 ttl=64 rssi=-49 dBm time=316.307 ms
12:02:17,302 # sending 244 bytes
12:02:17,387 # sending 218 bytes
12:02:17,624 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=1 ttl=64 rssi=-49 dBm time=316.307 ms
12:02:18,302 # sending 244 bytes
12:02:18,387 # sending 218 bytes
12:02:18,624 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=2 ttl=64 rssi=-50 dBm time=316.306 ms
12:02:18,625 #
12:02:18,629 # --- fe80::2068:3123:59f5:d238 PING statistics ---
With this patch:
12:09:44,276 # ping6 fe80::2068:3123:59f5:d238%8 -s 400
12:09:44,278 # sending 432 bytes
12:09:44,574 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=0 ttl=64 rssi=-52 dBm time=289.888 ms
12:09:45,279 # sending 432 bytes
12:09:45,574 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=1 ttl=64 rssi=-52 dBm time=289.885 ms
12:09:46,069 # sending 43 bytes
12:09:46,279 # sending 432 bytes
12:09:46,499 # sending 43 bytes
12:09:46,574 # 408 bytes from fe80::2068:3123:59f5:d238%8: icmp_seq=2 ttl=64 rssi=-47 dBm time=289.886 ms
12:09:46,574 #
12:09:46,578 # --- fe80::2068:3123:59f5:d238 PING statistics ---
2020-04-29 12:49:36 +02:00
Joakim Nohlgård
2013ac75f5
gnrc_netif: Add support for internal event loop
...
Enabled by the gnrc_netif_events pseudo module. Using an internal event
loop within the gnrc_netif thread eliminates the risk of lost interrupts
and lets ISR events always be handled before any send/receive requests
from other threads are processed.
The events in the event loop is also a potential hook for MAC layers and
other link layer modules which may need to inject and process events
before any external IPC messages are handled.
Co-Authored-By: Koen Zandberg <koen@bergzand.net>
2020-04-17 12:02:39 +02:00
Leandro Lanzieri
aa2ec68c9c
gnrc/nib/conf.h: Align configuration values
2020-03-31 19:02:55 +02:00
Leandro Lanzieri
87ac1a652d
gnrc/nib: Expose configurations to Kconfig
2020-03-31 19:02:51 +02:00
Leandro Lanzieri
64dde8f317
gnrc/nib: Move GNRC_IPV6_NIB_ABR_NUMOF to 'CONFIG_' namespace
2020-03-31 18:07:13 +02:00
Leandro Lanzieri
a77d0dd9c5
gnrc/nib: Move GNRC_IPV6_NIB_OFFL_NUMOF to 'CONFIG_' namespace
2020-03-31 18:07:13 +02:00
Leandro Lanzieri
f6ee712e98
gnrc/nib: Move GNRC_IPV6_NIB_DEFAULT_ROUTER_NUMOF to 'CONFIG_' namespace
2020-03-31 18:07:12 +02:00
Leandro Lanzieri
f2ed8b06c0
gnrc/nib: Move GNRC_IPV6_NIB_L2ADDR_MAX_LEN to 'CONFIG_' namespace
2020-03-31 18:07:12 +02:00
Leandro Lanzieri
acd789bd87
gnrc/nib: Move GNRC_IPV6_NIB_CONF_REACH_TIME_RESET to 'CONFIG_'
2020-03-31 18:07:11 +02:00
Leandro Lanzieri
07771de08f
gnrc/nib: Move GNRC_IPV6_NIB_NUMOF to 'CONFIG_' namespace
2020-03-31 18:07:11 +02:00
Leandro Lanzieri
1f20ffc150
gnrc/nib: Move GNRC_IPV6_NIB_CONF_NO_RTR_SOL to 'CONFIG_' namespace
...
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:10 +02:00
Leandro Lanzieri
53a522d642
gnrc/nib: Move GNRC_IPV6_NIB_CONF_MULTIHOP_P6C to 'CONFIG_' namespace
...
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:10 +02:00
Leandro Lanzieri
22b4df9537
gnrc/nib: Move GNRC_IPV6_NIB_CONF_MULTIHOP_DAD to 'CONFIG_' namespace
...
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:09 +02:00
Leandro Lanzieri
3ec296400d
gnrc/nib: Move GNRC_IPV6_NIB_CONF_DC to 'CONFIG_' namespace
...
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:09 +02:00
Leandro Lanzieri
219d5a1de2
gnrc/nib: Move GNRC_IPV6_NIB_CONF_REDIRECT to 'CONFIG_' namspace
...
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:08 +02:00
Leandro Lanzieri
42fb2fe09f
gnrc/nib: Move GNRC_IPV6_NIB_CONF_ADV_ROUTER to 'CONFIG_' namespace
2020-03-31 18:07:08 +02:00
Leandro Lanzieri
bad9abd349
gnrc/nib: Move GNRC_IPV6_NIB_CONF_DNS to 'CONFIG_' namespace
...
Also evaluate using IS_ACTIVE macro.
2020-03-31 18:07:07 +02:00
Leandro Lanzieri
e52b93cef0
gnrc/nib: Move GNRC_IPV6_NIB_CONF_ARSM to 'CONFIG_' namespace
...
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:07 +02:00
Leandro Lanzieri
f23267b67b
gnrc/nib: Move GNRC_IPV6_NIB_CONF_QUEUE_PKT to 'CONFIG_' namespace
...
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:06 +02:00
Leandro Lanzieri
ce931f179c
gnrc/nib: Move GNRC_IPV6_NIB_CONF_SLAAC to 'CONFIG_' namespace
...
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:05 +02:00
Leandro Lanzieri
49ec28867c
gnrc/nib: Move GNRC_IPV6_NIB_CONF_ROUTER to 'CONFIG_' namespace
...
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:05 +02:00
Leandro Lanzieri
1acfe7ae19
gnrc/nib: Move GNRC_IPV6_NIB_CONF_6LN to 'CONFIG_' namespace
...
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:04 +02:00
Leandro Lanzieri
398bb6d025
gnrc/nib: Move GNRC_IPV6_NIB_CONF_6LR to 'CONFIG_' namespace
...
Also evaluate it using IS_ACTIVE
2020-03-31 18:07:03 +02:00
Leandro Lanzieri
40c78f1c75
gnrc/nib: Move GNRC_IPV6_NIB_CONF_6LBR to 'CONFIG_' namespace
...
Also evaluate it using IS_ACTIVE macro.
2020-03-31 18:07:03 +02:00
Martine S. Lenders
62d48d5bf3
gnrc_netif: document new *_create() out parameter as such
2020-03-26 14:37:44 +01:00
Martine Lenders
061eb88c05
Merge pull request #12994 from jia200x/pr/gnrc_netif_desc_alloc
...
gnrc_netif: implementation of dynamic GNRC_NETIF_NUMOF approach
2020-03-26 14:30:44 +01:00
Jose Alamos
44f7cb712c
gnrc_netif: add GNRC_NETIF_SINGLE macro
2020-03-26 14:19:02 +01:00
Jose Alamos
e451570219
gnrc_netif: remove GNRC_NETIF_NUMOF macro
2020-03-26 11:12:23 +01:00
Jose Alamos
67ed9defbe
gnrc_netif_xxx_create: use external netif allocation
2020-03-26 11:12:23 +01:00
benpicco
6ae0fd7c82
Merge pull request #13485 from miri64/gnrc_dhcpv6/enh/configure-context
...
gnrc_dhcpv6_client: configure prefix as compression context on 6LBRs
2020-03-25 16:48:11 +01:00
Jose Alamos
c2e491d2b7
gnrc_netif: change macros to inline functions
2020-03-17 10:54:30 +01:00
Jose Alamos
4393822b0f
gnrc_netif: add function to check if device requires 6Lo
2020-03-17 10:54:30 +01:00
Jose Alamos
6ace7b5472
gnrc_netif: use gnrc_netif_single where possible
2020-03-17 10:54:30 +01:00
Jose Alamos
121626b362
gnrc_netif: add function to check if single GNRC netif
2020-03-17 10:50:49 +01:00
Leandro Lanzieri
d281d4843f
Merge pull request #13628 from jia200x/pr/gnrc_rpl_macro
...
gnrc_rpl: add default value to GNRC_RPL_DEFAULT_NETIF
2020-03-13 15:47:13 +01:00
Jose Alamos
062643091c
gnrc_rpl: add default value to GNRC_RPL_DEFAULT_NETIF
2020-03-12 18:50:18 +01:00
Jose Alamos
c5cba0733f
gnrc_ipv6_nib: remove parenthesis from boolean configs
2020-03-10 12:30:12 +01:00
Martine S. Lenders
06d1d79ffa
gnrc_dhcpv6_client: configure prefix as compression context on 6LBRs
2020-03-09 14:21:53 +01:00
Jose Alamos
ca54366712
gnrc_netif: add send function
2020-03-06 15:22:43 +01:00
Benjamin Valentin
d765098d72
sys/auto_init: allow delayed initialisation of gnrc_netif
...
Co-authored-by: Martine S. Lenders <m.lenders@fu-berlin.de>
2020-03-04 16:13:40 +01:00
benpicco
244c7da050
Merge pull request #13026 from brummer-simon/gnrc_tcp-prepare_for_sock_integration
...
gnrc_tcp: Prepare for sock integration.
2020-02-26 23:22:58 +01:00
Simon Brummer
10872d9a85
gnrc_tcp: Add Endpoints for connection specification
2020-02-26 21:24:06 +01:00
Sören Tempel
0e2a620788
gnrc_tftp: remove module
...
Has been deprecated for awhile (01fc3d8f0b
).
2020-02-20 12:04:01 +01:00
benpicco
030e7ebc06
Merge pull request #13307 from miri64/dhcpv6-client-6lbr/feat/init
...
gnrc_dhcpv6_client_6lbr: initial import of a 6LBR DHCPv6 client
2020-02-20 11:00:35 +01:00
Martine S. Lenders
db463a3373
gnrc_dhcpv6_client_6lbr: initial import of a 6LBR DHCPv6 client
2020-02-19 17:37:47 +01:00
Cenk Gündoğan
4b58e5d41b
gnrc_rpl_p2p: fix cleanup timer usage
2020-02-14 11:41:30 +01:00
Martine S. Lenders
e94aa40bf5
gnrc_pktbuf: deprecate gnrc_pktbuf_replace_snip()
...
The function is unused and unneeded since 69d9ecc0d9
and
https://github.com/RIOT-OS/RIOT/issues/5089 calls to provide unittests.
2020-02-11 09:49:57 +01:00
Martine Lenders
ebb20f2d44
Merge pull request #13305 from miri64/gnrc_ipv6_ext_frag_stats/feat/initial
...
gnrc_ipv6_ext_frag: initial import of statistics module
2020-02-10 20:23:13 +01:00
Martine S. Lenders
cf69e61289
gnrc_ipv6_ext_frag: initial import of statistics module
2020-02-06 13:48:42 +01:00
Martine S. Lenders
ed9f43ab3a
gnrc_sixlowpan_frag_stats: add average fragments per datagram statistic
2020-02-06 13:40:23 +01:00
Leandro Lanzieri
5e1ef498a7
Merge pull request #13245 from miri64/gnrc_sixlowpan_frag_rb/enh/doc-fix-kconfig
...
gnrc_sixlowpan_frag_rb: fix doc on DO_NOT_OVERRIDE
2020-02-03 13:54:37 +01:00
Martine S. Lenders
90ed5bf4af
gnrc_sixlowpan_frag_rb: fix doc on DO_NOT_OVERRIDE
2020-02-03 12:48:19 +01:00
Martine S. Lenders
d99012561a
gnrc_ipv6_ext_frag: add configuration option to keep oldest entry
2020-02-03 12:44:15 +01:00
Cenk Gündoğan
0cf8bf1665
Merge pull request #12958 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_ext_hdr
...
Kconfig: Expose gnrc/ipv6/ext/frag configurations
2020-01-30 19:15:08 +01:00
Leandro Lanzieri
5602bd55ed
gnrc/ipv6/ext/frag: Move configurations to 'CONFIG_' namespace
...
Macros that changed:
GNRC_IPV6_EXT_FRAG_SEND_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_SEND_SIZE
GNRC_IPV6_EXT_FRAG_RBUF_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_RBUF_SIZE
GNRC_IPV6_EXT_FRAG_LIMITS_POOL_SIZE -> CONFIG_GNRC_IPV6_EXT_FRAG_LIMITS_POOL_SIZE
GNRC_IPV6_EXT_FRAG_RBUF_TIMEOUT_US -> CONFIG_GNRC_IPV6_EXT_FRAG_RBUF_TIMEOUT_US
2020-01-30 17:42:41 +01:00
Sebastian Meiling
a4c4c25b3b
Merge pull request #12866 from jia200x/pr/gnrc_lorawan_remove_netdev
...
net/gnrc_lorawan: remove netdev layer from MAC
2020-01-30 14:02:59 +01:00
Jose Alamos
cc2fd97194
net/gnrc_lorawan: remove netdev abstraction from MAC layer
2020-01-27 10:10:24 +01:00
Leandro Lanzieri
881f17a816
Merge pull request #13123 from PeterKietzmann/pr_kconf_6lo
...
Kconfig: Expose gnrc/sixlowpan configurations
2020-01-20 17:41:52 +01:00
Martine S. Lenders
744f078b3a
gnrc_nettype: deprecate iovec type
...
It is unused since 9fb2f541ba
and not
expected to be re-used in the future.
2020-01-20 13:39:24 +01:00
PeterKietzmann
df7a5d6df8
net/gnrc/sixlowpan/frag/rb:Move not override to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
PeterKietzmann
55282a1b1d
net/gnrc/sixlowpan/frag/vrb:Move timeout macro to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
PeterKietzmann
cc6bee4986
net/gnrc/sixlowpan/frag/vrb:Move size macro to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
PeterKietzmann
a3f349c991
net/gnrc/sixlowpan/nd: remove duplicate definition
2020-01-17 18:09:19 +01:00
PeterKietzmann
7d2c9ef418
net/gnrc/sixlowpan/nd:Move ND time macro to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
PeterKietzmann
582779a7a0
net/gnrc/sixlowpan/frag/rb:Move del. timer macro to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
PeterKietzmann
811facfa15
net/gnrc/sixlowpan/frag/rb:Move timeout macro to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
PeterKietzmann
9389d5b90f
net/gnrc/sixlowpan/frag/rb:Move size macro to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
PeterKietzmann
89af238eec
net/gnrc/sixlowpan/frag/fb:Move size macro to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
PeterKietzmann
b5ea3122e7
net/gnrc/sixlowpan:Move queue size macro to 'CONFIG_' namespace
2020-01-17 18:09:19 +01:00
Martine Lenders
97a71bc8a6
Merge pull request #13129 from PeterKietzmann/pr_sixlowpan_aggr_override
...
gnrc/sixlowpan: add deprecation note for GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE
2020-01-16 15:57:03 +01:00
PeterKietzmann
c7b6dc587c
gnrc/sixlowpan: deprecate GNRC_SIXLOWPAN_FRAG_RBUF_AGGRESSIVE_OVERRIDE
2020-01-16 13:59:16 +01:00
fc45c2cc83
Merge pull request #12848 from miri64/gnrc_sixlowpan_frag_rb/fix/interval-fixes
...
gnrc_sixlowpan_frag_vrb: fix issues with interval marker inherited from base
2020-01-15 20:57:49 +01:00
Leandro Lanzieri
b5c3e32af6
Merge pull request #13108 from MrKevinWeiss/pr/fix/gnrcctcdoc
...
doc/gnrc/ipv6: Update documentation group for gnrc
2020-01-13 14:02:16 +01:00
MrKevinWeiss
1e1bf6ed98
doc/gnrc/ipv6: Update documentation group for gnrc
...
Since the GNRC_IPV6 is part of GNRC it should be a part of the gnrc compile time configuration group.
This adds information on the group to specify it is gnrc and changes the group from config to net_gnrc_conf
2020-01-13 12:34:26 +01:00
PeterKietzmann
fb71ccc098
net/gnrc/netif:GNRC_NETIF_MIN_WAIT_AFTER_SEND_US to 'CONFIG_' namespace
2020-01-13 12:28:37 +01:00
PeterKietzmann
9e83d12bc0
net/gnrc/netif: Move GNRC_NETIF_IPV6_ADDRS_NUMOF to 'CONFIG_' namespace
2020-01-13 12:28:37 +01:00
PeterKietzmann
724d58b074
net/gnrc/netif: Move GNRC_NETIF_MSG_QUEUE_SIZE to 'CONFIG_' namespace
2020-01-13 12:28:37 +01:00
PeterKietzmann
b28a586702
net/gnrc/netif: Move GNRC_NETIF_DEFAULT_HL to 'CONFIG_' namespace
2020-01-13 12:28:37 +01:00
PeterKietzmann
3f0a19a9bc
net/gnrc/ipv6: Move config macros to 'CONFIG_' namespace
2020-01-07 15:36:04 +01:00
Francisco
dcc5299682
Merge pull request #10667 from miri64/gnrc_sixloenc/enh/6lo-config
...
gnrc_netif: make 6LoENC dynamically configurable
2020-01-06 13:19:24 +01:00
Leandro Lanzieri
449da7602d
gnrc/lorawan: Express timer drift in per mille instead of percentage
2019-12-20 14:12:43 +01:00
José Alamos
7d4082a6a3
Merge pull request #12922 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_blacklisting
...
Kconfig: Expose gnrc/ipv6/blacklist configurations
2019-12-20 11:32:46 +01:00
Martine S. Lenders
e1ae44b536
gnrc_sixlowpan_frag_stats: actualize pseudo-module
...
Having the definitions sit in the `net/gnrc/sixlowpan/frag.h` header
does not make much sense, when using Selective Fragment Forwarding
(and the fragmentation buffer already includes a
`net/gnrc/sixlowpan/frag/stats.h` header), so they are moved to their
own header. Since with this change it makes more sense to have the
statistics stored in their own sub-module, the pseudo-module is also
actualized.
2019-12-18 15:45:03 +01:00
Leandro Lanzieri
56e61dac47
net/gnrc/ipv6_blacklist: Move config macros to 'CONFIG_' namespace
...
Macros that changed:
GNRC_IPV6_BLACKLIST_SIZE -> CONFIG_GNRC_IPV6_BLACKLIST_SIZE
2019-12-11 10:39:16 +01:00
Martine Lenders
d926810e0b
Merge pull request #12893 from leandrolanzieri/pr/kconfig_migrate/gnrc/ipv6_whitelisting
...
Kconfig: Expose gnrc/ipv6/whitelist configurations
2019-12-10 18:32:34 +01:00
Leandro Lanzieri
15098a8fc2
gnrc/lorawan: Add configurations to GNRC's Doxygen configurations group
2019-12-06 15:19:18 +01:00
Leandro Lanzieri
de2fbeb112
net/gnrc/ipv6_whitelist: Move config macros to 'CONFIG_' namespace
...
Macros that changed:
GNRC_IPV6_WHITELIST_SIZE -> CONFIG_GNRC_IPV6_WHITELIST_SIZE
2019-12-06 13:57:52 +01:00
Leandro Lanzieri
4ebf34de23
net/gnrc: Move compile configurations to 'net_gnrc_conf' group
2019-12-06 12:23:34 +01:00
Jose Alamos
8999528390
net/gnrc_lorawan: add MIB for setting RX2 datarate
2019-12-03 14:48:29 +01:00
Jose Alamos
1e9bb7c175
net/gnrc_lorawan: add MIB for setting L2 address
2019-12-03 14:27:56 +01:00
Jose Alamos
99dbcecc3a
net/gnrc_lorawan: remove netdev SAP interface
2019-12-03 14:08:35 +01:00
Martine S. Lenders
54a8599170
gnrc_sixlowpan_frag_vrb: call base_rm() with gnrc_sixlowpan_frag_rb
...
`gnrc_sixlowpan_frag_rb_base_rm()` cleans up the intervals which is part
of `gnrc_sixlowpan_frag_rb`, not `gnrc_sixlowpan_frag`, so when the
`gnrc_sixlowpan_frag` is not compiled in, but `gnrc_sixlowpan_frag_rb`,
the intervals allocated in the reassembly buffer and inherited by the
virtual reassembly buffer are never released.
2019-11-29 17:58:02 +01:00
MichelRottleuthner
bf676d4728
Merge pull request #11022 from jia200x/pr/gnrc_lorawan
...
gnrc_lorawan: add support for GNRC based LoRaWAN stack
2019-11-27 09:25:20 +01:00
Jose Alamos
e03f7278bc
gnrc_netif.h: add lorawan component
2019-11-26 21:52:05 +01:00
Jose Alamos
e8bf26f7f3
gnrc_nettype: add GNRC_NETTYPE_LORAWAN type
2019-11-26 21:52:05 +01:00
Jose Alamos
845944e092
gnrc_netif_lorawan: add headers
2019-11-26 21:52:05 +01:00
Jose Alamos
4192cd5578
gnrc_lorawan: add public headers
2019-11-26 21:52:05 +01:00
61db4d9724
sys/include: fix typos
2019-11-23 22:39:37 +01:00