1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

2899 Commits

Author SHA1 Message Date
Martine Lenders
26a526eaee gnrc_sixlowpan_frag: initial import of the VRB
VRB = virtual reassembly buffer
2019-08-07 16:18:19 +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
495eaa36a6 gnrc_sixlowpan_frag: remove unnecessary type indirection
The members of `rbuf_t` and `gnrc_sixlowpan_rbuf_t` are now identical
so we can remove the internal type.
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
93050d29c0 gnrc_sixlowpan_frag: unify common operations 2019-05-27 10:35:31 +02:00
Martine Lenders
04472d3fbe gnrc_sixlowpan_frag: reorder stack variables for better stack usage 2019-05-27 10:35:31 +02:00
Martine Lenders
b6f19c0bcb gnrc_sixlowpan_frag: allow send of multiple datagrams simultaneously 2019-05-27 10:35:31 +02:00
4d052a6921
Merge pull request #11580 from miri64/gnrc_ipv6_ext/fix/nh-after-change
gnrc_ipv6_ext: don't read from `pkt->data` after `_demux()`
2019-05-26 00:40:37 +02:00
Martine Lenders
ea1708b402 gnrc_ipv6_ext: don't read from pkt->data after _demux()
`_demux()` might change `pkt->data` in all kind of ways (moving it due
to `gnrc_pktbuf_mark()`, though unlikely; releasing it, because e.g. it
starts with a fragment header that marks a fragmented packet containing
only one fragment, etc.) so accessing the pointer *after* calling
`_demux()` is somewhat playing with fire. This change avoids this by
storing the value of `ext_hdr->nh` (all we are interested in here) in a
temporary variable that then is used to set the out-parameter `nh`.

`protnum` needs to be unchanged before the call to `_demux()` as it was
set by the previous iteration and determines what extension header
actually is handled.
2019-05-24 22:11:22 +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
7833141af1 gnrc_mac: rename directory in line with other modules 2019-05-09 14:46:35 +02:00
Ken Bannister
8aa5258ba7
Merge pull request #11445 from miri64/gcoap/fix/rm-deprecated
gcoap: remove deprecated function gcoap_req_send()
2019-05-03 13:44:02 -04:00
0ec9c57b2b add copyrights from IOTPUSH project 2019-05-02 12:09:37 +02:00
Martine Lenders
a11f817604 gcoap: rename gcoap_req_send2() to gcoap_req_send() 2019-04-25 13:40:32 +02:00
Martine Lenders
affd115405 gcoap: remove deprecated function gcoap_req_send() 2019-04-25 13:39:50 +02:00
Martine Lenders
1cac697a62 gnrc_sixlowpan_frag: make aggresive override configurable 2019-04-25 09:37:34 +02:00
Martine Lenders
9a6473104d
Merge pull request #10483 from miri64/gnrc_ipv6_nib/fix/no-auto-config-wo-l2addr
gnrc_ipv6_nib: don't autoconfig IPv6 address without L2 addr
2019-04-19 08:53:25 +02:00
Martine Lenders
5732e9bd88 gnrc_ipv6_nib: don't autoconfig IPv6 address without L2 addr
If the interface's link-layer doesn't use link-layer addresses it
obviously doesn't make sense to auto-configure an IPv6 address from it.
Moreover, I think the address `fe80::` is actual illegal, but I
couldn't find any references for it.
2019-04-19 08:36:15 +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
43dedfcd2c gnrc_sixlowpan_frag/rbuf: document undocumented functions
This adds documentation for the following undocumented functions:

- rbuf_rm()
- rbuf_entry_empty()
2019-04-18 14:19:53 +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
3c19aa7dfc gnrc_netif_ieee802154: check if mhr_len is lesser than nread 2019-04-15 16:36:31 +02:00
chrysn
09dc930d3a nanocoap: add some const qualifiers 2019-04-12 11:04:47 +02:00
chrysn
a51460984b nanocoap: Add coap_opt_add_opaque
This option complements the existing coap_opt_add_{uint,string} and even
more special-purpose functions; its implementation is trivial given the
existing static _add_opt_pkt function.

The method is useful when working with ETags (ETag, If-Match options).
2019-04-12 11:04:47 +02:00
88171698e0
Merge pull request #10931 from kb2ma/nanocoap/pktapi_opt_enospc
net/nanocoap: Packet API return error if buffer full
2019-04-03 14:49:44 +02:00
Cenk Gündoğan
99fe24fcfd
Merge pull request #11298 from miri64/gnrc_netif/fix/falls-through-comment
gnrc_netif: fix fall-through comment
2019-03-28 08:10:37 +01:00
Peter Kietzmann
e9293d9192
Merge pull request #11257 from brummer-simon/gnrc_tcp-fix_packet_flood
gnrc_tcp: Fix packet-flood while probing
2019-03-28 00:37:33 +01:00
Martine Lenders
768a117ade gnrc_netif: fix fall-through comment
gcc 8.2.1 has problems with the comment being within the `#ifdef`
2019-03-27 19:45:40 +01:00
Cenk Gündoğan
44e4973cab
Merge pull request #11166 from miri64/gnrc_ipv6/fix/send-empty-payload
gnrc_ipv6: allow sending empty IPv6 packets
2019-03-27 19:17:01 +01:00
Martine Lenders
78247d9e35
Merge pull request #10464 from haukepetersen/opt_cordepsim_addrhandling
examples/cord_epsim: change default RD server addr handling
2019-03-27 18:57:54 +01:00
Martine Lenders
7931d66f79
Merge pull request #10895 from miri64/gnrc_rpl/enh/do-not-assert-netif
gnrc_rpl: do not assert netif on auto-init
2019-03-27 18:50:52 +01:00
Martine Lenders
c3efb91181 gnrc_ipv6: allow sending empty IPv6 packets 2019-03-27 18:45:04 +01:00
Martine Lenders
aa8e760e46
Merge pull request #11182 from miri64/gnrc_ipv6_nib/fix/pkt-null-on-error
gnrc_ipv6_nib: check if pkt is NULL on error
2019-03-27 18:38:32 +01:00
Hauke Petersen
840c8aeba2 cord/epsim: remove standalone submodule 2019-03-27 18:26:37 +01:00
Hauke Petersen
ec461661d8 net/cord_epsim: pass RD endpoint on runtime 2019-03-27 18:26:37 +01:00
Hauke Petersen
f2df22ed99
Merge pull request #10589 from miri64/l2util/feat/initial
l2util: initial import of a general IPv6 over X helper module
2019-03-27 11:46:12 +01:00
Martine Lenders
e9cd9584a4
Merge pull request #11288 from haukepetersen/opt_skald_movetoblefolder
ble/skald: move to sys/net/ble and fix doxygen groups
2019-03-26 23:56:28 +01:00
Hauke Petersen
aad15751ad ble/skald: adapt doxygen groups 2019-03-26 21:56:05 +01:00
Martine Lenders
2e0203eb3e
Merge pull request #11271 from haukepetersen/add_bluetil_addr
ble/bluetil: add generic address to string module
2019-03-26 21:47:47 +01:00
Hauke Petersen
0c5929c185 ble/skald: move module to sys/net/ble 2019-03-26 21:37:35 +01: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
Martine Lenders
573549c41f l2util: initial import
This module provide stack independently (just dependent on netdev's
network device types) several helper functions to get IPv6 over X
specific values.
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
add337cff9
Merge pull request #10769 from miri64/gnrc_ipv6/enh/ipv6-sending-debug
gnrc_ipv6: add sending DEBUG output
2019-03-26 21:17:16 +01:00