1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

3040 Commits

Author SHA1 Message Date
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
Simon Brummer
5d1ab9b34c gnrc_tcp: Fix packet-flood while probing 2019-03-26 21:05:53 +01:00
Hauke Petersen
81ff7ff65a ble/bluetil: add ble address helper submodule 2019-03-26 21:05:11 +01:00
Martine Lenders
3f2e0e70cb gnrc_ipv6: add sending DEBUG output 2019-03-26 20:19:35 +01:00
Martine Lenders
83b9f72f83
Merge pull request #11011 from miri64/ndp/enh/add-hop-limit-define
ndp: provide define for common hop-limit
2019-03-26 20:18:07 +01:00
Martine Lenders
1d2ccb243e
Merge pull request #11233 from haukepetersen/opt_bluetilad_find_and_cmp
net/bluetil/ad: add bluetil_ad_find_and_cmp()
2019-03-26 19:34:46 +01:00
Martine Lenders
05bca5b2cf gnrc_netif: fix DEBUG output on error
`res` is an integer that is always negative in the given case, so using
`%u` here might be a little bit confusing.
2019-03-26 18:23:56 +01:00
Martine Lenders
116642f1de
Merge pull request #11164 from miri64/gnrc_sixlowpan_iphc/fix/check-NULL-ptr-for-compressible
gnrc_sixlowpan_iphc: check ptr != NULL in compressible check
2019-03-26 17:49:10 +01:00
Martine Lenders
06e244c963 ndp: provide define for common hop-limit 2019-03-26 12:00:52 +01:00
Hauke Petersen
f5467ef9f1 net/ble: cleanup doxygen grouping 2019-03-25 19:04:05 +01:00
Martine Lenders
bcb6b921d3
Merge pull request #11255 from aabadie/pr/gnrc_netif_nrfmin_fix
net/gnrc_netif/nrfmin: put NETOPT_PROTO assert at the right place
2019-03-24 15:01:50 +01:00
5fa2528185
net/gnrc_netif/nrfmin: put NETOPT assert at the right place
NETOPT depends on GNRC_SIXLOWPAN and should be moved inside the corresponding preprocessor conditional code
2019-03-24 14:34:12 +01:00
Jose Alamos
83ba971412
gnrc_netif: add NETDEV_TYPE_LORA to L2ADDR check 2019-03-24 11:10:41 +01:00
Hauke Petersen
d293d3ece0 net/bluetil/ad: add bluetil_ad_find_and_cmp() 2019-03-21 21:50:34 +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
Ken Bannister
5bf2fc6227 net/nanocoap: return error from coap_opt_finish if no space 2019-03-19 05:30:04 -04:00
Ken Bannister
3cdf43607c net/nanocoap: Return error from coap_opt_add_xxx() if no space 2019-03-19 05:30:04 -04:00
Leandro Lanzieri
6bb4158c31 sys/net/application_layer/nanocoap: Add path prefix opt
This adds a prefix option for the methods field of a coap resource and
modifies the way the path is matched on a request to accept prefix
matching.
2019-03-17 14:26:11 +01:00
Semjon Kerner
db589365f0
Merge pull request #11161 from miri64/gnrc_pktbuf/fix/start-write-size-0
gnrc_pktbuf: allow write-protect of size 0 snips
2019-03-15 15:10:59 +01:00
ccc09d9ed4
Merge pull request #11023 from miri64/gnrc_netif_ieee802154/enh/propagate-pend-frames
gnrc_netif_ieee802154: propagate pend. frame flag to stack
2019-03-15 12:51:50 +01:00
Hauke Petersen
9fb2f541ba net/gnrc_pktbuf: rm deprecated _pktbuf_get_iovec() 2019-03-15 10:21:22 +01:00
Martine Lenders
b970d00064 gnrc_ipv6_nib: check if pkt is NULL on error
According to the documentation of `gnrc_ipv6_nib_get_next_hop_l2addr()`
`pkt` may be `NULL`. However, whenever that function sends an error
message (the methods for that require `orig_pkt` not to be NULL) `pkt`
is not checked, which may lead to failed assertions.
2019-03-14 14:29:13 +01:00
Ken Bannister
34e880499e examples/cord_ep: use coap_opt_finish() 2019-03-13 00:24:29 -04:00
Ken Bannister
682c1e9a7d examples/cord_epsim: use coap_opt_finish() 2019-03-13 00:24:29 -04:00
297efdd5b2
Merge pull request #10892 from kb2ma/gcoap/use_opt_finish
net/gcoap: Replace use of gcoap_finish() with coap_opt_finish()
2019-03-12 22:16:32 +01:00
Martine Lenders
3582dedd4e gnrc_sixlowpan_iphc: check ptr != NULL in compressible check
Not only does this leave open a risk to crash the node for the check
in `_compressible()` but also is the `tmp` check below getting confused
when `ptr` is `NULL`, since `gnrc_pktbuf_start_write()` returns `NULL`
in that case.
2019-03-12 16:48:33 +01:00
Martine Lenders
4f733840c6 gnrc_pktbuf_malloc: allow write-protect of size 0 snips
Size 0 snips are legal packet snips (empty payload e.g.) so it doesn't
make sense to issue an error in the write-protection in that case.

API documentation doesn't mention it either and the tests still pass
with the check removed.
2019-03-12 14:35:58 +01:00
Martine Lenders
efb658a67c gnrc_pktbuf_static: allow write-protect of size 0 snips
Size 0 snips are legal packet snips (empty payload e.g.) so it doesn't
make sense to issue an error in the write-protection in that case.

API documentation doesn't mention it either and the tests still pass
with the check removed.
2019-03-12 14:34:49 +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
Marian Buschsieweke
8dbd3b24d1
Merge pull request #11124 from miri64/gnrc_sixlowpan/fix/debug-pri
gnrc_sixlowpan: don't use PRIx8
2019-03-08 10:25:27 +01:00
Martine Lenders
449d4559a7 gnrc_sixlowpan_frag: replace printf with DEBUG 2019-03-07 18:17:07 +01:00
Martine Lenders
f6d3290507 gnrc_sixlowpan: don't use PRIx8
With newlib nano-specs the debug output without this change will be

    6lo: dispatch 0hx ... is not supported

With this PR this will provide a correct output, e.g.

    6lo: dispatch 0x3f ... is not supported
2019-03-07 12:45:27 +01:00
Martine Lenders
dd1bad25df
Merge pull request #11071 from kb2ma/nanocoap/fix_server_abort
net/nanocoap: don't abort server on recv error
2019-02-26 21:35:05 +01:00
Martine Lenders
bef475e450 gnrc_rpl_auto_init: add workaround comments 2019-02-26 20:33:07 +01:00
Ken Bannister
05195ec4a1 net/nanocoap: don't abort server on recv error 2019-02-26 12:35:49 -05:00
Martine Lenders
7d8f6abd45 gnrc_netif: check all required options on initialization
With `DEVELHELP` activated all required options required by GNRC are
now checked at interface initialization, so that developers of new
link-layer protocols or device drivers notice as soon as possible that
something is missing.
2019-02-26 16:45:21 +01:00
Martine Lenders
0f1bfad15b gnrc_netif: provide addr_len_from_l2ao for nordic_softdevice_ble 2019-02-26 15:43:39 +01:00
Martine Lenders
13030d5a35 gnrc_netif: expose message queue size configurable 2019-02-26 13:26:20 +01:00
Martine Lenders
727a843ce4
Merge pull request #10905 from maribu/packet_size_l2_pdu
net: NETOPT_MAX_{PACKET_SIZE -> PDU_SIZE}
2019-02-22 15:23:00 +01:00
Martine Lenders
998b9ed0d4 gnrc_netif_hdr: make in parameters const 2019-02-21 12:43:08 +01:00
Marian Buschsieweke
4672368d5a
sys/net: NETOPT_MAX_{PACKET_SIZE -> PDU_SIZE}
Updated code to use NETOPT_MAX_PDU_SIZE instead of deprecated
NETOPT_MAX_PACKET_SIZE.
2019-02-18 20:15:08 +01:00
Martine Lenders
eac066a1e5 gnrc_netif_ieee802154: propagate pend. frame flag to stack
This way we can re-use the flag e.g. for forwarding
2019-02-15 14:46:43 +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
Cenk Gündoğan
3fd13b9a85
Merge pull request #10985 from miri64/gnrc_ipv6_nib/fix/delayed-na
gnrc_ipv6_nib: fix preparation of delayed NA
2019-02-12 20:47:42 +01:00
Gaëtan Harter
8e4b11cdd0
Merge pull request #10369 from miri64/gnrc_ipv6_nib/fix/arsm-16-bit
gnrc_ipv6_nib/arsm: ensure proper int width in backoff calculation
2019-02-12 17:54:52 +01:00
Martine Lenders
82001cfd79 gnrc_ipv6_nib: expose non-randomized part of NS-backoff calculation
This was primarily done so the backoff can be tested
2019-02-12 17:01:14 +01:00
Martine Lenders
1f4d57d608 gnrc_ipv6_nib/arsm: ensure proper int width in backoff calculation
Otherwise, the result might flow over on 8/16-bit platforms
2019-02-12 17:01:14 +01:00
Martine Lenders
aa953a40ea gnrc_ipv6_nib: fix preparation of delayed NA
Currently the constructed NA for a delayed NA case is neither used nor
released nor does it get an IPv6 header to be used properly. This fixes
that case.
2019-02-12 14:12:59 +01:00
Cenk Gündoğan
fa48e662a7
Merge pull request #10998 from miri64/gnrc_ipv6_nib/fix/cache-out-loop-iteration
gnrc_ipv6_nib: fix iteration conditions for cache-out
2019-02-12 14:10:15 +01:00
Peter Kietzmann
892a37351a
Merge pull request #10946 from brummer-simon/gnrc_tcp-fix_syn_rcvd_packetloss_deadlock
gnrc_tcp: syn_rcvd pkt loss fix
2019-02-12 13:51:51 +01:00
Martine Lenders
877217663e gnrc_ipv6_nib: add clarification to comment in cache-out
When working on the previous commit I was unsure if a
garbage-collectible entry should remain in the list, so I added this
comment so I don't have to wonder about this in the future ;-).
2019-02-12 12:06:45 +01:00
Martine Lenders
7fcc2ab5d6 gnrc_ipv6_nib: fix iteration conditions for cache-out 2019-02-12 12:06:04 +01:00
Cenk Gündoğan
ea7f7c2340
Merge pull request #10978 from miri64/gnrc_ipv6_nib/fix/release-when-full
gnrc_ipv6_nib: release packet when NC entry can't be added
2019-02-12 10:43:32 +01:00
Marian Buschsieweke
194d340a64
net/sixlowpan: Fixed calculation of fragment size
Fragment size calculation previously failed for devices that are able to
transmit bigger layer 2 PDUs that 802.15.4 devices. This commit fixes the issue.
2019-02-12 09:45:31 +01:00
8eb02b6cd1
Merge pull request #10975 from miri64/gnrc_ipv6_nib/fix/rm-nib-clean
gnrc_ipv6_nib/nc: remove from _next_removable on remove
2019-02-11 17:39:29 +01:00
Peter Kietzmann
63fd8bc89b
Merge pull request #7577 from miri64/gnrc_netif2/feat/ieee802154-dup-bcast
gnrc_netif_ieee802154: drop duplicate broadcast packets (optionally)
2019-02-11 09:42:06 +01:00
Martine Lenders
fd3f806e32 gnrc_ipv6_nib: release packet when NC entry can't be added
When the neighbor cache is full, the packet trying to resolve a
neighbor is not released.

This change fixes that.
2019-02-08 21:53:46 +01:00
Martine Lenders
660440c1c2 gnrc_ipv6_nib/nc: remove from _next_removable on remove
The `_next_removable` list manages the cache-out of the neighbor cache.
However, when a neighbor cache entry is removed, it is not removed
from that list, which may lead to a segmentation fault when that list is
accessed, since the whole entry (including its list pointer) is zeroed
after removal.

With this change the entry is removed from that list accordingly before
the zeroing happens.
2019-02-08 16:45:47 +01:00
cb457941db gnrc: nib: fix DOXYGE -> DOXYGEN 2019-02-06 13:01:40 +01:00
Martine Lenders
43c2c728c9 gnrc_sixlowpan_iphc: fix _compressible()
When either `gnrc_sixlowpan_iphc_nhc` or `gnrc_udp` is not compiled
in `_compressible()` never returns `true`. This causes the
`dispatch` snip in `gnrc_sixlowpan_iphc_send()` to be of length 0,
meaning `dispatch->data` is `NULL`, causing possible crashes when
trying to send IPv6 packets over 6LoWPAN without NHC or UDP.
2019-02-05 15:22:41 +01:00
Simon Brummer
5dc3f8dc3d gnrc_tcp: syn_rcvd pkt loss fix 2019-02-04 20:57:30 +01:00
Martine Lenders
985d98073f gnrc_netif_ieee802154: drop duplicate broadcast packets (optionally) 2019-02-04 16:19:48 +01:00
Peter Kietzmann
2c5d1b013e
Merge pull request #10918 from maribu/cc110x_mtu
drivers/cc110x: Fixed MTU calculation
2019-02-04 09:44:10 +01:00
Marian Buschsieweke
dae680dcb2
sys/net: Added NETDEV_TYPE_CC110X to MTU init 2019-02-04 09:16:29 +01:00
Sebastian Meiling
734524aead gomach: fix reassign before usage error 2019-02-01 11:25:27 +02: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
1481239bdf
Merge pull request #10896 from miri64/sock_dns/fix/too-small-msg-error
sock_dns: correctly report too short messages
2019-01-29 23:43:53 +01: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
b30cdb51a5 sock_dns: correctly report too short messages 2019-01-29 22:32:50 +01:00
Martine Lenders
d680aeae07 gnrc_ipv6_nib: use gnrc_netif_get_eui64() for ARO build and check 2019-01-29 21:52:53 +01:00
Martine Lenders
0fa8419c4a gnrc_netif: wrap _ipv6_iid_from_addr() around _eui64_from_addr() 2019-01-29 21:52:53 +01:00
Martine Lenders
16e7fc8336 gnrc_netif: introduce L2 address to EUI-64 conversion 2019-01-29 21:52:53 +01:00
Martine Lenders
a2b2f96fe3 gnrc_netif: rename _create_iid_from_short() to emphesize EUI-64 2019-01-29 21:52:53 +01:00
Martine Lenders
983b60dbd4 gnrc_rpl: do not assert netif on auto-init
`gnrc_networking` is unusable when compiled for boards that do not have
any network devices on-board due to an assertion in RPL's auto-init. I
think this is pretty harsh. A friendly info message is enough, as it
might not even be an error. Also, if one expects RPL to work without
network interfaces they are a fool ;-).
2019-01-29 17:56:58 +01:00
Ken Bannister
93da7372fd net/gcoap: use coap_opt_finish within gcoap 2019-01-27 08:56:26 -05:00
Martine Lenders
2d54069f59
Merge pull request #10869 from gschorcht/gnrc_icmpv6_echo_fix
gnrc_icmpv6_echo: avoid crashing when pktbuf full
2019-01-25 18:33:07 +01:00
b8565e492d
Merge pull request #10851 from miri64/tests/feat/gnrc_sixlowpan_frag-tests
tests: provide unittests for gnrc_sixlowpan_frag/rbuf
2019-01-25 17:55:28 +01:00
Gunar Schorcht
c88838f391 gnrc_icmpv6_echo: avoid crashing when pktbuf full
Once the packet buffer is full on heavy network load, gnrc_netif_hdr_build may return NULL. In that case, the following unchecked access to hdr->data leads to a crash.
2019-01-25 17:10:57 +01:00
Martine Lenders
7d9ef9f78c gnrc_sixlowpan_frag/rbuf: add offset assertion to rbuf_add()
`gnrc_sixlowpan_frag` internally derives the offset value directly
from the fragment header, so for normal usage within GNRC this
assertion is redundant, but to make the tests of `rbuf_add` 100%
water-tide I added it.
2019-01-25 16:57:09 +01:00
Martine Lenders
892c7a5430
Merge pull request #10866 from miri64/gnrc_sixlowpan/fix/type-finding-loop
gnrc_sixlowpan: stop type-finding loop when type is found
2019-01-25 14:38:34 +01:00
Martine Lenders
879321d68a gnrc_sixlowpan: stop type-finding loop when type is found
Currently the loop just continues to run after a viable type is found.
In #10851 this lead to a crash of the tests, when the dependency of
`gnrc_sixlowpan` to `gnrc_ipv6` was removed.
2019-01-25 12:04:30 +01:00
Martine Lenders
b0beba3c1c gnrc_ipv6_nib: release when not queuable on AR
When a new queue entry is tried to be allocated for a neighbor who's
address is currently tried to be resolved there was no error case
before. The packet that was tried to be put in the queue was thus not
released and stayed in the packet buffer for ever.
2019-01-25 00:13:21 +01:00
Martine Lenders
8c1cf53d28 gnrc_icmpv6: release when received packet too short 2019-01-24 15:50:18 +01:00
Martine Lenders
bbde73eb81 gnrc_icmpv6: release on wrong checksum 2019-01-24 14:57:36 +01:00
Sebastian Meiling
a65fede8c4
Merge pull request #10855 from kb2ma/nanocoap/simple_reply_safety
net/nanocoap: verify simple reply buffer
2019-01-24 12:08:31 +01:00
Ken Bannister
3343ed3674 net/nanocoap: verify reply length before write 2019-01-24 05:18:12 -05:00
Sebastian Meiling
44234783da
Merge pull request #10823 from kb2ma/nanocoap/verify_before_write_option
net/nanocoap: validate option length
2019-01-24 09:23:26 +01:00
Ken Bannister
e35bcb6853 net/nanocoap: fix remaining space calculation
The space calculation must use the same length as the eventual
return value.
2019-01-23 16:36:20 -05:00
Martine Lenders
1370099435 gnrc_sixlowpan_frag/rbuf: provide helper functions for testing 2019-01-23 20:00:07 +01:00
Martine Lenders
4c1d1424c0 gnrc_sixlowpan_frag: release for fragment too big error case
The fragment is released for all other error cases, just not this one.
2019-01-23 18:05:37 +01:00
Ken Bannister
7e77ac7ace
Merge pull request #10845 from kb2ma/nanocoap/server_debug_msg
net/nanocoap: add debug message for server
2019-01-23 11:41:47 +00:00
Martine Lenders
20e92dfe5e
Merge pull request #8942 from zhuoshuguo/gnrc_lwmac/enable-dutycycle-print
gnrc_lwmac: enable radio duty-cycle printing.
2019-01-22 14:59:51 +01:00
Ken Bannister
b4f8b7a10b net/nanocoap: add debug message for server 2019-01-22 08:42:16 -05:00
shuguo
4a4e552cca gnrc_lwmac: enable duty-cycle printing. 2019-01-22 21:24:00 +08:00
Sebastian Meiling
9d3f1107c9
Merge pull request #10791 from kb2ma/gcoap/options_buf_macros_config
net/gcoap: make options buf macros configurable
2019-01-22 14:20:33 +01:00
Martine Lenders
d3f8739a1e
Merge pull request #5949 from zhuoshuguo/add_timeout_module_to_gnrc_mac
gnrc_mac: add timeout module.
2019-01-22 10:34:30 +01:00
zhuoshuguo
79e5586d0c gnrc_mac: add timeout module.
Co-Authored-By: zhuoshuguo <zhuosgzju@gmail.com>
2019-01-21 22:46:10 +08:00
Ken Bannister
85a658634f net/nanocoap: validate option length before write 2019-01-18 12:34:55 -05:00
Ken Bannister
b9f6354067 net/nanocoap: document function that writes option header 2019-01-18 12:34:55 -05:00
Sebastian Meiling
f9a3bdf1a7
Merge pull request #10671 from kb2ma/nanocoap/retry_qty
net/nanocoap: fix confirmable retry countdown
2019-01-18 17:49:00 +01:00
Ken Bannister
27ba81eed0 net/nanocoap: improve debug messages 2019-01-18 05:47:43 -05:00
Cenk Gündoğan
82f30fd8c4
Merge pull request #10514 from miri64/pkg/enh/nordic-softdevice-ble-mac48
pkg/nordic_softdevice_ble: Use MAC48 as hardware address
2019-01-17 19:22:36 +01:00
Martine Lenders
7f7bc8fc20 pkg/nordic_softdevice_ble: Use MAC48 as hardware address
This is just a compatibility issue waiting to happen as soon as there
is support for a more standard-compliant implementation of BLE (like
e.g. NimBLE ;-)).
2019-01-17 18:08:55 +01:00
Ken Bannister
0e1c3ebe50 net/gcoap: make options buf macros configurable 2019-01-16 12:41:06 -05:00
c0785df050
Merge pull request #10786 from kaspar030/fix_pktbuf_empty_memcpy
gnrc/pktbuf: avoid memcpy if size <= 0
2019-01-16 18:34:23 +01:00
Cenk Gündoğan
b24a8fbf3a
Merge pull request #10524 from miri64/gnrc_netif/enh/centralize-dev-type-functions
gnrc_netif: centralize device-type-specific functions
2019-01-16 16:44:43 +01:00
a2d679c76f gnrc/pktbuf: avoid memcpy if size <= 0 2019-01-16 16:13:14 +01:00
Martine Lenders
55b9757044 gnrc_netif: centralize function to init IPv6 MTU 2019-01-16 15:52:54 +01:00
Martine Lenders
ea9bbd72b8 gnrc_netif: centralize function to get l2addr NETOPT 2019-01-16 15:52:54 +01:00
Martine Lenders
8f763535ac gnrc_netif: centralize S/TLLAO length to address length function
The function to infer the link-layer address length from the length of
a S/TLLAO is very dependent on the IPv6 over X specification and thus
should be grouped with the other IP over X functions.
2019-01-16 15:52:53 +01:00
Sebastian Meiling
a0e143d09f
Merge pull request #10721 from nmeum/asymcute-out-of-bounds
asymcute: check for minimum packet length early
2019-01-16 13:53:49 +01:00
Sören Tempel
2a6354b07d asymcute: check for minimum packet length early
Without this patch _len_get reads one byte beyond the con->rxbuf
if the incoming packet consists only of the byte 0x01.
2019-01-16 10:06:38 +01:00
Martine Lenders
01370511df gnrc_sixlowpan_frag: drop received duplicates
Otherwise duplicate fragments are added to the number of already
received datagram bytes in L153 leading to possible race-conditions.
2019-01-15 20:09:49 +01:00
Cenk Gündoğan
6a4c764c95
Merge pull request #10569 from miri64/gnrc_netif/enh/rm-get-NETOPT_IPV6_IID
gnrc_netif: make _get_iid() just wrapper around _iid_from_addr()
2019-01-14 14:09:34 +01:00
Martine Lenders
7ae90564d9 gnrc_netif: make _get_iid() just wrapper around _iid_from_addr()
This way the IID generation gets much simplified and code duplication
is avoided since it removes GNRC's requirement for NETOPT_IPV6_IID.
2019-01-14 13:42:58 +01:00
4b1b0aa84e sys/net/nanocoap: fix possible option_count overflow 2019-01-14 12:30:06 +01:00
11e4309f35
Merge pull request #10740 from miri64/sock_dns/bug/i10739
sock_dns: fix out-of-bound errors
2019-01-10 18:26:11 +01:00
Martine Lenders
894ad29322 sock_dns: remove out-of-place puts() call 2019-01-10 18:07:29 +01:00
Martine Lenders
8ad5e44cba sock_dns: remove some magic numbers 2019-01-10 18:07:29 +01:00
Martine Lenders
2840b3825e sock_dns: fix out-of-bound errors
Fixes #10739
2019-01-10 18:07:29 +01:00
Ken Bannister
86ff4d3dc5 net/nanocoap: fix request retry countdown 2019-01-10 06:21:47 -05:00
Gunar Schorcht
dbb5e886e5 gnrc_netif_ieee802154: use pid member in netif header
Use the `gnrc_netif_t::pid` member instead of the pid of the current thread when generating the the `gnrc_netif_hdr` in `gnrc_netif_ieee802154::_recv` function.
2019-01-10 00:09:52 +01:00
Gunar Schorcht
3876dd4bb9 gnrc_netif_ethernet: use pid member in netif header
Use the `gnrc_netif_t::pid` member instead of the pid of the current thread when generating the the `gnrc_netif_hdr` in `gnrc_netif_ethernet::_recv` function.
2019-01-10 00:09:24 +01:00
Sebastian Meiling
db3309eec8
Merge pull request #10726 from nmeum/nanocoap-sock-retval
nanocoap: fix sock_udp return value checks
2019-01-09 09:22:40 +01:00
Sören Tempel
d70a94f139 nanocoap: fix sock_udp return value checks 2019-01-08 19:01:39 +01:00
Gunar Schorcht
fb9e25faf7
Merge pull request #10724 from miri64/gnrc_ipv6_nib/fix/mixed-mode-ABRO
gnrc_ipv6_nib: fix RA reception for non-6LN interfaces
2019-01-08 09:47:09 +01:00
Martine Lenders
7452f48c26 gnrc_sixlowpan_frag: unroll recursion
While the recursion in `gnrc_sixlowpan_frag` shouldn't be infinite we
still should avoid using recursions in general (also to be able to
statically analyze stack usage). This unrolls the recursion.
2019-01-08 09:03:22 +01:00
201cff0ada
Merge pull request #10722 from nmeum/gnrc-tcp-comment-typo
gnrc_tcp_pkt: fix typo in comment
2019-01-07 20:23:20 +01:00
Martine Lenders
1f71b30bc2 gnrc_ipv6_nib: fix RA reception for non-6LN interfaces
When having a non-6LN interface and a 6LN interface (e.g. on a border
router) the assertion can hit when a Router Advertisement is received.
This makes the check an `if` statement rather than an assertion, to
account for that case.

Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2019-01-07 17:36:03 +01:00
Sören Tempel
45989aa60e gnrc_tcp_pkt: fix typo in comment 2019-01-07 16:15:41 +01:00
Martine Lenders
481f742c71 gnrc_netif: interface configuration for 6LoENC 2019-01-04 13:32:24 +01:00
b77c802f9b
Merge pull request #10666 from miri64/netopt/new/6lo
netopt: provide option to (de-)activate 6Lo
2019-01-03 18:50:31 +01:00
Martine Lenders
45b9dd6f50 gnrc_netif: implement get NETOPT_6LO 2019-01-03 16:21:52 +01:00
Martine Lenders
59366022ca netopt: provide option to (de-)activate 6Lo 2019-01-03 16:21:52 +01:00
José Alamos
f14d46d935
Merge pull request #10242 from miri64/gnrc_ipv6_ext_rh/enh/icmpv6_error_msg
gnrc_ipv6_ext_rh: add ICMPv6 error message sending
2019-01-03 10:35:54 +01:00
Gunar Schorcht
d3f78a5a40
Merge pull request #10679 from miri64/gnrc_sixlowpan_frag/fix/send-check-msg-queue
gnrc_sixlowpan_frag: check if own message queue is full
2018-12-30 15:48:26 +01:00
Martine Lenders
e8da744e6d gnrc_sixlowpan_frag: release packet when frag hdr can't be marked
Otherwise, there will be leaks ;-).
2018-12-30 01:05:34 +01:00
Martine Lenders
a409603f84 gnrc_sixlowpan_frag: release packet when rbuf is full
Otherwise, there will be leaks ;-).
2018-12-30 00:59:04 +01:00
Martine Lenders
9e3cdebae1 gnrc_sixlowpan_frag: check if own message queue is full
When issueing the sending of the next fragment the current version of
`gnrc_sixlowpan_frag` doesn't check if the queue is full. This leads to
leakage of the packet buffer, since when it is full, the package never
gets released.

This change adds a checks and error exits in case the queue is full.
2018-12-29 22:54:52 +01:00
Martine Lenders
d5bbf45d32 gnrc_sixlowpan_frag: reduce code duplication in send 2018-12-29 22:54:14 +01:00
Timo Rothenpieler
814e4ecbbe gnrc_netif: ESP-NOW talks 6Lo now 2018-12-29 13:15:44 +01:00
Martine Lenders
dd55c792c5
Merge pull request #10574 from haukepetersen/add_bluetil_ad
net/ble: add generic advertisement data (AD) processing helper
2018-12-27 19:30:43 +01:00
Gunar Schorcht
e07ea98bc3
Merge pull request #10536 from miri64/gnrc_ipv6_nib/bug/correct-reverse
gnrc_ipv6_nib: use correct reverse-translate for ARSM-less NCE
2018-12-27 10:44:23 +01:00
Martine Lenders
f160849e8a gnrc_ipv6_nib: use correct reverse-translate for ARSM-less NCE
The current implementation uses the assumption that the IPv6 address is
always based on an EUI-64, which it doesn't has to.
2018-12-27 10:21:31 +01:00
Sebastian Meiling
139b5dba3c
Merge pull request #10501 from kb2ma/gcoap/req_path_null
net/gcoap: allow NULL path in gcoap_req_init()
2018-12-21 14:36:04 +01:00
Sebastian Meiling
fa38f05574
Merge pull request #10642 from kb2ma/nanocoap/fix_nanocoap_sock_includes
net/nanocoap: fix includes for nanocoap sock
2018-12-20 08:38:03 +01:00
Ken Bannister
bd457aee2b net/nanocoap: fix includes for nanocoap sock 2018-12-20 00:37:18 -05:00
4878cf2119
Merge pull request #10400 from miri64/core/enh/thread_has_queue_func
core: provide function to check msg queue initialization
2018-12-19 18:41:39 +01:00
Martine Lenders
a14e33df01 gnrc_netreg: use thread_has_msg_queue() for msg queue check 2018-12-19 15:39:50 +01:00
Martine Lenders
986b9d380b gnrc_netreg: make message queue check more readable 2018-12-19 15:39:50 +01:00
Martine Lenders
3ce4b7454f
Merge pull request #10379 from cgundogan/pr/sixlowpan_nonipv6
sixlowpan: minor fixes for non-ipv6 usage
2018-12-18 22:36:03 +01:00
Cenk Gündoğan
79de5ae6e6 sixlowpan: minor fixes for non-ipv6 usage 2018-12-18 21:32:54 +01:00
Martine Lenders
5e03f58746
Merge pull request #10383 from miri64/gnrc_pktdump/enh/add-ipv6-ext
gnrc_pktdump: add GNRC_NETTYPE_IPV6_EXT output
2018-12-18 20:52:45 +01:00
Martine Lenders
0a5ef011e1 gnrc_ipv6_ext_rh: add ICMPv6 error message sending 2018-12-18 19:46:27 +01:00
Martine Lenders
13e66ce3f2
Merge pull request #10238 from miri64/gnrc_ipv6_ext/cleanup/merge-handle-rh
gnrc_ipv6_ext: merge _handle_rh and gnrc_ipv6_ext_rh_process
2018-12-18 19:39:16 +01:00
Martine Lenders
8701c0f80a gnrc_ipv6_ext: merge _handle_rh and gnrc_ipv6_ext_rh_process
It's a lot cleaner and makes more sense if we merge those two.
2018-12-18 19:03:40 +01:00
Martine Lenders
2e57ea246e
Merge pull request #10584 from miri64/gnrc_ipv6/enh/use-new-pktbuf-func
gnrc_ipv6: use gnrc_pktbuf_merge() to loopback packet
2018-12-17 12:16:06 +01:00
Martine Lenders
864ce4fed2 gnrc_ipv6_ext: rename nh to protnum for clarity 2018-12-15 18:21:48 +01:00
Martine Lenders
bbcb3161ea gnrc_ipv6_ext: make single header demux function private
The function is now only called by `gnrc_ipv6_ext_process_hopopt()` and
`gnrc_ipv6_ext_process_all()`, both are part of the `gnrc_ipv6_ext`
module.
2018-12-14 19:07:16 +01:00
Martine Lenders
0580fa5852 gnrc_ipv6: dispatch ext. headers to external interested parties
This way e.g. a raw socket listening for an extension headers protocol
number also get's it.
2018-12-14 19:07:16 +01:00