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
Benjamin Valentin
0c06694f72
gnrc_netif: replace GNRC_NETIF_SINGLE with gnrc_netif_single pseudo-module
2020-07-28 13:59:20 +02:00
Benjamin Valentin
3974a04623
gnrc/nib: add NIB event bus
...
Add a message bus where threads can listen for nib events.
Currently only the GNRC_IPV6_NIB_EVENT_ADDR_VALID event is
implemented which informs subscribers that an address got
valid.
2020-05-20 10:44:11 +02:00
Benjamin Valentin
85100ad61a
gnrc_netif: add message bus to interface
...
Allow threads to listen for events on an interface.
2020-05-20 10:44:11 +02:00
Martine S. Lenders
5e8f8ddc4a
gnrc_netif: introduce gnrc_netif_mac pseudo-module for gnrc_mac members
...
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
a48629b395
gnrc_netif: introduce gnrc_netif_ipv6 pseudo-module for IPv6 members
...
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
9801a439fc
gnrc_netif: introduce gnrc_netif_6lo pseudo-module for 6LoWPAN members
...
This aims to reduce circular dependencies in GNRC.
2020-05-19 16:10:59 +02:00
Martine S. Lenders
0d2f0a5ba4
gnrc_netif: fix gnrc_netif_lorawan dependencies
2020-05-19 16:10:58 +02:00
Martine S. Lenders
d141d0b13d
gnrc_netif: doxygen does not process IS_ACTIVE()
2020-05-05 10:17:30 +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
Martine S. Lenders
62d48d5bf3
gnrc_netif: document new *_create() out parameter as such
2020-03-26 14:37:44 +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
Jose Alamos
121626b362
gnrc_netif: add function to check if single GNRC netif
2020-03-17 10:50:49 +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
PeterKietzmann
9e83d12bc0
net/gnrc/netif: Move GNRC_NETIF_IPV6_ADDRS_NUMOF to 'CONFIG_' namespace
2020-01-13 12:28:37 +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
61db4d9724
sys/include: fix typos
2019-11-23 22:39:37 +01:00
Martine Lenders
6493a9e69f
gnrc_netif: assume netif->ops->init()
to be set
2019-11-07 11:00:36 +01:00
Martine Lenders
09b5db28f1
gnrc_netif: expose common init function as default
2019-11-06 18:45:16 +01:00
Jose Alamos
8fd0c2b60f
gnrc_netif: adapt to new netif_t abstraction
2019-10-11 10:59:14 +02:00
Martine Lenders
985d98073f
gnrc_netif_ieee802154: drop duplicate broadcast packets (optionally)
2019-02-04 16:19:48 +01:00
smlng
6d0384f068
netstats: collect layer 2 netstats in gnrc_netif
...
This the first step in moving the collection of layer 2 netstats from
the low level driver to a central location, ie. gnrc_netif, to avoid
code duplication.
2019-02-01 10:35:03 +02:00
Martine Lenders
ea9bbd72b8
gnrc_netif: centralize function to get l2addr NETOPT
2019-01-16 15:52:54 +01:00
Martine Lenders
48ac0ea902
gnrc_netif: add l2addr members to doc
...
The `l2addr` and `l2addr_len` members of the `gnrc_netif_t` struct did
not show up in the rendered documentation.
2019-01-07 13:05:02 +01:00
Martine Lenders
5ca30b9b03
gnrc_netif: add general IID to/from l2addr conversion functions
...
They are required to make GNRC's 6Lo IPHC implementation ready for
hardware addresses other than IEEE 802.15.4's.
2018-12-06 14:41:30 +01:00
Martine Lenders
1a4d824027
gnrc_netif: remove "new" qualifier in documentation
...
Calling the API "new" when it is the only network interface API (that
also now is named the same as the old one) might be a little confusing.
2018-01-23 15:02:35 +01:00
Martine Lenders
16374d0588
gnrc_netif: provide helper functions for NETOPT_IPV6_(ADDR|GROUP)
...
Since especially the setter for `NETOPT_IPV6_ADDR` and the getter for
both `NETOPT_IPV6_ADDR` and `NETOPT_IPV6_GROUP` isn't that obvious, I
decided to provided a helper function for those `gnrc_netapi_get/_set`
operations.
2017-12-18 17:06:55 +01:00
Martine Lenders
f90a9a875f
gnrc_ndp2: rename to gnrc_ndp
2017-11-17 10:41:54 +01:00
Martine Lenders
31b1ceb440
gnrc_netif2: rename to gnrc_netif
2017-11-17 10:41:54 +01:00
Martine Lenders
71a7dbf918
gnrc: remove legacy network interface structures
2017-11-17 09:20:29 +01:00
0fcc7d3834
cleanup: apply headerguard script output
2017-05-24 17:54:02 +02:00
Oleg Hahm
7ee7801c10
*: remove trailing underscores from header guards
2017-01-19 18:30:53 +01:00
Oleg Hahm
9f7be0a2e5
gnrc netif: add a check for interface existence
2015-12-03 18:35:23 +01:00
Martine Lenders
2cbeab4521
doc: fix and update net and net_gnrc documentation
2015-08-22 14:27:00 +02:00
Martine Lenders
58ff31bfe9
gnrc: make all gnrc modules sub-modules of gnrc
2015-08-18 23:00:07 +02:00