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
Francois Berder
4a31f94cfc
many typo fixes
...
Signed-off-by: Francois Berder <18538310+francois-berder@users.noreply.github.com>
2019-11-23 22:39:07 +01:00
Francisco Molina
fe180daa3b
sys/include/net/gnrc/gomach.h: fix cpp preprocessorErrorDirective
...
Preprocesor fails to evaluate the if condicion on L91-92 because
RTT_FREQUENCY is not defined, and therefore a division by 0 occurs.
TO avoid this replicate the RTT_FREQUENCY undefined warning.
2019-11-21 11:58:07 +01:00
Martine Lenders
d33548243a
Merge pull request #12698 from miri64/gnrc_sixlowpan_frag_vrb/fix/empty-with-frag
...
gnrc_sixlowpan_frag_vrb: set src_len to 0 on remove
2019-11-12 18:42:10 +01:00
Martine Lenders
02295ce5c7
Merge pull request #12593 from miri64/gnrc_sixlowpan_frag_rb/enh/deletion-timer
...
gnrc_sixlowpan_frag_rb: allow for deletion timer after completion
2019-11-12 17:54:15 +01:00
Martine S. Lenders
e4d95c568b
gnrc_sixlowpan_frag_vrb: set src_len to 0 on remove
...
45f7966
made the `src_len` field the "emptiness signifier" for the VRB.
However, when `gnrc_sixlowpan_frag` is compiled in, the remove function
`gnrc_sixlowpan_frag_vrb_rm()` does not set the `src_len` to zero,
resulting in already deleted entry to be recognized as non-empty.
2019-11-12 17:13:45 +01:00
Martine S. Lenders
40138fdce8
gnrc_sixlowpan_frag_rb: allow for deletion timer after completion
...
This allows to set a timer between the completion of a datagram in the
reassembly buffer and the deletion of the corresponding reassembly
buffer entry. This allows to ignore potentially late incoming link-layer
duplicates of fragments of the datagram that then will have the
reassembly buffer entry be blocked.
This was noted in this [discussion] for classic 6LoWPAN reassembly (and
minimal fragment forwarding) and is recommended in the current
[selective fragment recovery draft][SFR draft].
[discussion]: https://mailarchive.ietf.org/arch/msg/6lo/Ez0tzZDqawVn6AFhYzAFWUOtJns
[SFR draft]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-07#section-6
2019-11-12 17:06:52 +01:00
Martine Lenders
a132b2b413
Merge pull request #12220 from miri64/gnrc_sixlowpan_frag/feat/srf-config
...
gnrc_sixlowpan_frag: initial import of SRF parameters
2019-11-07 14:13:15 +01:00
Martine S. Lenders
da74936020
gnrc_sixlowpan_frag: initial import of SRF parameters
...
This imports the protocol parameters for Selective Fragment Recovery
(SFR). For the values I took some educated guesses based on my
experience with previous experimentation with fragment forwarding.
The defines currently are based on [draft v7].
[draft v7]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-07#section-7.1
fixup! gnrc_sixlowpan_frag: initial import of SRF parameters
2019-11-07 12:16:30 +01:00
José Alamos
20ea18637f
Merge pull request #10485 from miri64/gnrc_netif/enh/default-init
...
gnrc_netif: assume `netif->ops->init()` to be set to at least a default
2019-11-07 11:41:05 +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
Martine Lenders
ca37cde142
gnrc_sixlowpan_frag_fb: introduce function to get entry by tag
2019-11-04 20:04:39 +01:00
Martine Lenders
8c3dc66ad8
gnrc_sixlowpan_frag: factor-out and rename fragmentation buffer
...
The name `fragment_msg` or `frag_msg`/`msg_frag` always to me was a bit
misplaced, as it basically implements an asynchronous fragmentation
buffer and doesn't necessarily have anything to do with messages.
This change
1. changes the name to `fb` (for fragmentation buffer)
2. factors its code out to its own sub-module so it can be re-used by
other 6LoWPAN fragmentation schemes like [Selective Fragment
Recovery]
[Selective Fragment Recovery]: https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-05
2019-11-04 20:04:37 +01:00
Martine Lenders
5d11cf26f0
gnrc_netif: use 6LoENC only when 6Lo flag is set
2019-10-30 17:10:34 +01:00
Martine Lenders
004f7d8b16
gnrc_netif: add flag to indicate 6Lo capabilities
2019-10-30 17:10:33 +01:00
Martine Lenders
526c963f43
Merge pull request #12594 from jia200x/pr/deprecate/gnrc_nettest
...
gnrc_nettest: add deprecation note
2019-10-29 10:59:14 +01:00
Jose Alamos
5b179b6d80
gnrc_nettest: add deprecation note
...
This module was intended to be a test framework for GNRC but it never
really got used. It was not maintained for 3 years. It will be removed
after 2020.07 release at the latest.
2019-10-29 10:41:45 +01:00
Martine Lenders
05d338169d
Merge pull request #12367 from brummer-simon/gnrc_tcp-fix_recv_conn_closed
...
gnrc_tcp: return immediatly on gnrc_tcp_recv if a connection is closing
2019-10-29 09:54:43 +01:00
Martine Lenders
796d6a3167
gnrc_sixlowpan: move garbage collect msg type to reassembly buffer
2019-10-24 12:41:29 +02:00
Martine Lenders
750fd30bb4
gnrc_sixlowpan_config: fix module doc for reassembly buffer config
2019-10-24 12:41:29 +02:00
Simon Brummer
1eb2969986
gnrc_tcp_recv: immediatly return on closed connection
2019-10-22 20:12:38 +02:00
Martine Lenders
6ad62b01a4
gnrc_netif: distinct is_6lo() and is_6ln()
...
The functions now are semantic distinct:
- gnrc_netif_is_6lo(): the interface is a 6Lo interface
- gnrc_netif_is_6ln(): the interface is using Neighbor Discovery
according to RFC 6775
2019-10-20 15:38:14 +02:00
Martine Lenders
363afa62ee
gnrc_netif: introduce 6LN flag
...
This makes it dynamically configurable if an interface actually want's
to use 6Lo ND (according to RFC 6775) or not.
2019-10-20 15:38:13 +02:00
Martine Lenders
6d324bbb75
gnrc_netif: introduce is_6lo()
as alias to is_6ln()
...
Preparation step to introduce a semantic difference between an
interface being a 6Lo interface and a 6LN according to RFC 6775 [[1]]
(i.e. performs Neighbor Discovery as defined there).
[1]: https://tools.ietf.org/html/rfc6775#section-2
2019-10-20 15:38:13 +02:00
Martine S. Lenders
5bf9892bb3
gnrc_sixlowpan_frag_rb: add new functions for SFR
2019-10-19 16:30:45 +02:00
Martine S. Lenders
ae879bc2ba
gnrc_sixlowpan_frag_rb: add doc on rb_remove() NOP
2019-10-18 12:02:03 +02:00
Martine S. Lenders
f8d75d7add
gnrc_sixlowpan_frag_rb: behavioral change to add()
...
Rather than dispatching the packet automatically once it is complete,
`gnrc_sixlowpan_frag_rb_add()` now only returns success, and leaves it
to the caller to dispatch the packet.
2019-10-18 09:02:32 +02:00
Martine S. Lenders
709baf8f1f
gnrc_sixlowpan_frag_rb: make NOPs static inline functions
2019-10-18 09:02:32 +02:00
Martine S. Lenders
a229755abe
gnrc_sixlowpan_frag_rb: return status on dispatch_when_complete()
2019-10-18 09:02:32 +02:00
Martine S. Lenders
b086453347
gnrc_sixlowpan_frag_rb: return pointer to entry on add()
2019-10-18 09:02:32 +02:00
Jose Alamos
8fd0c2b60f
gnrc_netif: adapt to new netif_t abstraction
2019-10-11 10:59:14 +02:00
Martine S. Lenders
f6686e92f1
gnrc_sixlowpan_frag_vrb: add gnrc_sixlowpan_frag_vrb_from_route()
...
This adds a new VRB function that receives a header with forwarding
information and creates a VRB entry from it. Currently, only IPv6 is
supported.
2019-10-07 18:16:47 +02:00
Martine S. Lenders
900ca3ff9e
gnrc_sixlowpan_frag_vrb: add missing header include
2019-10-07 17:54:59 +02:00
Simon Brummer
d192b3a931
gnrc_tcp: doc use 0 instead of zero
2019-10-06 09:04:49 +02:00
Martine Lenders
04f59d6609
gnrc_sixlowpan_frag_vrb: re-use now unused super::dst for out_dst
2019-09-30 12:46:15 +02:00
Martine Lenders
45f7966364
gnrc_sixlowpan_frag_vrb: fix for draft update
...
Due to some changes to the minimal forwarding draft and in preparation
for Selective Fragment Recovery some changes to the VRB API were
needed. Now the index of a VRB entry is only (L2 src, tag) not as
before (L2 src, L2 dst, length, tag).
I know that the current `rbuf_base` causes waste, as all the fields not
used by the new index are effectively not used by the VRB. I'd like to
fix that however in a later change, since that also requires some
modifications of the classic reassembly buffer, and thus would
complicate the review and testing of the change.
Sources for the index change:
- https://tools.ietf.org/html/draft-ietf-6lo-minimal-fragment-04#section-1
- https://mailarchive.ietf.org/arch/browse/6lo/?gbt=1&index=DLCTxC2X4bRNtYPHhtEkavMWlz4
2019-09-29 18:31:43 +02:00
Martine Lenders
698d46eabe
gnrc_sixlowpan_frag_rb: make NOPs dependent on RB
2019-09-28 13:36:39 +02:00
Martine Lenders
e9ff46b2ea
gnrc_sixlowpan_frag_rb: unify naming scheme
2019-09-28 12:11:54 +02:00
Martine Lenders
178f4af108
gnrc_sixlowpan_frag_rb: remove legacy defines
2019-09-28 12:07:24 +02:00
Martine Lenders
972e4938bc
gnrc_sixlowpan_frag_rb: use existing name scheme for private functions
2019-09-28 11:51:18 +02:00
Martine S. Lenders
49bd8678ed
gnrc_sixlowpan_frag_rb: remove public around former private functions
2019-09-28 11:51:18 +02:00
Martine S. Lenders
ec495528fe
gnrc_sixlowpan_frag: move private RB functions to RB module
2019-09-28 11:51:18 +02:00
Martine S. Lenders
b5545fe334
gnrc_sixlowpan: include reassembly buffer only where needed
2019-09-27 21:11:36 +02:00
Martine S. Lenders
2d9ba56c2c
gnrc_sixlowpan_frag: move reassembly buffer to its own header
2019-09-27 18:34:02 +02:00
Martine Lenders
c2c3216c16
gnrc_ipv6_ext_frag: Initial import of IPv6 fragmentation
2019-09-17 18:55:18 +02:00
Martine Lenders
f4b8ba32f3
gnrc_ipv6_ext_frag: Initial import of IPv6 reassembly
2019-09-16 19:13:18 +02:00
Martine Lenders
8911c514fd
Merge pull request #10951 from miri64/gnrc_ipv6_nib/enh/abr-helpers
...
shell/sc_gnrc_ipv6_nib: extend for ABR
2019-09-12 07:34:09 +02:00
Martine Lenders
b77e08652e
gnrc_ipv6_nib: provide ABR iteration and print function
2019-09-11 23:51:20 +02:00
Martine Lenders
dca3408167
gnrc_sixlowpan_frag_stats: initial import of frag statistics
2019-09-11 10:30:29 +02:00
Sören Tempel
3396743bab
gnrc_pktbuf: fix typo (guaranteeed → guaranteed)
2019-08-12 22:00:14 +02:00
Francisco
fde50372c3
Merge pull request #11837 from miri64/gnrc_netif/enh/inter-tx-wait
...
gnrc_netif: allow for wait of minimum time between sends
2019-08-09 10:53:26 +02:00
Martine Lenders
488c47cbf3
gnrc_netif: allow for wait of minimum time between sends
2019-08-09 10:21:42 +02:00
Hauke Petersen
02df6ab13f
Merge pull request #11000 from miri64/gnrc_sixlowpan_frag/new/vrb
...
gnrc_sixlowpan_frag: initial import of the VRB
2019-08-07 17:33:01 +02:00
Martine Lenders
26a526eaee
gnrc_sixlowpan_frag: initial import of the VRB
...
VRB = virtual reassembly buffer
2019-08-07 16:18:19 +02:00
e352b54a9b
net/gnrc/tcp: remove duplicate net_gnrc_tcp group definitions
2019-08-05 16:57:37 +02:00
Martine S. Lenders
c3fe882cfe
gnrc_netif_hdr: add setter for netif
...
This eases the refactoring to a pointer-based approach for network
interfaces.
2019-07-25 14:15:37 +02:00
Martine Lenders
0cc4c50919
Merge pull request #11780 from miri64/gnrc_pktbuf/cleanup/rm-duplicate_upto
...
gnrc_pktbuf: remove gnrc_pktbuf_duplicate_upto
2019-07-03 17:44:08 +02:00
Kevin "Bear Puncher" Weiss
cd6544ebe0
Merge pull request #11778 from miri64/gnrc_tftp/doc/deprecate
...
gnrc_tftp: add deprecation note
2019-07-03 16:09:39 +02:00
Martine S. Lenders
01fc3d8f0b
gnrc_tftp: add deprecation note
2019-07-03 15:11:41 +02:00
Martine S. Lenders
b83430aa62
gnrc_pktbuf: remove gnrc_pktbuf_duplicate_upto
...
The removal of this function was already announced for the 2019.04
release. So it is safe to remove it.
2019-07-03 15:09:18 +02:00
Martine S. Lenders
7ba928faa3
gnrc_tftp: make it working again with link-local addresses
2019-07-03 14:04:26 +02:00
Cenk Gündoğan
e34a133428
Merge pull request #11560 from benpicco/rpl/of-api-update
...
RPL: API update suggestions
2019-05-29 15:44:39 +02:00
42c1da8171
gnrc_rpl: update OF API
...
- dodag->parents already points to the preferred parent, so give dodag to calc_rank directly
- remove unused which_parent function
2019-05-29 15:11:18 +02:00
Cenk Gündoğan
3f4259af07
Merge pull request #11061 from miri64/gnrc_sixlowpan_frag/new/hint
...
gnrc_sixlowpan_frag: Initial import of a fragment size hint feature
2019-05-28 23:09:15 +02:00
Martine Lenders
2534cfb3fa
gnrc_sixlowpan_frag: Initial import of a fragment size hint feature
...
This allows for sending of fragments smaller than the restrictions set
by the link-layer PDU. E.g. to put some slack for IPHC into the first
fragment (see https://tools.ietf.org/html/draft-ietf-6lo-fragment-recovery-02#section-4.1 ).
2019-05-28 21:03:51 +02:00
Martine Lenders
a8c81debf8
gnrc_sixlowpan_frag: use rbuf base class whenever possible
2019-05-28 18:07:42 +02:00
Martine Lenders
5e7803d506
gnrc_sixlowpan_frag: add datagram size to base type
2019-05-28 18:07:42 +02:00
Martine Lenders
52e4247798
gnrc_sixlowpan_frag: introduce reassembly buffer base class
2019-05-28 18:07:42 +02:00
Martine Lenders
8cc5d94956
gnrc_sixlowpan_frag: add arrival time to public type
...
The arrival time is also needed for the VRB's garbage collection.
2019-05-28 18:07:42 +02:00
Martine Lenders
b84e496563
gnrc_sixlowpan_frag: add intervals to public type
...
The fragment intervals are also required by the VRB, so make them part
of the public representation of a reassembly buffer.
2019-05-28 18:07:42 +02:00
Martine Lenders
a3061ab2cc
gnrc_sixlowpan_frag: expose fragment interval type
...
For the [VRB] I also need to track which the intervals of the fragments
already received (mostly for finding out when I am able to get rid of a
VRB entry, see [this conversation][VRB entry removal]), so to be able to
incorporate it into the common type for both reassembly buffer and VRB I
need to expose that type first.
[VRB]: https://tools.ietf.org/html/draft-ietf-lwig-6lowpan-virtual-reassembly-00
[VRB entry removal]: https://mailarchive.ietf.org/arch/msg/6lo/bTm2REo4PpVcMFH04mF_SlPvS_M
2019-05-28 18:07:41 +02:00
Martine Lenders
8fe12bc82c
Merge pull request #11021 from miri64/gnrc_sixlowpan_frag/enh/multiple-send
...
gnrc_sixlowpan_frag: allow send of multiple datagrams simultaneously
2019-05-27 11:54:26 +02:00
Martine Lenders
b6f19c0bcb
gnrc_sixlowpan_frag: allow send of multiple datagrams simultaneously
2019-05-27 10:35:31 +02:00
Martine Lenders
7e26a22723
gnrc_sixlowpan_frag: fix timeout config macro name
2019-05-24 17:39:35 +02:00
Cenk Gündoğan
650ee83e90
Merge pull request #11442 from miri64/gnrc_sixlowpan_frag/enh/aggressive-config
...
gnrc_sixlowpan_frag: make aggresive override configurable
2019-05-24 17:25:20 +02:00
Martine Lenders
51e67505f0
gnrc_neterr: move doxygen group into GNRC group
2019-05-23 14:09:09 +02:00
Martine Lenders
1cac697a62
gnrc_sixlowpan_frag: make aggresive override configurable
2019-04-25 09:37:34 +02:00
Martine Lenders
a55320a10a
gnrc_sixlowpan_frag: expose tag progression functionality
...
The VRB also needs to be able to generate new tags for forwarding. This
exposes the tag generation.
2019-04-18 16:40:12 +02:00
Martine Lenders
1550390adb
gnrc_sixlowpan_frag: expose reassembly buffer configuration
...
Both values are not standardized so there is no sense keeping these
values not configurable
2019-04-18 14:19:53 +02:00
Martine Lenders
ba3c099f16
gnrc_sixlowpan_nd: remove unused config variable (and its header)
2019-04-17 21:47:48 +02:00
Martine Lenders
2091f168d1
gnrc_sixlowpan: expose configuration via config group
2019-04-17 21:47:48 +02:00
Martine Lenders
39fe2a30e4
gnrc_netif: use l2util for some functions
...
The following functions can now be wrapped around the more generalized
approach:
- gnrc_netif_ipv6_iid_from_addr()
- gnrc_netif_ipv6_iid_to_addr()
- gnrc_netif_ndp_addr_len_from_l2ao()
- gnrc_netif_eui64_from_addr()
2019-03-26 21:37:20 +01:00
Peter Kietzmann
f6efecc3f0
Merge pull request #11063 from miri64/gnrc_sixlowpan_frag/enh/msg-send-to-6lo
...
gnrc_sixlowpan_frag: encapsulate msg_send_to_self()
2019-03-26 21:26:04 +01:00
Martine Lenders
fb5a298c1f
Merge pull request #11193 from haukepetersen/rm_pkbuf_getiovec
...
net/gnrc_pktbuf: rm deprecated _pktbuf_get_iovec()
2019-03-19 11:52:14 +01:00
Martine Lenders
946b06e4f0
gnrc_netif: increase message queue size
...
Since the netif threads are in general a more heavy lifters than the
rest of the GNRC there queue size should be increased.
2019-03-15 12:08:43 +01:00
Hauke Petersen
9fb2f541ba
net/gnrc_pktbuf: rm deprecated _pktbuf_get_iovec()
2019-03-15 10:21:22 +01:00
Martine Lenders
931b179d14
gnrc_sixlowpan_frag: encapsulate msg_send_to_self()
...
This makes it easier to access this functionality for test cases e.g.
from the `main` thread.
2019-03-08 19:32:46 +01:00
Martine Lenders
13030d5a35
gnrc_netif: expose message queue size configurable
2019-02-26 13:26:20 +01:00
Martine Lenders
998b9ed0d4
gnrc_netif_hdr: make in parameters const
2019-02-21 12:43:08 +01:00
Martine Lenders
8da4957cdd
Merge pull request #11015 from miri64/gnrc_sixlowpan_frag/enh/rm-pid
...
gnrc_sixlowpan_frag: remove redundant PID member
2019-02-15 12:48:27 +01:00
Martine Lenders
0954fabdc7
gnrc_sixlowpan_frag: make datagram size uint16_t for send
...
It can't get bigger, so it doesn't make sense to waste another 2 byte
on it.
2019-02-15 11:23:46 +01:00
Martine Lenders
b27f12bc1f
gnrc_sixlowpan_frag: remove redundant PID member
...
The interface ID is actually also provided in `pkt` so providing it in
the `gnrc_sixlowpan_msg_frag_t` struct is redundant.
2019-02-15 11:23:18 +01:00
José Alamos
d5b39319f6
Merge pull request #11014 from jia200x/pr/pktbuf_mark_doc
...
net/gnrc/pktbuf.h: add note in gnrc_pktbuf_mark
2019-02-14 17:14:55 +01:00
Jose Alamos
f7ac0c57e9
net/gnrc/pktbuf.h: add note in gnrc_pktbuf_mark
2019-02-14 15:09:03 +01: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
Cenk Gündoğan
b3843daeb8
Merge pull request #10817 from miri64/gnrc_netif/enh/i10723
...
gnrc_ipv6_nib: use generated EUI-64 for ARO build and check
2019-01-29 22:49:41 +01:00
Martine Lenders
16e7fc8336
gnrc_netif: introduce L2 address to EUI-64 conversion
2019-01-29 21:52:53 +01:00