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

3744 Commits

Author SHA1 Message Date
Ken Bannister
9dce54b54b net/nanocoap: refactor block option control use 2019-07-22 05:42:08 -04:00
Ken Bannister
4311f17e81 net/nanocoap: refactor block option put 2019-07-22 05:42:08 -04:00
Aiman Ismail
a1a6dcd5ae sys/net: add credman (D)TLS credential manager 2019-07-19 13:56:21 +02:00
36f533e7ae
Merge pull request #11839 from kb2ma/nanocoap/option_func_doc
net/nanocoap: document internal option functions
2019-07-18 23:06:54 +02:00
Ken Bannister
64ba8e4ea9 net/nanocoap: document internal option functions 2019-07-18 05:21:40 -04:00
Martine Lenders
60c26648fe
Merge pull request #11766 from nmeum/pr/gnrc_tftp_min_len
gnrc_tftp: Add minimum packet length check
2019-07-16 14:39:48 +02:00
6c02521591 nanocoap: make coap_get_block2() actually fill struct 2019-07-05 15:29:58 +02:00
de244e6679 gnrc/pktbuf: remove obsolete sys/uio.h include
This was previously used by gnrc_pktbuf_get_iovec() for the definitions
of "struct iovec", which has been removed a while ago.
2019-07-04 16:12:57 +02:00
Hauke Petersen
eb50d4704a net/emcute: make cli ID conform to standard 2019-07-04 11:04:22 +02:00
Hauke Petersen
785f59fb7f net/asymcute: make cli ID len conform to standard 2019-07-04 11:03:37 +02:00
Kevin "Bear Puncher" Weiss
6176878153
Merge pull request #11786 from miri64/gnrc_tftp/fix/set-dst-port-on-server-init
gnrc_tftp: set port on server init
2019-07-04 08:49:31 +02:00
Martine Lenders
16f0751102
Merge pull request #11745 from miri64/gnrc_ipv6/fix/rm-dangerous-dup
gnrc_ipv6: remove obsolete and harmful reception code
2019-07-03 23:50:06 +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
Martine S. Lenders
1c946a1af4 gnrc_tftp: set port on server init 2019-07-03 16:49:43 +02:00
Martine S. Lenders
c31c9ed216 gcoap: allow for retransmission backoff to be turned off 2019-07-03 16:35:48 +02:00
Martine S. Lenders
1bde141697 gcoap: don't call random_uint32_range() when COAP_ACK_VARIANCE=0
`COAP_ACK_VARIANCE` is a configurable macro, so when it is 0, the
[precondition for `random_uint32_range()`][1] is not held.

[1]: https://doc.riot-os.org/group__sys__random.html#gab6ee09e1e56df3cc78acd1fbf97bfb24
2019-07-03 15:45:45 +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
7e70bf3ac1 cord_epsim: replace gcoap_req_send2() 2019-07-03 15:02:22 +02:00
Martine S. Lenders
0579ef952e cord_ep: replace gcoap_req_send2() 2019-07-03 15:02:15 +02:00
Martine S. Lenders
c9179a26c8 gcoap: replace internal references to gcoap_req_send2()
`gcoap_req_send2()` is deprecated and was replaced with
`gcoap_req_send()`.
2019-07-03 15:00:06 +02:00
Martine S. Lenders
ea449f3f9e gnrc_ipv6: remove obsolete and harmful reception code
When reworking the reception of IPv6 packets I reset a previously set
`ipv6` snip as follows  when the IPv6 extension handler returns a
packet (see first hunk of this commit):

```C
ipv6 = pkt->next->next
```

With `gnrc_ipv6_ext` this makes *somewhat* sense, `pkt->next` was
previously equal to `ipv6` and after the function call `pkt->next`
is the marked extension header, while `pkt->next->next` is the IPv6
header. However, since `ipv6` is already write-protected i.e.
`ipv6->users == 1` (see ll. 665-675), any additional call of
`gnrc_pktbuf_start_write()` [won't][start-write-doc] duplicate the
packet. In fact, the only `gnrc_pktbuf_start_write()` in
`gnrc_ipv6_ext` is used to send the *result* to the subscribers of that
extension header type, leaving the original packet unchanged for the
caller. As such `ipv6` remains the pointer to the IPv6 header whether
we set it in the line above or not. So we actually don't need that
line.

However, the extension header handling also returns a packet when
`gnrc_ipv6_ext` is not compiled in. In that case it is just a dummy
define that returns the packet you give provide it which means that
this still holds true: `pkt->next == ipv6`.
So setting `ipv6` in this case is actually harmful, as `ipv6` now
points to the NETIF header [following the IPv6 header][pkt-structure]
in the packet and this causes the `user` counter of that NETIF header
`hdr` to be decremented if `hdr->users > 1` in the write-protection I
removed in hunk 2 of this commit:

```C
/* pkt might not be writable yet, if header was given above */
ipv6 = gnrc_pktbuf_start_write(ipv6);
if (ipv6 == NULL) {
    DEBUG("ipv6: unable to get write access to packet: dropping it\n");
    gnrc_pktbuf_release(pkt);
    return;
}
```

But as we already established, `ipv6->users` is already 1, so we don't
actually need the write protection here either.

Since the packet stays unchanged after the `ipv6` snip, we also don't
need to re-search for `netif_hdr` after the other two lines are
removed.

[start-write-doc]: https://doc.riot-os.org/group__net__gnrc__pktbuf.html#ga640418467294ae3d408c109ab27bd617
[pkt-structure]: https://doc.riot-os.org/group__net__gnrc__pkt.html#ga278e783e56a5ee6f1bd7b81077ed82a7
2019-07-03 14:44:03 +02:00
Martine S. Lenders
7ba928faa3 gnrc_tftp: make it working again with link-local addresses 2019-07-03 14:04:26 +02:00
Martine Lenders
2fce0950bf gnrc_tftp: set dst_port when duplicated data received 2019-07-03 12:51:10 +02:00
Martine Lenders
3d9c7ee5de gnrc_tftp: set source port for server 2019-07-01 22:56:42 +02:00
Martine Lenders
5ec0b1609a gnrc_tftp: initialize unititialized 'tftp_context_t' values to 0 2019-07-01 22:55:31 +02:00
Sören Tempel
e8d0fb7685 gnrc_tftp: Add minimum packet length check
Fixes #10927
2019-07-01 13:49:25 +02:00
Sebastian Meiling
57361470dd
Merge pull request #11737 from nmeum/pr/gnrc_tftp_mode_compare
gnrc_tftp: Fix out-of-bounds memory access when comparing modes
2019-07-01 09:26:03 +02:00
Jose Alamos
ca8c78116f drivers/sx127x: add NETOPT_RX_SYMBOL_TIMEOUT setter 2019-06-27 15:43:50 +02:00
Jose Alamos
268e6df950 drivers/sx127x: add NETOPT_RANDOM option handling 2019-06-27 15:43:50 +02:00
Jose Alamos
77162b8c6f drivers/sx127x: add NETOPT_SYNCWORD option handling 2019-06-27 15:43:50 +02:00
Sören Tempel
a26942632a gnrc_tftp: Fix out-of-bounds memory access when comparing modes 2019-06-27 10:21:42 +02:00
7b8612b38d
sys/net: add netopt options for lorawan 2019-06-25 13:53:25 +02:00
Martine Lenders
3ee75c3ca9 gnrc_sixlowpan_iphc: assure ctx != NULL for dst compression
For the source address compression it was already done the same way in
12bcc46f15
2019-06-20 16:18:23 +02:00
Martine Lenders
3edb52de0c gnrc_rpl_dodag: remove new_best assignment at initialization
The variable is without usage reassigned with `dodag->parent` below.
2019-06-20 16:18:23 +02:00
Martine Lenders
fa95cc8090 gnrc_ipv6_nib: assure netif != NULL in route info callback 2019-06-20 16:18:23 +02:00
Martine Sophie Lenders
a09072c93d gnrc_ipv6_nib: add address from netif to address validation timer
The `addr` parameter of the NIB's `_handle_dad()` function can come
from anywhere (e.g. in the fallback to classic SLAAC the destination
address of the IP header is used), so putting that pointer in a timer
is not a good idea. Instead we use the version of the address that is
stored within the interface.
2019-06-18 12:05:07 +02:00
Martine Sophie Lenders
f5f8261b1c gnrc_ipv6_nib: add debug messages for DAD + 6Lo 2019-06-18 11:48:04 +02:00
Martine Sophie Lenders
484526533d gnrc_ipv6_nib/SLAAC: add debug message for address validation 2019-06-18 11:47:47 +02:00
Leandro Lanzieri
b9c1146e90 sys/net/sock_util: Accept null pointers in urlsplit 2019-06-12 10:03:11 +02:00
Martine Lenders
7e7e17c33f
Merge pull request #11640 from haukepetersen/add_bluetil_addrfromstr
sys/bluetil: add bluetil_addr_from_str()
2019-06-06 12:09:12 +02:00
Hauke Petersen
665b1d6528 sys/bluetil: add bluetil_addr_from_str() 2019-06-06 11:42:55 +02:00
Martine Lenders
731ef19970 gnrc_ipv6_ext: fix packet snip type
The `pkt->type` of an extension header should be
`GNRC_NETTYPE_IPV6_EXT` so it can be parsed properly as an extension
after building.
2019-06-04 10:47:02 +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
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
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
Martine Lenders
e4fa14370f gnrc_ipv6: handle hop-by-hop option before forwarding 2018-12-14 19:07:15 +01:00
Martine Lenders
5c0d18b25f gnrc_ipv6: move ext. hdr handling out of general demux
They are handled separately anyway and this allows us to handle
the Hop-by-hop option *before* forwarding in a later step.
2018-12-14 19:06:00 +01:00
Martine Lenders
17eee216b6 gnrc_ipv6_ext: add missing newline to DEBUG 2018-12-14 19:05:52 +01:00
Martine Lenders
492df78f63 gnrc_ipv6: use gnrc_pktbuf_merge() to loopback packet
With `gnrc_pktbuf_merge()` introduced in
f03247e752 we can remove some code
duplication when it comes to looping back a packet.
2018-12-14 11:10:51 +01:00
José Alamos
b709e63581
Merge pull request #10234 from miri64/gnrc_ipv6/enh/iterate-out-of-ext
gnrc_ipv6: move ipv6_ext iteration out of ext_demux()
2018-12-14 10:44:00 +01:00
Martine Lenders
e06cdcdf14 gnrc_pktdump: add GNRC_NETTYPE_IPV6_EXT output 2018-12-14 01:37:53 +01:00
Martine Lenders
b8f71c37ff gnrc_ipv6: rename should_release for clarity 2018-12-13 17:22:12 +01:00
Martine Lenders
e6df40dbde gnrc_ipv6: clean-up unrequired stuff after demux rework 2018-12-13 17:22:12 +01:00
Martine Lenders
764ed8c300 gnrc_ipv6: make next-header demuxer private
Since the recursion into `gnrc_ipv6_demux()` was removed in
`gnrc_ipv6_ext`, `gnrc_ipv6.c` is the only user of this function,
so it can be made private. It was only made public so it can be used
from `gnrc_ipv6_ext`.
2018-12-13 17:22:12 +01:00
Martine Lenders
f671a87fe2 gnrc_ipv6_ext: remove unnecessary pkt write-protection
As `pkt` isn't pre-parsed the write-protection of *the whole* packet
(except the netif-header) comes for free, when this was done in the
receive routine of IPv6.
2018-12-13 17:22:12 +01:00
Martine Lenders
02a7bc252a gnrc_ipv6: move ipv6_ext iteration out of ext_demux()
Since with #10233 we now assume IPv6 packets always to not be
pre-parsed, we can iterate over the extension headers by gradually
"eating" them away. This allows us to move the iteration over them
out of `gnrc_ipv6_ext_demux()` and into `gnrc_ipv6_demux()`.

By moving the iteration over all extension headers out of
`gnrc_ipv6_ext_demux()` we also can

1. simplify the extension header handling a lot, as it now
   just a loop inside `gnrc_ipv6_demux()`,
2. remove the recursion to `gnrc_ipv6_demux()` within
   `gnrc_ipv6_ext_demux()`.
2018-12-13 17:22:11 +01:00
Sebastian Meiling
4f646b4efc
Merge pull request #10441 from miri64/gnrc_netapi/enh/codesize-opt
gnrc_netapi: optimize code-size
2018-12-12 09:51:02 +01:00
Martine Lenders
c16d0bc96e gnrc_netapi: use static inline for high-level wrapper functions
This reduces the overall code size of GNRC applications by a few bytes.
2018-12-11 16:15:51 +01:00
José Alamos
970bec1d1b
Merge pull request #10233 from miri64/gnrc_ipv6/enh/assume-no-preparsed-pkt
gnrc_ipv6: assume no preparsed packets
2018-12-10 14:21:17 +01:00
Hauke Petersen
23abc89675 net/ble: add generic BLE helper module (bluetil)
So far, the helper module only contains functions for AD
(advertising data) processing
2018-12-07 18:13:53 +01:00
Hauke Petersen
a24f669c4c
Merge pull request #10521 from miri64/gnrc_sixlowpan_iphc/fix/non-ieee802154-support
gnrc_sixlowpan_iphc: allow address compression for non-IEEE802.15.4
2018-12-07 14:58:13 +01:00
Martine Lenders
a7e3791f3b gnrc_sixlowpan_iphc: allow address compression for non-IEEE802.15.4 2018-12-07 13:03:40 +01:00
Hauke Petersen
ec37ff5825 gnrc/netif: use eui48_x() for IID handling 2018-12-06 22:02:01 +01:00
Martine Lenders
be7e42a888
Merge pull request #10562 from miri64/gnrc_ipv6/fix/hl0
gnrc_ipv6: fix hop-limit == 0 case
2018-12-06 18:54:53 +01:00
Martine Lenders
3fde0ef8f8 gnrc_ipv6: remove special handling for encapsulated IPv6 headers
Since the packet is now guaranteed to be preparsed, the currently
handled IPv6 header will always be in the first snip. Because of this
the packet parser can't get confused anymore which IPv6 header is the
one to be handled so we don't need to remove the more outer ones.
Because of this we can just use the normal packet dispatching (which is
already used by other `GNRC_NETTYPE_*`-known protocol numbers such as
UDP).

This also reverts d54ac38f84.
2018-12-06 16:22:32 +01:00
Martine Lenders
4befe0b5e2 gnrc_ipv6: assume no preparsed packets 2018-12-06 16:22:31 +01:00
Martine Lenders
9bb458dac1
Merge pull request #10229 from miri64/gnrc_ipv6_ext/enh/shortcut-forward
gnrc_ipv6_ext: use send for forwarding with RH
2018-12-06 16:17:50 +01:00
Hauke Petersen
92fcb4de6a
Merge pull request #10513 from miri64/gnrc_netif/enh/iid-conversion
gnrc_netif: add general IID to/from l2addr conversion functions
2018-12-06 15:57:06 +01:00
Hauke Petersen
1b1802aaf6
Merge pull request #10469 from miri64/gnrc_ndp/enh/rtr-wo-arsm
gnrc_ndp: make compilable for router without ARSM
2018-12-06 15:38:38 +01:00
Martine Lenders
bc7d083094 gnrc_ipv6: fix hop-limit == 0 case 2018-12-06 15:34:06 +01:00
Martine Lenders
b530c1bb94 gnrc_ipv6_ext: use send for forwarding with RH
Though this change might seem more complicated, it has the benefit, that
after #9484 we don't have to assume that a received packet within IPv6's
receive function can be handed to the function pre-parsed, making that
function far less complicated (will be provided in a future PR).

Also this might give the forwarding via routing header a little
performance boost, as we now don't *receive* the packet first only to
forward it later-on.
2018-12-06 14:47:46 +01:00
Martine Lenders
bc1b490086 gnrc_ipv6_nib: gnrc_netif_iid_to_addr() instead of _reverse_iid() 2018-12-06 14:41:30 +01:00
Martine Lenders
a44f7f7b38 gnrc_netif: use general IID conversion function for netif-based 2018-12-06 14:41:30 +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
f38d9d14c6
Merge pull request #10549 from miri64/gnrc_netif/enh/submodules
gnrc_netif: make link-layer specific operations proper submodules
2018-12-05 17:44:40 +01:00
Martine Lenders
08524ca1d2 gnrc_netif_hdr: move path resolve to gnrc_netif submodule resolution
No that we introduced sub-modules to `gnrc_netif` we can move that here
as well.
2018-12-05 15:04:45 +01:00
Martine Lenders
72c5fd06b4 gnrc_netif: make link-layer specific operations proper submodules 2018-12-05 15:04:04 +01:00
Hauke Petersen
6551d8aac0
Merge pull request #10500 from miri64/gnrc_netif_hdr/enh/conv-netif-getter
gnrc_netif_hdr: provide convenience function to get netif pointer from netif header.
2018-12-05 14:26:02 +01:00
Martine Lenders
d94ba6c7d1 gnrc_sixlowpan_iphc: use gnrc_netif_hdr_get_netif() function 2018-12-05 14:08:32 +01:00
Martine Lenders
868a856cbc gnrc_sixlowpan: use gnrc_netif_hdr_get_netif() function 2018-12-05 14:08:32 +01:00
Martine Lenders
b447501382 gnrc_ipv6: use gnrc_netif_hdr_get_netif() function 2018-12-05 14:08:32 +01:00
Martine Lenders
b90fff9f06 gnrc_icmpv6_error: use gnrc_netif_hdr_get_netif() function 2018-12-05 14:08:32 +01:00
b59bfd5554
Merge pull request #10505 from miri64/gnrc_mac/fix/header-includes
gnrc_mac: fix header includes
2018-11-29 22:02:46 +01:00
Martine Lenders
6dcf8aad69 gnrc_ipv6_nib: remove ESP-Now related code-duplication 2018-11-29 15:32:29 +01:00
Martine Lenders
6547b2185b gnrc_netif: remove ESP-Now related code-duplication 2018-11-29 15:32:09 +01:00
Martine Lenders
03b91cbcb8 esp_now: use NETDEV_TYPE_ESP_NOW as device type 2018-11-29 13:35:20 +01:00
Martine Lenders
9d6a32b551 gnrc_mac: fix header includes
The inclusion of `net/gnrc.h` in `net/gnrc/mac/types.h` header makes it
impossible to include the `net/gnrc/netif.h` header within
`net/gnrc/netif/hdr.h`, due to `net/gnrc/mac/types.h` being included
with `net/gnrc/netif/mac.h` (which is included in `net/gnrc/netif.h`)
2018-11-29 12:39:34 +01:00
Ken Bannister
bec94b0b7a net/gcoap: allow NULL path in gcoap_req_init() 2018-11-28 13:20:22 -05:00
Martine Lenders
48aeba534b
Merge pull request #10455 from haukepetersen/opt_gnrc_netifgetiid
net/gnrc_netif: opt of _ipv6_get_iid()
2018-11-27 22:34:35 +01:00
Martine Lenders
310ef3c29e
Merge pull request #10227 from miri64/gnrc_rpl_srh/enh/cleanup-handler
gnrc_rpl_srh: cleanup and optimize SRH processing function
2018-11-27 16:41:44 +01:00
Martine Lenders
cdfe8ad90c gnrc_ndp: make compilable for router without ARSM
While it is an edge case in our configuration it is technically
possible for a (6Lo) router not to maintain an address resolution state
machine. This fix allows for that with the `gnrc_ndp` module.
2018-11-26 15:53:21 +01:00
Ken Bannister
8fa6f10f97 cord/ep: Update for gcoap API change 2018-11-24 07:09:25 -05:00
Ken Bannister
424a01ddc1 net/gcoap: remove gcoap attributes from coap_pkt_t 2018-11-24 07:09:25 -05:00
Ken Bannister
034c78d51c net/gcoap: move macros to implementation file 2018-11-24 07:09:25 -05:00
Ken Bannister
f0b966d65d net/gcoap: Use nanocoap options API
Observe still uses coap_pkt_t attribute.
2018-11-24 07:09:25 -05:00
Ken Bannister
fa5ab4eeb6 net/gcoap: Add format option to nanocoap 2018-11-24 07:09:25 -05:00
Martine Lenders
d8317580df gnrc_rpl_srh: uncrustify code 2018-11-23 13:56:55 +01:00
Martine Lenders
0982ab4bd6 gnrc_rpl_srh: give variables more speaking names 2018-11-23 13:56:55 +01:00
Martine Lenders
eaacda0970 gnrc_rpl_srh: move address check to own function 2018-11-23 13:56:55 +01:00
Martine Lenders
c3b0e54d82 gnrc_rpl_srh: change routing header at latest possible point 2018-11-23 13:56:55 +01:00
Martine Lenders
29ed9a0937 gnrc_rpl_srh: use memcpy() instead for address assignment 2018-11-23 13:56:54 +01:00
Martine Lenders
caeebd2787 gnrc_rpl_srh: make seg_left > 0 a precondition
The generic routing header handler is already checking this case, so
don't redo the check again.
2018-11-23 13:56:54 +01:00
Martine Lenders
61b829b656 gnrc_rpl_srh: reorder variables for better memory usage 2018-11-23 13:56:54 +01:00
Martine Lenders
78164977d8
Merge pull request #10223 from kb2ma/nanocoap/string_opt_first_char
net/nanocoap: fix string option separator write handling
2018-11-22 16:43:45 +01:00
Hauke Petersen
ace5db70e8 net/gnrc_netif: opt of _ipv6_get_iid() 2018-11-22 15:30:11 +01:00
Ken Bannister
fa77929cc7 net/nanocoap: fix string option separator handling
Assumed initial character was a separator when writing the option,
and skipped over it.
2018-11-22 09:25:05 -05:00
Tobias Heider
f03247e752 gnrc_pktbuf: add gnrc_pktbuf_merge()
Co-Authored-By: Martine Lenders <m.lenders@fu-berlin.de>
2018-11-22 11:13:33 +01:00
Martine Lenders
8f5f4a370d gnrc_netapi: declare data for set function as const 2018-11-20 11:59:38 +01:00
Martine Lenders
0bdbb68959 gnrc_ipv6: drop packets with unspecified destination
It just doesn't makes sense to handle them any further
2018-11-17 15:45:25 +01:00
Martine Lenders
ef1132384a gnrc_icmpv6_error: check IPv6 header before starting to build
Check for:

 - if it exists (critical error condition -- non-IPv6 headers should
   not trigger these functions) => assert
 - if it has a multicast source (that shouldn't really happen but
   people might try weird stuff ;-)
 - if it has an unspecified source (can't determine receiver of error
   message => don't send it, don't build it)
2018-11-17 15:45:25 +01:00
Martine Lenders
d4f425bb00 gnrc_ipv6: allow for empty IPv6 header 2018-11-17 14:49:12 +01:00
Martine Lenders
3ec37acbd1 gnrc_ipv6: fix _fill_ipv6_hdr() for pure IPv6 packets
If a packet only contains IPv6 and IPv6 extension header snips (e.g. if
the IPv6 packet has no payload or if an extension header was not
pre-parsed)
2018-11-17 14:48:49 +01:00
Martine Lenders
e801829c7a gnrc_udp: send ICMPv6 error messages where appropriate 2018-11-16 17:39:16 +01:00
Martine Lenders
db2da19ea4 gnrc_ipv6: send IPv6 error messages where appropriate 2018-11-16 17:39:16 +01:00
Martine Lenders
b99e9f4185 gnrc_icmpv6_error: append IPv6 and netif header before sending 2018-11-16 17:39:16 +01:00
Martine Lenders
d161379e47 gnrc_icmpv6_error: re-order header inclusions 2018-11-16 17:39:16 +01:00
Martine Lenders
0b4230e5f6 gnrc_icmpv6_error: fix and optimize pointer search in _param_prob_build 2018-11-16 17:39:16 +01:00
Martine Lenders
335342a466 gnrc_icmpv6_error: fix build function for send and recv order 2018-11-16 17:39:16 +01:00
Martine Lenders
f0da2a0cd7 gnrc_icmpv6_error: don't include netif header into fit 2018-11-16 17:39:16 +01:00
Martine Lenders
c4175a5e52 gnrc_icmpv6_error: adapt _fit() to get MTU from netif 2018-11-16 17:39:16 +01:00
Martine Lenders
c8c8564d51 gnrc_icmpv6_error: use netapi_dispatch_send instead of netapi_send 2018-11-16 17:39:16 +01:00
Martine Lenders
ba13d8f5bf gnrc_icmpv6_error: introduce debug messages 2018-11-16 17:39:15 +01:00
Martine Lenders
a7a8227e36 gnrc_icmpv6_error: centralize send function 2018-11-16 17:39:15 +01:00
Martine Lenders
36617f3733 gnrc_icmpv6_error: make input pointers constant 2018-11-16 17:39:15 +01:00
Martine Lenders
6ec456b0fc gnrc_icmpv6_error: don't release orig_pkt on error
The stack might still wants to do something with the packet after
copying it to the error message.
2018-11-16 17:22:20 +01:00
Martine Lenders
3b56c78a3b gnrc_icmpv6_error: make build functions private 2018-11-16 17:22:20 +01:00
Martine Lenders
a30bdebc2c gnrc_icmpv6_error: remove static inline from functions 2018-11-16 17:22:20 +01:00
Robin
e9047063ca gnrc_sock_[udp|ip]: store return value before release
sock_[udp|ip]_recv returns `pkt->size` after pkt was released via `gnrc_pktbuf_release(pkt)`.
This can result in wrong values returned by this functions and thus is not according to its sepecification.

Storing this values before releasing pkt returning the stored values should fix this.
2018-11-12 14:58:26 +01:00
Martine Lenders
98f42eeea8
Merge pull request #10356 from miri64/gnrc_ipv6_nib/fix/netif_queued
gnrc_ipv6_nib: provide interface on packet queueing
2018-11-09 17:47:12 +01:00
Martine Lenders
94549d136b gnrc_ipv6_nib_pl: return early if PL entry wasn't allocated 2018-11-09 15:40:46 +01:00
Martine Lenders
6d1a3caa26 gnrc_ipv6_nib: fix NULL pointer dereference 2018-11-09 15:39:41 +01:00
Martine Lenders
ce0c46836c gnrc_ipv6_nib: provide interface on packet queueing
Without this the first packet to a new link-local address will not be
delivered in non-6Lo environments, since the interface is not provided.
With this change, if an internet was provided to the address resolver it
will be stored within an allocated `gnrc_netif_hdr_t`.

At this point [IPv6 already striped](netif strip) the packet of its
netif header, so there is no risk that there will be to, in case it was
provided and the `netif` came from its existence.
2018-11-09 12:56:20 +01:00
60a6e66f77
Merge pull request #10246 from miri64/gnrc_ipv6/fix/encaps-ipv6-recursion
gnrc_ipv6: don't recurse into receive for encapsulated IPv6
2018-11-08 12:34:40 +01:00
Martine Lenders
d54ac38f84 gnrc_ipv6: don't dispatch encapsulated IPv6 headers in central function
Otherwise, an encapsulated IPv6 packet is handled twice. Once in the
central function, once in the specialized decapsulation.
2018-11-08 11:54:05 +01:00
Martine Lenders
160ccbcf7e gnrc_ipv6: don't recurse into receive for encapsulated IPv6
`_decapsulate()` is called by callees of `_receive()` so the call to
the latter function within the first creates a recursion we don't want.
Using `gnrc_netapi` instead removes that and provides the added benefit
that other subscribers to IPv6 are also informed.
2018-11-08 11:54:05 +01:00
152a9dc325
Merge pull request #10247 from miri64/ipv6_ext_rh/cleanup/central-types
ipv6_ext_rh: define type numbers at central place
2018-11-06 20:31:27 +01:00
Ken Bannister
bcd3e311a4
Merge pull request #10248 from llueder/coap/data_ptr
net/nanocoap: make data pointer c++ compliant
2018-11-05 10:10:45 +00:00
Lasse Lueder
34a6e384c2 net/gcoap: use coap_data_ptr instead of hdr.data 2018-11-02 16:33:29 +01:00
Lasse Lueder
18ae8ef90d net/nanocoap: use coap_data_ptr instead of hdr.data 2018-11-02 16:33:29 +01:00
Joakim Nohlgård
52ac53b4d9 gnrc_netif_ieee802154: Provide LQI, RSSI in raw mode via netif_hdr
Useful in sniffer situations to see the signal strength of a received
packet. Also avoids the crash described in
https://github.com/RIOT-OS/applications/pull/54
2018-10-27 00:22:51 +02:00
Martine Lenders
a5c9f959b5 gnrc_ipv6: use gnrc_pktbuf_reverse_snips() 2018-10-25 23:11:33 +02:00
Martine Lenders
ac54a2d2b2 gnrc_pktbuf: add gnrc_pktbuf_reverse_snips() helper function
This allows for

a) testing the packet reversal properly in unittests
b) use it in other places than `gnrc_ipv6`'s receive function
2018-10-25 23:11:33 +02:00
Martine Lenders
274371c174 ipv6_ext_rh: switch over to generic RH type define 2018-10-25 19:21:20 +02:00
Martine Lenders
466bc341a6
Merge pull request #10231 from miri64/gnrc_ipv6_ext/enh/move-rh-to-gnrc
gnrc_ipv6_ext: move ipv6_ext_rh (partly) to GNRC
2018-10-25 19:15:22 +02:00
Gaëtan Harter
c5deac4865
Merge pull request #10023 from miri64/gnrc_netif/fix/no-addr-but-addr-len
gnrc_netif: Fix l2addr_len > 0, but no l2addr edge-case
2018-10-25 14:31:32 +02:00
Martine Lenders
ad183dbf7e ipv6_ext: remove empty, unused module 2018-10-25 11:12:14 +02:00
Martine Lenders
6a9adf2b59 gnrc_ipv6_ext: remove unnecessary return-value indirection
Those return values are internal anyway, and they have the same intent
as the one provided by `gnrc_ipv6_ext_rh`.
2018-10-25 11:12:14 +02:00
Martine Lenders
84a62da102 gnrc_ipv6_ext_rh: rename GNRC_IPV6_EXT_RH_OK for clarity 2018-10-25 11:11:50 +02:00
Martine Lenders
c54ba49e82 gnrc_ipv6_ext: move ipv6_ext_rh (partly) to GNRC 2018-10-25 11:10:25 +02:00
afb7d6e1fc
cord/epsim: enable THREAD_CREATE_STACKTEST for thread 2018-10-18 14:17:07 +02:00
be1dc15655
cord/ep: enable THREAD_CREATE_STACKTEST for thread 2018-10-18 14:09:32 +02:00
Hauke Petersen
18cc7ee3ed net/rdcli: rename to cord_ep 2018-10-17 15:21:49 +02:00
Hauke Petersen
226b9fa383 net/rdcli_simple: rename to cord_epsim 2018-10-17 15:21:49 +02:00
Hauke Petersen
152623577e net/rdcli_config: rename to cord_config 2018-10-17 09:29:19 +02:00
Hauke Petersen
787524400c net/rdcli_common: rename to cord_common 2018-10-17 09:29:19 +02:00
Hauke Petersen
f0b0e25254 net/rdcli: new module structure and high-level doc 2018-10-17 09:29:19 +02:00
Kevin "Bear Puncher" Weiss
7187bbf8cf
Merge pull request #9426 from gschorcht/esp32
ESP32 port
2018-10-16 15:24:25 +02:00
Ken Bannister
ad38dd9a6f net/nanocoap: fix non-confirmable response type 2018-10-15 06:42:37 -04:00
726ebf3dad coap: use COAP_FORMAT style content-format defines
Replaces all occurences of COAP_CT_.* with COAP_FORMAT_.*
2018-10-15 09:44:17 +02:00
Ken Bannister
14c9b3062b
Merge pull request #8932 from bergzand/pr/nanocoap/block2
nanocoap: add server-side block2 support
2018-10-14 13:03:08 +00:00
551b3513db nanocoap: Add server-side block2 support 2018-10-14 14:30:29 +02:00
Hauke Petersen
9acce40aad net: added full RD endpoint implementation 2018-10-12 14:41:40 +02:00
Hauke Petersen
6ba1991a8e net/rdcli_simple: do not send CF opt in POST msg 2018-10-10 11:07:17 +02:00
Schorcht
3ac99877ac cpu: add esp32 2018-10-08 12:20:49 +02:00
Peter Kietzmann
ed24d3622a
Merge pull request #9621 from bergzand/pr/netif/use_fmt
gnrc_netif: Use fmt for bytes to hex string
2018-10-04 14:34:37 +02:00
0d71c1ccf7
gnrc_netif: Use fmt for bytes to hex string 2018-10-04 13:34:18 +02:00
90ad1a0782
gnrc_netif_ieee802154: remove state access in recv
This replaces the netif->state accesses in netif::recv with a netdev call
and the new netif RAWMODE flag
2018-10-03 21:00:35 +02:00
3c032e5688
gnrc_netif: add rawmode flag
Adds a gnrc_netif specific rawmode flag to indicate that the netdev
device is configured in raw mode. This flag is kept in sync with a
possible flag in the netdev device and should only be modified via the
setter call.
2018-10-03 20:59:03 +02:00
chrysn
f07308b07d gnrc: Extend gnrc_ipv6_get_header checks, use in sock recv
gnrc_sock_recv used to duplicate functionality of gnrc_ipv6_get_header,
but additionally checked whether the IPv6 snip is large enough.

All checks are now included in gnrc_ipv6_get_header, but as most of them
stem from programming / user errors, they were moved into asserts; this
constitutes an API change.
2018-09-28 19:40:59 +02:00
Hauke Petersen
f3f673eb45 net/nanocoap: factor out generic CoAP defines 2018-09-26 14:31:57 +02:00
Hauke Petersen
4a59113963 net/nanocoap: use correct type param for _bulid_hdr() 2018-09-26 13:00:39 +02:00
Martine Lenders
05aa8ab66b gnrc_netif: assert that l2addr_len is 0 without address
If the device provides an address length, but no address it is
obviously faulty.
2018-09-25 18:45:32 +02:00
smlng
59e299635b cppcheck: add/correct reason for cppcheck-suppress
Adding and correcting description/rational on why certain cppcheck
warnings or errors are intentionally suppressed.
2018-09-25 12:03:58 +02:00
05b6af466c sys: add missig <string.h> includes 2018-09-20 23:47:40 +02:00
Hauke Petersen
becfce247d net/nanocoap: allow empty uri/location path option
For CoAP, there is actually a difference between
`/some/path` and `/some/path/`. This needs to be reflected
when parsing the URI and location path options from a given
string.
2018-09-11 10:06:57 +02:00
Martine Lenders
235661668d gnrc_ipv6_nib: always configure 802.15.4 long address
Our `gnrc_minimal` example configures the link-local address from the
IEEE 802.15.4 short address since it does not include 6Lo-ND.
This causes the application to be incompatible with our other GNRC
application that do include 6Lo-ND, since it [assumes][1] the link-local
address to be based on the EUI-64 for address resolution.

This enforces long addresses (aka EUI-64) for all IEEE 802.15.4 devices
when IPv6 is compiled in so `gnrc_minimal` is compatible again to the
rest.

Fixes #9910

[1]: https://tools.ietf.org/html/rfc6775#section-5.2
2018-09-10 17:08:04 +02:00
Hauke Petersen
f2b1c5c87d net/gcoap: use sock_udp_ep_equal() 2018-09-07 12:03:19 +02:00
Martine Lenders
3d9aad2027
Merge pull request #9854 from bergzand/pr/rpl/pass_opt_len
gnrc_rpl: Pass options length to msg validator
2018-09-03 14:20:12 +02:00
Martine Lenders
e54428ce1e
Merge pull request #9853 from bergzand/pr/rpl/fix_dis_reserved_fields
gnrc_rpl: fix zeroing of RPL DIS fields
2018-09-03 14:19:59 +02:00
Hauke Petersen
a3b8c90485 net/gcoap: adjust to nanocoap changes 2018-08-30 10:31:03 +02:00
Hauke Petersen
4c08e77d00 net/nanocoap: improve option handling
- add generic string put and get functions
- add location path and location query options
- add dedicated functions for getting and setting
  URI query, URI path, location query, and location path
  options
2018-08-30 10:31:03 +02:00
af3232fb34
gnrc_rpl: Pass options length to msg validator
Currently the length of the full ICMPv6 packet is passed to the
validator function causing validation failures on valid packets. This
fixes that by passing the length of remaining RPL options of the packet.
2018-08-29 00:47:20 +02:00
0c790c6638
gnrc_rpl: fix zeroing of RPL DIS fields
The code originally assumed that the location of DIS struct is directly
after the ICMPv6 struct. This is not necessarily true when both structs
are individually allocated by pktbuf. This commit fixes this issue by
directly accessing the location of the DIS struct.
2018-08-29 00:33:27 +02:00
Joakim Nohlgård
6d6a6efac7 gnrc_netif: Check return value of netdev init during thread start 2018-08-24 12:11:12 +02:00
Martine Lenders
a9d0f20c7e
Merge pull request #8626 from miri64/gnrc_sixlowpan_iphc/enh/clean-up-nhc
gnrc_sixlowpan_iphc: cleanup NHC encoding
2018-08-17 10:13:34 +02:00
Martine Lenders
0a9793c49b gnrc_sixlowpan_iphc: cleanup NHC encoding 2018-08-16 16:55:28 +02:00
Joakim Nohlgård
3cc088689e 6lo: Speling correction in comment 2018-08-14 10:08:52 +02:00
Joakim Nohlgård
58281e9135 6lo: Set more data flag on all but last frag 2018-08-14 10:08:17 +02:00
Joakim Nohlgård
a247d8bfa5 gnrc_netif_ieee802154: set Frame Pending bit sometimes
Set frame pending bit in IEEE 802.15.4 FCF when
GNRC_NETIF_HDR_FLAGS_MORE_DATA is set on the netif header on outbound
frames.
2018-08-13 09:27:18 +02:00
Sebastian Meiling
513e3eca2f
Merge pull request #9522 from miri64/gnrc_ipv6_nib/enh/slaac-fallback
gnrc_ipv6_nib: fallback to SLAAC if ARO is ignored by upstream
2018-08-10 08:21:31 +02:00
Martine Lenders
4f87883ab8 gnrc_ipv6_nib: fallback to SLAAC if ARO is ignored by upstream
Linux doesn't have ARO support at the moment so this is a workaround to
try to speak 6Lo-ND while still being able to do DAD with a border
router that doesn't.
2018-08-09 10:56:36 +02:00
Ken Bannister
3f3df74bcd
Merge pull request #7237 from Ell-i/feature-gcoap-extra-indirection
net/gcoap: Make references to coap_resource_t all const in gcoap
2018-08-07 23:52:59 -04:00
Gaëtan Harter
a7241384be
Merge pull request #9719 from miri64/gnrc_ipv6_nib/enh/emit-conf
gnrc_ipv6_nib: make automatic NDP packet emission (NS/RS) configurable
2018-08-07 17:55:00 +02:00
Martine Lenders
ad173831db
Merge pull request #9721 from smlng/pr/gnrc_udp/assert
gnrc_udp: assert ports not zero
2018-08-06 16:59:55 +02:00
smlng
d4e8c57621 gnrc_netif: generalise address search functions
Reduce code duplication by combining internal helper functions
    that either loop over interface addresses or multicast groups.
2018-08-06 16:28:48 +02:00
smlng
7cb41ba829 gnrc_netif: cleanup debug output
Correct typos and wording in debug output.
2018-08-06 16:28:48 +02:00
smlng
8e3953cd6c gnrc_netif: cleanup address matching
Cleanup of internal helper functions for IPv6 address matching.
2018-08-06 16:28:48 +02:00
smlng
fd718dfc74 gnrc_udp: assert ports not zero
UDP port 0 is reserved for system usage, e.g., to tell the OS to
    set a random source port. Hence, neither source nor destination
    port should be 0 when transmitting. This PR adds proper asserts.
2018-08-06 16:09:22 +02:00
Martine Lenders
9720cd857d gnrc_ipv6_nib: include SLAAC debug addr_str into #ifdef 2018-08-06 14:51:34 +02:00
Martine Lenders
bdb1e80e0a gnrc_ipv6_nib: make RS emission configurable 2018-08-06 14:51:18 +02:00
Martine Lenders
f946314837 gnrc_ipv6: refactor to remove superfluous temporary variable
Since no release in this function is required anyways, we can just use
`payload` to check the return value directly.
2018-08-02 15:20:59 +02:00
Martine Lenders
cb4f6a96a8 gnrc_ipv6: correctly reset from temporary variable
While `tmp` in the loop for write-protection for the check-sum
calculation is used to check the return value of
`gnrc_pktbuf_start_write()`, it was never overwriting `payload` causing
the original snip to be used in the following iteration `prev` when
duplicated, and destroying the sanity of `ipv6`.
2018-08-02 15:17:40 +02:00
Martine Lenders
72e9b1f623 gnrc_ipv6: remove superfluous release
The packet handed to `_fill_ipv6_hdr()` is already released in the
caller (in the current version this is only `_save_fill_ipv6_hdr()`).
2018-08-02 15:16:08 +02:00
Pekka Nikander
8f10d65ad5 net/gcoap: Make references to coap_resource_t const in gcoap
A CoAP resource is a primary object between the application
    and CoAP library.  The Library needs the paths, methods,
    and handlers from it, so that it can call the right handler.
    However, it never needs to change any of them.

    The application also needs the resources.  The application
    may want to declare the resources as const, since it may
    want to store them in flash.
2018-07-30 09:00:21 +03:00
Martine Lenders
69d9ecc0d9 gnrc_sixlowpan_iphc: refactor reception for #8511
This refactors reception/decoding part of `gnrc_sixlowpan_iphc` to the
more layered approach modeled in #8511. Since the reception part is
already complicated enough I decided to divide send and receive up into
separate changes.
2018-07-25 18:15:09 +02:00
Cenk Gündoğan
7fef5e030a
Merge pull request #9485 from miri64/gnrc_sixlowpan_iphc/enh/i8511-send
gnrc_sixlowpan_iphc: refactor sending for #8511
2018-07-25 17:57:59 +02:00
Martine Lenders
80322cbd7d gnrc_sixlowpan_iphc: refactor sending for #8511
This refactors sending/encoding part of `gnrc_sixlowpan_iphc` to the
more layered approach modeled in #8511. Since the reception part is
already was pretty complicated to refactor, I decided to divide send
and receive up into separate changes.
2018-07-25 17:35:59 +02:00
Martine Lenders
d6b2a9ed01
Merge pull request #9483 from miri64/gnrc_sixlowpan_frag/enh/finish-frag
gnrc_sixlowpan_frag: Expose functions to finish datagram
2018-07-25 11:53:14 +02:00
Martine Lenders
64fed621d2 gnrc_sixlowpan_frag: Expose functions to finish datagram
This will be used in the IPHC refactoring to control the reassembly
buffer as a context.

I also adapted the name of `gnrc_sixlowpan_frag_gc_rbuf()` to be in
line with the rest of the newer functions.
2018-07-25 11:26:02 +02:00
Cenk Gündoğan
0dc02d9a97
Merge pull request #9482 from miri64/gnrc_sixlowpan_frag/enh/pages
gnrc_sixlowpan_frag: add page context to reassembly buffer
2018-07-24 18:16:39 +02:00
Cenk Gündoğan
e189d96171
Merge pull request #9585 from miri64/sixlowpan/fix/print
sixlowpan: various fixes to sixlowpan_print() function
2018-07-24 14:00:13 +02:00
Peter Kietzmann
1b7e164662
Merge pull request #9606 from bergzand/pr/netif/conf_events_on_reset
gnrc_netif: reapply event flags on device reset
2018-07-24 08:43:52 +02:00
Martine Lenders
dc8c983d26
Merge pull request #9341 from bergzand/pr/sockutil/cleanup
sock_util: Add unittest and fix detected issues.
2018-07-20 12:09:31 +02:00
0c43dc743d
sock_util: Limit recursion in str2ep 2018-07-20 11:48:29 +02:00
b024ff1cb8
sock_util: Add checks to port number parsing
Add additional checks to the port number parsing in str2ep to validate
the port number supplied in the string. This only verifies that the port
number is no longer than 5 chars and the resulting number fits in a
uint16_t.

It is still possible to supply up to 5 random chars.
2018-07-19 22:07:19 +02:00
bff8694051
sock_util: check path length in urlsplit
Add a length check to the path to ensure that it fits in the supplied
buffer in the urlsplit function
2018-07-19 22:07:19 +02:00
d93ecab880
sock_util: Add terminator to host-port string
Add missing null terminator to the returned host-port string in
sock_udp_ep_fmt
2018-07-19 22:07:18 +02:00
b8a494fb76
sock_util: Prevent overflow in sock_urlsplit
This adds a length check to verify if the host-port part of the URL fits
in the supplied buffer
2018-07-19 22:07:18 +02:00
3096823ab4
sock_util: Allow URLs without path as valid
URLs without a path were treated as invalid, while according to the URL
specification they are valid

Also fixes a missing null terminator in the returned path
2018-07-19 22:07:18 +02:00
3402e3509c
sock_util: Prevent overflow in _find_pathstart
Limit the number of scanned chars in _find_pathstart to the predefined
size
2018-07-19 22:07:18 +02:00
b0309145f0
sock_util: Limit URL scheme size 2018-07-19 22:07:17 +02:00
Martine Lenders
3870def74c gnrc: mac: fix types according to print formatting
As reported by `llvm`.
2018-07-19 15:13:39 +02:00
30e683ccfe
gnrc_netif: reapply event flags on device reset
On a NETOPT_STATE set call with NETOPT_STATE_RESET the netdev device
resets the callback event flags. This requires that after the netdev
device resets, the network stack also reapplies these callback event
flags
2018-07-19 14:51:14 +02:00
4c183257df
sock_util: Fix null terminator in sock_udp_ep_fmt 2018-07-18 17:44:03 +02:00
6a81a4d587
sock_util: add missing includes 2018-07-18 17:43:59 +02:00
Martine Lenders
c6d46057b0 sixlowpan: use generic format strings instead of inttypes.h macros
We had bad experiences with those in the past when used with newlib-nano
;-)
2018-07-17 12:22:16 +02:00
Martine Lenders
ecfff3e812 sixlowpan: fix decoding of DAM in sixlowpan_print()
Destination address compression is all in the least significant nibble
of that byte in the IPHC header [[1]].

[1]: https://tools.ietf.org/html/rfc6282#section-3.1.1
2018-07-17 12:22:15 +02:00
Martine Lenders
d8081453f2 gnrc_ipv6: clean-up and simplify send handling
This change is a gnrc_ipv6_nib/gnrc_netif(2)-based rework of #7210.

Packet duplication
==================

Its main optimization is that it restructures `gnrc_ipv6` handling of
sent packets so that duplication for write-protection happens at the
latest possible step:

* potential `gnrc_netif` headers added by upper layers are
  write-protected before their removal
* This unifies the duplication of the IPv6 header directly after
  that
* Extension headers in-between the IPv6 header and the payload header
  are duplicated just before the check sum is duplicated

Especially the last point allows for only handing a single packet snip
to all lower functions instead of an already searched IPv6 header
(which now is always the first until it is handed to the interface) +
payload header.

Further clean-ups
=================
* Next-hop link-layer address determination was moved to the
  `_send_unicast` function, greatly simplifying the unicast case in the
  `_send` function
* Code for loopback case was added to a new function `_send_to_self`
* Removed some code duplication
2018-07-16 15:08:56 +02:00
Peter Kietzmann
9f34513eec
Merge pull request #9563 from bergzand/pr/netif/netdev_recv_reset
gnrc_netif_ieee802154: drop frame on buffer error
2018-07-13 16:21:33 +02:00
ea6a2ef494
gnrc_netif_ieee802154: drop frame on buffer error
This adds a netdev recv call to indicate that the received frame should be
dropped when there is no buffer space available to store the frame.
2018-07-12 16:15:00 +02:00
Martine Lenders
3b1e4f54d2
Merge pull request #9532 from brummer-simon/gnrc_tcp-fix_includes
gnrc_tcp: Add missing includes
2018-07-10 20:22:13 +02:00
Simon Brummer
3b89bef366 gnrc_tcp: Add missing includes 2018-07-10 16:00:36 +02:00
Martine Lenders
8d47210228 gnrc_netif: don't spam user if dev doesn't support NETOPT_RX/TX_END_IRQ 2018-07-09 17:23:31 +02:00
Peter Kietzmann
15b0fe4368
Merge pull request #9467 from gebart/pr/gnrc_netif-netdev-flags
gnrc_netif: Enable RX and TX complete events after netdev init
2018-07-09 08:59:32 +02:00
Hauke Petersen
ad20c4f1cc net: add Asymcute (asynchronous MQTT-SN client) 2018-07-05 15:44:16 +02:00
Hauke Petersen
bf8f8dfa67 net/sock_udp: add sock_udp_ep_equal() 2018-07-05 15:13:01 +02:00
Martine Lenders
5361c4cfff sock_dns: return error if DNS server is not set 2018-07-05 11:09:34 +02:00
Martine Lenders
1916c45dc0 gnrc_ipv6_nib_router: add support to send RDNSSO 2018-07-05 11:09:34 +02:00
Martine Lenders
6d1f012c9d gnrc_ipv6_nib: add support to handle RDNSSO 2018-07-05 11:09:34 +02:00
Martine Lenders
0ef62b9690 gnrc_ndp: add support for building RDNSS option 2018-07-05 11:01:22 +02:00
Martine Lenders
fbf216f864 gnrc_sock_dns: Move DNS server end point to implementation 2018-07-05 11:01:22 +02:00
Hauke Petersen
1bfb3c8534 net/emcute: adapted to changes byteorder functions 2018-07-04 17:41:04 +02:00
Martine Lenders
8721d0b0a2 gnrc_sixlowpan_frag: add page context to reassembly buffer
While refactoring IPHC I noticed that the page actually can already be
used for fragmentation: Given @cgundogan's work on [ICN LoWPAN] we can
already assume, that the page context may (among other thing) determine
the type of the reassembled packet. This PR provides the basis for
that.

[ICN LoWPAN]: https://tools.ietf.org/html/draft-gundogan-icnrg-ccnlowpan-01
2018-07-03 14:08:14 +02:00
Cenk Gündoğan
16e1f972ab
Merge pull request #9424 from miri64/gnrc_sixlowpan_frag/enh/async-gc
gnrc_sixlowpan_frag: add asynchronous rbuf GC
2018-07-03 11:45:52 +02:00
Martine Lenders
254f16e81f gnrc_sixlowpan_frag: add asynchronous rbuf GC
While the current approach for garbage collection in the 6Lo reassembly
buffer is good for best-effort handling of
*fragmented* packets and nicely RAM saving, it has the problem that
incomplete, huge datagrams can basically DoS a node, if no further
fragmented datagram is received for a while (since the packet buffer is
full and GC is not triggered).

This change adds a asynchronous GC (utilizing the existing
functionality) to the reassembly buffer, so that even if there is no new
fragmented packet received, fragments older than `RBUF_TIMEOUT` will be
removed from the reassembly buffer, freeing up the otherwise wasted
packet buffer space.
2018-07-03 10:25:25 +02:00
Cenk Gündoğan
bf33941819
Merge pull request #9434 from miri64/gnrc_pktbuf_static/fix/alignment-race
gnrc_pktbuf_static: fix alignment issue / leaks
2018-07-02 16:32:13 +02:00
Cenk Gündoğan
32e823acb2
Merge pull request #9447 from miri64/gnrc_sixlowpan_frag/enh/add-cur-size
gnrc_sixlowpan_frag: add current_size to exposed struct
2018-07-02 14:05:40 +02:00
Joakim Nohlgård
bbf4f1e453 gnrc_netif: Enable RX and TX complete events after netdev init 2018-06-29 21:53:23 +02:00
Martine Lenders
cb74063573 gnrc_sock_udp: use sock's local end-point for listening
Without this fix the listener doesn't actually listen on the
(potentially) ephemeral port introduced in #9382, but on port 0 which is
wrong.
2018-06-28 17:25:26 +02:00
Martine Lenders
68fe6682ff gnrc_sixlowpan_frag: add current_size to exposed struct
Since IPHC also manipulates the total number of bytes of a received
datagram (by decompressing it), this also needs to be exposed. I guess
I was too focused on introducing a *generic* packet buffer for a future
virtual reassembly buffer (where it isn't needed, but so isn't `pkt` to
be honest), that I totally forgot about it in #9352.
2018-06-28 12:28:51 +02:00
Martine Lenders
acfe57a52b gnrc_pktbuf_static: reduce checks to be in line with new alignment 2018-06-27 17:19:34 +02:00
Martine Lenders
8a75d8d189 gnrc_pktbuf_static: fix alignment issue / leaks
This fixes an alignment issue I encountered in the static version of
the packet buffer.

The bug is caused by a race-condition where a certain order of
operations leads to a chunk being released according to the
byte-alignment of the platform, but overlapping potential space for
a future `_unused_t` struct e.g. (x mark allocated regions):

                    Future leak of size sizeof(_unused_t)       Time
                    v                                            |
    +------------+-----+--------------------+                    |
    |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|                    +
    +------------+-----+--------------------+                    |
                                                                 |
    +------------+--+--+--------------------+                    |
    |               |xxxxxxxxxxxxxxxxxxxxxxx|                    +
    +------------+--+--+--------------------+                    |
                                                                 |
    +-----+------+--+--+--------------------+                    |
    |xxxxx|         |xxxxxxxxxxxxxxxxxxxxxxx|                    +
    +-----+------+--+--+--------------------+                    |
                                                                 |
    +-----+------+-----+---------+----------+                    |
    |xxxxx|                      |xxxxxxxxxx|                    +
    +-----+------+-----+---------+----------+                    |
                                                                 |
    +-----+------+-----+--------------------+                    |
    |xxxxx|      |xxxxxxxxxxxxxxxxxxxxxxxxxx|                    +
    +-----+------+-----+--------------------+                    |
                                                                 |
    +------------+-----+--------------------+                    |
    |xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx|                    +
    +------------+-----+--------------------+                    |
                                                                 |
    +------------+-----+--------------------+                    |
    |xxxxxxxxxxxxxxxxxx|                    |                    +
    +------------+-----+--------------------+                    |
                                                                 |
    +------------+-----+--------------------+                    |
    |            |xxxxx|                    |                    +
    +------------+-----+--------------------+                    |
                                                                 v

Sadly, I wasn't able to create a reproducable unittest that show-cases
this corner-case, since I don't understand the order of operations that
cause this one 100%, but the bug is reproducable (but also not
reliably) by sending large (i.e. fragmented) packets to a 6Lo-enabled
host from more than 1 host simultaneously (use `gnrc_pktbuf_cmd` to
check).

By making the size of `_unused_t` the only condition for alignment,
this bug is fixed.
2018-06-27 17:18:24 +02:00
Cenk Gündoğan
315c201747
Merge pull request #9372 from miri64/gnrc_sixlowpan_frag/enh/i8511
gnrc_sixlowpan_frag: adapt for #8511
2018-06-26 19:47:25 +02:00
Martine Lenders
a2eb3c7f15 gnrc_sixlowpan_frag: adapt for #8511
This refactors the `gnrc_sixlowpan_frag` module for the API proposed
in #8511.

The `ctx` for `gnrc_sixlowpan_frag_send()` is required to be a
`gnrc_sixlowpan_msg_frag_t` object, so IPHC can later on use it to
provide the *original* datagram size (otherwise, we would need to adapt
the API just for that, which seems to me as convoluted as this
proposal).

I also provide an expose function with a future possibility to provide
more than just one `gnrc_sixlowpan_msg_frag_t` object later on (plus
having cleaner module separation in general).
2018-06-26 19:38:33 +02:00
Martine Lenders
0c9d7aeedc gnrc_rpl: exit early if netif_hdr is NULL in send function
Without this fix RPL might crash when the packet buffer is full.
2018-06-21 14:51:47 +02:00
Martine Lenders
579d9d78d4
Merge pull request #8823 from miri64/gnrc_ipv6_nib/feat/slaac
gnrc_ipv6_nib: add full RFC4862 DAD support
2018-06-21 14:10:36 +02:00
Cenk Gündoğan
d140aa1c8e
Merge pull request #9382 from miri64/sock/enh/i9376
sock_udp: allow creation with ephemeral ports
2018-06-21 12:16:40 +02:00
Cenk Gündoğan
0c428ecb2e gnrc_rpl: remove events from the queue before memset() 2018-06-21 10:41:13 +02:00
ddfc5843bb
Merge pull request #9086 from bergzand/pr/nanocoap_sock/client_split
nanocoap_sock: split generic request function of from nanocoap_get
2018-06-20 23:31:05 +02:00
Martine Lenders
a33399edf7 gnrc_sock_udp: provide fix for error state for full port pool 2018-06-20 14:51:18 +02:00
Martine Lenders
f8524cb4c0 gnrc_sock_udp: provide port for #9376 API fix 2018-06-20 14:51:17 +02:00
Cenk Gündoğan
e08fd546cf
Merge pull request #9353 from miri64/gnrc_sixlowpan/opt/rm-pad
gnrc_sixlowpan: fix order of gnrc_sixlowpan_msg_frag_t
2018-06-18 10:59:27 +02:00
Cenk Gündoğan
acb9e4aed2
Merge pull request #9352 from miri64/gnrc_sixlowpan_frag/enh/expose-rbuf
gnrc_sixlowpan_frag: expose (parts of) reassembly buffer
2018-06-18 10:55:13 +02:00
Ken Bannister
4f8c3b7d18
Merge pull request #9310 from miri64/gcoap/enh/clients-without-response-handlers
gcoap: don't allocate memo for clients without response handlers
2018-06-15 10:28:30 -04:00
Martine Lenders
b03aa528e8 gcoap: don't allocate memo for clients without response handlers 2018-06-15 09:46:50 +02:00
Joakim Nohlgård
8514ff5f15 gnrc/pktbuf: Const correctness on gnrc_pktbuf_add 2018-06-15 00:44:23 +02:00
Martine Lenders
2c9ee62eb0 gnrc_sixlowpan: fix order of gnrc_sixlowpan_msg_frag_t
While working on #9352 I noticed that the order of members in the
`gnrc_sixlowpan_msg_frag_t` struct costs us 4 bytes in RAM due to byte
alignment. This PR fixes the order of members, so they are the most
packed.
2018-06-14 17:35:29 +02:00
Martine Lenders
86cbde2db5 gnrc_sixlowpan_frag: expose (parts of) reassembly buffer
This exposes the parts of the reassembly buffer to be usable as context
as proposed in #8511.

I only exposed *parts of* for two reasons:

1. I don't need to expose further types (like `rbuf_int_t`), that are
   not of interest outside of fragmentation.
2. This allows for an easy future extension for the virtual reassembly
   buffer as proposed in [[1]].

This makes this change a little bit more involved, because instead of
just renaming the type, I also need to add the usage of the `super`
member, but I think in the end this little preparation work will be
beneficial in the future.

[1]: https://tools.ietf.org/html/draft-watteyne-6lo-minimal-fragment-01#section-3
2018-06-14 17:22:58 +02:00
Martine Lenders
e91e0a7807
Merge pull request #9261 from kb2ma/gcoap/refine_re-register
net/gcoap: Refine Observe re-registration
2018-06-13 16:05:40 +02:00
7d013eb2b6 sys: fix doxygen grouping 2018-06-11 19:12:02 +02:00
Martine Lenders
ec5ca98b4d
Merge pull request #9320 from brummer-simon/gnrc_tcp-set_ip_src_addr_directly
gnrc_tcp: Set src addr in outgoing packets by tcp layer.
2018-06-11 14:20:21 +02:00
Ken Bannister
43db2715cd net/nanocoap: create pkt-based request
Includes string and uint options.
2018-06-10 08:44:16 -04:00
Simon Brummer
370fe1e475 gnrc_tcp: Set src addr in outgoing packets by tcp layer. 2018-06-10 13:26:23 +02:00
Cenk Gündoğan
c135f2639e
Merge pull request #9300 from miri64/gnrc_ipv6_nib/fix/rtr-timeout-wrong-ctx
gnrc_ipv6_nib: use router instead of netif for router timeout context
2018-06-07 13:40:48 +02:00
Hauke Petersen
36ecaa6e4b net/emcute: use global byteorder functions 2018-06-07 12:10:58 +02:00
Martine Lenders
b6ab9eb343 gnrc_ipv6_nib: use router instead of netif for router timeout context
`GNRC_IPV6_NIB_RTR_TIMEOUT` [expects a default router entry][doc] as
context, so using the `netif` here is clearly wrong. This causes the
hardfault described in #9297.

[doc]: http://doc.riot-os.org/group__net__gnrc__ipv6__nib.html#ga1c7e892ef6533f699c4e64737c2847c2
2018-06-06 11:37:51 +02:00
Ken Bannister
2c02ed2093 net/gcoap: refine observe re-registration
Fix re-register when using the same token.
Handle edge cases when change token for a resource.
Only set observer and resource on initial registration.
Discuss re-registration in documentation.
2018-06-05 09:23:16 -04:00
BytesGalore
0c034c9220 rpl: add DIS Solicited Information option 2018-06-04 18:10:22 +02:00
Martine Lenders
22ad3aa12e gnrc_ndp: only send RAs when VALID address is found
Otherwise, it may happen that `::` or a global address is chosen by
the IPv6 header fill function. Both types of addresses are
[not valid for RAs](https://tools.ietf.org/html/rfc4861#section-4.2)
2018-05-31 17:11:26 +02:00
Martine Lenders
55adbee488 gnrc_ipv6_nib: add full RFC4862 DAD support
Parts of [RFC4862] were already implemented when NDP via the NIB was
first implemented. This change just includes the DAD portion of
[RFC4862]. This should be enough to make RIOT fully RFC4862 compliant.

[RFC4862]: https://tools.ietf.org/html/rfc4862
2018-05-31 17:11:25 +02:00
Martine Lenders
57d3c4698c gcoap: don't drop observer on re-register
With #9209 gCoAP got the ability to re-register and OBSERVE with a new
token, sadly the `observer` variable wasn't set in that fix, so a
re-registration actually led to the deletion of the observer (because it
is still `NULL` when the old registration is overwritten in l. 317)
2018-05-30 23:05:25 +02:00
Martine Lenders
fce5c758f7
Merge pull request #8841 from miri64/netif/api/initial2
netif: Initial import of a common network interface API (second try)
2018-05-29 22:10:50 +02:00
Martine Lenders
2586b5c161
Merge pull request #9233 from brummer-simon/gnrc_tcp-handle_link_local_addr
gnrc_tcp: handle link local IPv6 addresses correctly
2018-05-29 21:50:00 +02:00
Simon Brummer
686aabaa0a gnrc_tcp: handle link local IPv6 addresses correctly 2018-05-29 21:28:32 +02:00
5be4b7f5c8
Merge pull request #9226 from miri64/gnrc_netif/enh/error-on-multicast-space
gnrc_netif: fail IPv6 address addition if no space for solicited nodes
2018-05-29 20:30:26 +02:00
Ken Bannister
341debd5e0
Merge pull request #9209 from kb2ma/gcoap/observe_change_token
net/gcoap: Observer re-register with new token
2018-05-29 18:06:07 +00:00
Martine Lenders
a082e10157 gnrc_netif: add GNRC specific implementation of netif.h 2018-05-29 19:49:29 +02:00
Martine Lenders
ea64d39e21 gnrc_netif: fail IPv6 address addition if no space for solicited nodes 2018-05-29 19:30:30 +02:00
Ken Bannister
d7dde2dded net/gcoap: observer re-register with new token 2018-05-29 13:30:05 -04:00
Martine Lenders
d3d7a49d7a gnrc_netreg: make message queue requirement more visible 2018-05-29 19:21:48 +02:00
Cenk Gündoğan
5230e7732c
Merge pull request #9188 from miri64/gnrc_pktdump/enh/print-rest
gnrc_pktdump: print rest of snip as hex if available
2018-05-29 13:32:39 +02:00
Martine Lenders
8c77cbb903 gnrc_pktdump: print rest of snip as hex if available
Currently, `gnrc_pktdump` only prints the header part of a snip.
However, if the snip wasn't parsed yet by the corresponding GNRC
module (or the module doesn't exist because the node is e.g. just a
forwarder), additional data might not be printed.

This makes it hard to analyze the data properly (sometimes you not only
want to know where the IPv6 packet is supposed to go, you also want to
know what's in it). So this just prints the rest of the snip as a hex
dump.
2018-05-29 12:33:06 +02:00
Hauke Petersen
7f2fb5e0a3 net/emcute: use correct number of retries
syncsend() is used also for the initial packet, so resending
while (retries <= EMCUTE_N_RETRY) is the correct behavior.
2018-05-28 11:41:20 +02:00
6bb8a5c145
nanocoap_sock: split request function from get
The nanocoap_get function is refactored to split of the request part
into a separate function for reuse by other modules. Support for
retransmissions when the received frame is malformed is dropped as it
was broken anyway.
2018-05-25 09:40:20 +02:00
Loïc Dauphin
260bc37958
Merge pull request #5914 from cgundogan/pr/ndn-riot_as_a_pkg
pkg: ndn-riot: initial import of ndn-riot as a package
2018-05-24 18:29:22 +02:00
smlng
1011803867 net/gnrc/rpl: fix doxygen grouping 2018-05-24 14:38:27 +02:00
Cenk Gündoğan
f64265de57 gnrc_pktdump: add hex dump for NDN 2018-05-24 10:58:26 +02:00
Sebastian Meiling
9d83b60f3b
Merge pull request #9083 from smlng/pr/gcoap/cleanup
gcoap: enhance gcoap_req_init
2018-05-23 10:40:54 +01:00
Cenk Gündoğan
441f11ea45 gnrc_rpl: shell: adapt to evtimer for RPL events 2018-05-23 09:42:12 +02:00
Cenk Gündoğan
b819ac8d35 gnrc_rpl: adapt to evtimer for RPL events 2018-05-23 09:42:12 +02:00
Cenk Gündoğan
4c9e947d43 gnrc_rpl: adjust author and copyright 2018-05-22 23:46:55 +02:00
smlng
b9ca8f466f gcoap: add asserts for path in gcoap_req_init 2018-05-22 21:28:58 +02:00
smlng
c9e9f72454 gcoap: use const path parameter 2018-05-22 21:28:58 +02:00
Bas Stottelaar
7781da7799 sys: netopt: add busy option 2018-05-21 16:37:38 +02:00
Bas Stottelaar
02395e593d sys: netopt: add checksum option 2018-05-21 16:37:38 +02:00
Gaëtan Harter
60d09e6b21
sys/icmpv6_hdr_print: replace PRIu8 by PRIu16
PRIu8 is not supported on samr21-xpro:

    type:   hu  code:   hu

After fix

    type: 133  code:   0

Found by running 'tests/gnrc_netif'
2018-05-11 17:41:25 +02:00
Martine Lenders
8a46cf611e gcoap: make message queue size configurable 2018-05-06 16:41:43 +02:00
Martine Lenders
3d821ee195 gnrc_rpl: remove route before updating it
The "new" forwarding table does not update an old route but just adds
another as long as it is not *exactly* the same. However, the RPL
adaptation missed to remove the old route so RPL got easily confused
about where it actually needed to send packets.
2018-05-04 17:46:02 +02:00
Sebastian Meiling
4f97fc76fd
Merge pull request #8894 from beduino-project/fix-gnrc_ipv6_blacklist-build
gnrc: fix build of gnrc_ipv6_blacklist when ENABLE_DEBUG is disabled
2018-04-23 14:26:53 +02:00
8475844213 sys/net/uhcpc: add missing stdio.h include 2018-04-16 23:06:15 +02:00
635e72db23
Merge pull request #8788 from kaspar030/nanocoap_add_serverside_block1
nanocoap: add serverside block1 support
2018-04-16 12:49:06 +02:00
4897222e7e nanocoap: add server-side block1 support 2018-04-16 12:31:56 +02:00
6ee4aceef1
Merge pull request #8936 from haukepetersen/opt_rdclisimple_addrconf
net/rdcli_simple: specify RD address as string
2018-04-12 15:33:33 +02:00
Martine Lenders
3be4b51209
Merge pull request #8867 from miri64/gnrc_ipv6/fix/possible-null-ptr-deref
gnrc_ipv6: fix possible NULL pointer dereference
2018-04-12 14:26:22 +02:00
Martine Lenders
7974b12c11
Merge pull request #8797 from zhuoshuguo/gomach_add_dutycycle_display_command
gnrc_gomach: add duty-cycle display shell command.
2018-04-12 14:25:02 +02:00
Hauke Petersen
2e6ccfa13f net/rdcli_simple_standalone: fix error handling 2018-04-12 14:00:32 +02:00
Hauke Petersen
bd25cf5902 net/rdcli_simple: parse RD address from string
this makes the configuration of the RD server much simpler, as it
does not require the user to 'binary-code' the RD server's address
anymore.
2018-04-12 14:00:32 +02:00
Hauke Petersen
faab006631 net/rdcli_simple: improved doc and error handling 2018-04-12 13:48:09 +02:00
d64d38b391
Merge pull request #8909 from miri64/doc/enh/ipv6-rfc
doc: update IPv6 RFC references
2018-04-12 12:11:23 +02:00
shuguo
4e7ff0df28 gnrc_gomach: enabling duty-cycle printing 2018-04-12 11:46:40 +02:00
shuguo
ed4a80db00 gnrc_mac: add MAC duty-cycle record macro 2018-04-12 11:44:30 +02:00
d2db1ba2c3
Merge pull request #8568 from miri64/gnrc_ipv6_nib/fix/abro-ignore-only-on-6lr
gnrc_ipv6_nib: only discard RAs without ABROs on 6LR
2018-04-11 22:32:33 +02:00
012c016b74
Merge pull request #8772 from kaspar030/rework_nanocoap_option_handling
net/nanocoap: rework option handling
2018-04-10 21:11:18 +02:00
dee793d29f nanocoap: rework option handling 2018-04-10 20:58:06 +02:00
Martine Lenders
23bdc80e22 doc: update IPv6 RFC references
RFC 2460 was obsoleted by RFC 8200. This PR changes the references
around, so we don't reference an obsoleted RFC ;-).

Also I'm moving these references from the old-style HTML-like format
to the newer-style Markdown-like format.
2018-04-10 15:40:18 +02:00
Martine Lenders
629a19dc87
Merge pull request #8871 from miri64/gnrc_netif/fix/unspec-addr
gnrc_netif: check if input for address search is ::
2018-04-10 14:35:07 +02:00
Hauke Petersen
7dd897c6d7 net/rdcli_common: fix EP name generation 2018-04-10 10:55:03 +02:00
Hauke Petersen
108284670c net: added RD client for simplified registration 2018-04-09 10:37:10 +02:00
Hauke Petersen
f12d85d032 net/rdcli: added common rdcli module 2018-04-09 10:37:10 +02:00
Martine Lenders
3c93ebc86e
Merge pull request #7699 from nmeum/gcoap-method-not-allowed
gcoap: return Method Not Allowed if appropriate
2018-04-06 15:35:05 +02:00
Sören Tempel
93f65043ce gnrc: fix build of gnrc_ipv6_blacklist when ENABLE_DEBUG is disabled
Without this commit it doesn't build because addr_str isn't defined when
ENABLE_DEBUG is not set.

This issue was introduced in: c001e14f9d
2018-04-06 14:48:32 +02:00
Hauke Petersen
49bd85d00a sys/net: added Skald
Skald is a very small and simple, TX-only BLE stack that supports
sending advertisements only. It is useful for building all kinds
of BLE beacons with very minimal memory footprints.
2018-04-06 11:18:53 +02:00
Hauke Petersen
4e715e8221 drivers/netdev: added BLE adaption for netdev 2018-04-06 11:18:53 +02:00
Robin Nehls
ad5617fb83 gnrc_ipv6: discard non-NONXT packets with 0 payload length
If the payload length is zero and the next header field is not set to
NONXT, GNRC will interpret the current header as the payload because the
first snip is always interpreted as the payload. This can lead to loops
and or crashes.
2018-04-03 18:34:48 +02:00
Martine Lenders
53c30eef4b gnrc_netif: check if input for address search is :: 2018-04-03 17:38:26 +02:00
Robin Nehls
326be16b90 gnrc_ipv6: fix possible NULL pointer dereference
When the payload length of an encapsulated IPv6 packet is 0, the
`_receive` function of IPv6 can be given a NULL pointer, causing the
IPv6 header checker to crash because of a NULL pointer dereference.
2018-04-03 14:46:12 +02:00
Ken Bannister
3da9145018 net/gcoap: Internalize definition of state struct 2018-03-31 06:46:05 -04:00
Hauke Petersen
a63f92a7a6 net/gcoap: allow to not define a response handler 2018-03-19 11:56:58 +01:00
Martine Lenders
ce807173ff
Merge pull request #8601 from bergzand/pr/netopt-link-status
netopt/drivers: Add phy link status output
2018-03-18 15:25:01 +00:00
831e7635de
netopt: Add link status option 2018-03-18 15:32:36 +01:00
1faa845d8e sys/net: iolist updates 2018-03-06 14:00:32 +01:00
2f179f26bb sys/net/gnrc/netif: adapt to netdev with iolist 2018-03-06 14:00:31 +01:00
b343ff8ac9
Merge pull request #8470 from miri64/gnrc_sock/enh/set-remote-netif-implicitly
gnrc_sock: set remote network interface implicitly
2018-03-06 12:27:00 +01:00
Martine Lenders
15d405f597 gnrc_sock: add more cppcheck suppressions 2018-03-06 12:20:56 +01:00
Martine Lenders
98e45c3d55 gnrc_sock: set remote network interface implicitly
When there is only one interface we are simplifying a lot for the users
if the interface is set implicitly.
2018-03-05 17:01:36 +01:00
Cenk Gündoğan
18005666ac
Merge pull request #8512 from miri64/gnrc_sixlowpan/enh/gnrc-dispatch
gnrc_sixlowpan: Introduce 6Lo GNRC dispatch sub-layer
2018-03-01 15:03:03 +01:00
Martine Lenders
67d7aeab7e gnrc_sixlowpan: Introduce 6Lo GNRC dispatch sub-layer
This abstracts the sending and receiving of 6Lo packets to the new
6Lo sub-layer model introduced in #8511 and exemplifies it as well.
2018-03-01 14:15:07 +01:00
Cenk Gündoğan
3bbc1d7e22
Merge pull request #8625 from miri64/gnrc_rpl/enh/leaf-non-routers
gnrc_rpl: allow for non-router operation (as leaf)
2018-03-01 10:28:49 +01:00
Martine Lenders
8c632b1bf7
Merge pull request #8536 from daniel-k/fix/gnrc_src_addr_selection
gnrc/netif: fix source address selection for non-matching prefixes
2018-02-27 19:02:54 +01:00
Martine Lenders
9c84cd90b8 gnrc_rpl: allow for non-router operation (as leaf) 2018-02-23 14:26:15 +01:00
Martine Lenders
2316d336da gnrc: keep speed optimizations of c2b403f4 2018-02-22 20:40:59 +01:00
Martine Lenders
467e9548cf gnrc_netreg: optimize gnrc_netreg_num() to use _netreg_lookup() 2018-02-22 20:39:23 +01:00
Martine Lenders
dbda759b40 Revert "gnrc/netreg: remove usages of gnrc_netreg_num"
This reverts commit c2b403f4ad.
2018-02-22 20:30:03 +01:00
Martine Lenders
49f80b7cf1 Revert "gnrc/netreg: remove gnrc_netreg_num"
This reverts commit c178ea8798.
2018-02-22 20:28:32 +01:00
Ken Bannister
d7004ebcd8
Merge pull request #8513 from kaspar030/nanocoap_add_context_to_resources
nanocoap: add context pointer to resources
2018-02-22 18:30:43 +00:00
Martine Lenders
26ad044e12
Merge pull request #8563 from miri64/gnrc_ipv6_nib/fix/6lo-tentative
gnrc_ipv6_nib_6ln: do not mark non-link-local addresses directly VALID
2018-02-19 15:28:08 +01:00
Martine Lenders
e11550042c gnrc_ipv6_nib_6ln: only register addresses not VALID yet
With the previous fix, we only have to register addresses that are not
VALID yet on reception of router advertisements. This removes the need
for the hacky `GNRC_NETIF_FLAGS_6LO_ADDRS_REG` flag that was only
introduced to prevent unnecessary re-registration.
2018-02-19 14:39:29 +01:00
Martine Lenders
8c8b6f9494 gnrc_ipv6_nib_6ln: do not mark non-link-local directly VALID
The whole address registration looses its point if all addresses are
marked valid from the get-go. With this fix non-link-local addresses
are first marked TENTATIVE and only after successful registration
marked as VALID. Link-local addresses are assumed to always be VALID.
2018-02-19 14:38:27 +01:00
Joakim Nohlgård
73c11a366c
Merge pull request #8430 from smlng/gcc7/ignore_fallthroughs
make: ignore fallthroughs errors with GCC 7.x
2018-02-19 11:04:16 +01:00
e2b6d6b89a
Merge pull request #8584 from miri64/gnrc_sock/fix/err-report-ptr
gnrc_sock: make sock compilable with gnrc_neterr
2018-02-19 09:51:09 +01:00
Martine Lenders
2621a57362 gnrc_sock: make sock compilable with gnrc_neterr
gnrc_sock currently does not compile with `gnrc_neterr` included, since
both `msg_try_receive()` and `msg_try_send()` expect a *pointer* to a
`msg_t`, not a `msg_t`.

To test, just compile an application using `gnrc_sock` (e.g.
`examples/gcoap`) with `USEMODULE+=gnrc_neterr`.
2018-02-17 13:53:38 +01:00
Ken Bannister
81ecd37a5e net/gcoap: fix sock send return type 2018-02-17 06:20:38 -05:00
Martine Lenders
3a8695bd0c gnrc_ipv6_nib: only discard RAs without ABROs on 6LR
[RFC6775] only talks of *routers* processing router advertisements,
with regards of discarding them if they do not contain an ABRO.

Additionally, this change makes configuration of tests setups a lot
easier, where one note is a router distributing a prefix and the other
is a host to be configured with the RA. Just do the following on the
router:

```
> ifconfig <if> add <GUA>
> ifconfig <if> rtr_adv
```

e voilà! In current master both nodes would have needed to be compiled
with `GNRC_IPV6_NIB_CONF_MULTIHOP_P6C=0`.

[RFC6775]: https://tools.ietf.org/html/rfc6775#section-8.1.3
2018-02-15 14:40:33 +01:00
Daniel Krebs
cbc9121ad4 gnrc/netif: fix source address selection for non-matching prefixes
According to RFC 6724 ch. 5 rule 8, the source address candidate with
the longest matching prefix has to be selected. The current
implementation discards source addresses that have no matching prefix
(`match = 0`) which is perfectly fine for any global address.
2018-02-08 13:46:46 +01:00
smlng
c178ea8798 gnrc/netreg: remove gnrc_netreg_num 2018-02-06 21:41:19 +01:00
smlng
c2b403f4ad gnrc/netreg: remove usages of gnrc_netreg_num 2018-02-06 21:39:58 +01:00
smlng
573b6dc98a gnrc/netreg: optimize lookup and getnext 2018-02-06 21:37:39 +01:00
jia200x
c61c44a1ae
Merge pull request #8374 from Hyungsin/forupstream_radio_ackpending
driver/at86rf2xx: add an option for auto-ack with the pending bit
2018-02-06 14:15:40 +01:00
Martine Lenders
d4661af4c8 gnrc: 6Lo fixes for BLE 2018-02-05 22:34:31 +01:00
Martine Lenders
51ae9d9c87 nordic_softdevice_ble: fixes for gnrc_netif usage 2018-02-05 22:34:11 +01:00
ab1d02bc8c
Merge pull request #8499 from miri64/gnrc_icmpv6_echo/fix/loopback
gnrc_icmpv6_echo: fix ping for loopback
2018-02-05 11:02:57 +01:00
Sören Tempel
cfe0143eec gnrc_netif: Fix out-of-bounds buffer access in ieee802154 netif 2018-02-03 13:08:59 +01:00
aa52f5334b sys/net/gcoap: adapt to resource context ptr 2018-02-02 19:01:58 +01:00
0729259390 nanocoap: add context ptr to coap_resource_t 2018-02-02 18:54:29 +01:00
Hyungsin
f52efef0d5 netopt: Add NETOPT_ACK_PENDING 2018-01-31 11:58:48 -08:00
Martine Lenders
12fad002da gnrc_icmpv6_echo: fix ping for loopback
At the moment ping is crashing if one pings the loopback address.
This was caused in #8214 when we moved interfaces from `kernel_pid_t`
ID to pointer-based handling, since loopback doesn't evaluate to such
an interface.
2018-01-31 15:46:52 +01:00
Martine Lenders
c40a05b6a8 gnrc: fix link-layer/IPv6 address conversion for XBee 2018-01-31 10:54:28 +01:00
Martine Lenders
f1f079fb0e
Merge pull request #8480 from miri64/gnrc_ipv6_nib/fix/fix-conv
gnrc_ipv6_nib: ignore corner case when adding to PL
2018-01-30 13:52:15 +01:00
Martine Lenders
8e80a372cb gnrc_ipv6_nib: ignore corner case when adding to PL
In #8135 the handling of corner cases for the conversion of
milliseconds to seconds, but the internal handling was not adapted.
2018-01-30 12:28:50 +01:00
Sebastian Meiling
0abbd9db8f
Merge pull request #8439 from smlng/net/gnrc/netreg/fix_assert
gnrc/netreg: fix assert
2018-01-29 16:46:19 +01:00
Martine Lenders
763b887017 gnrc_ipv6_nib: release packages for forwarding error cases 2018-01-26 17:35:57 +01:00
Martine Lenders
70c1fb7b4e gnrc_ipv6_nib: fix final RA behavior
This fix

* assures that the periodicity of the final router advertisements is
  kept (so that no administrative change e.g. adding prefixes to the
  prefix list causes additional RAs outside the rate limitation)
* removes all administrative options (PIO, ABRO, 6CO) from final router
  advertisements (with router lifetime == 0)
2018-01-26 13:57:19 +01:00
smlng
321067b99f gnrc/netreg: remove unnecessary DEVELHELP condition 2018-01-25 17:01:10 +01:00
smlng
b3fde3429c gnrc/lwmac: ignore implicit fallthrough error by GCC 7 2018-01-24 22:07:01 +01:00
smlng
15f73e76ad gnrc/gomach: ignore implicit fallthrough error by GCC 7 2018-01-24 22:06:51 +01:00
Martine Lenders
d0140a9ec8
Merge pull request #8380 from miri64/gnrc_netif/enh/6lo-nrfmin
gnrc_netif: set-up 6Lo for NRFmin
2018-01-23 11:17:29 +01:00
Martine Lenders
6cabac3600 gnrc_ipv6_nib: add reverse-translation for NRFmin 2018-01-22 16:15:30 +01:00
Sebastian Meiling
3bb169307b
Merge pull request #8364 from smlng/osx/debug/fix_output
macOS: fix debug output
2018-01-22 15:14:48 +01:00
Martine Lenders
851eb767be gnrc_netif: set-up 6Lo for NRFmin 2018-01-18 13:00:25 +01:00
3f990480d1
Merge pull request #7162 from kb2ma/nanocoap/msgid_byte_order
nanocoap: fix byte order of request message ID, and add test application
2018-01-17 22:59:07 +01:00
d27fa8efa5
Merge pull request #8214 from miri64/gnrc_ipv6/enh/simplify-netif-access
gnrc_ipv6: gnrc_icmpv6: simplify access to network interfaces
2018-01-17 17:02:55 +01:00
Martine Lenders
7c0bb427fa gnrc_ipv6: gnrc_icmpv6: simplify access to network interfaces 2018-01-17 16:48:58 +01:00
smlng
65b99c994d gnrc/sixlowpan: fix format error in debug output 2018-01-17 15:25:15 +01:00
smlng
026bc281ae gnrc/netif: fix format error in debug output 2018-01-17 15:25:15 +01:00
Sebastian Meiling
50f3d6a427
Merge pull request #7337 from kb2ma/gcoap/confirm_piggy_client
net/gcoap: Confirmable request with piggybacked ACK response
2018-01-16 20:35:32 +01:00
Sebastian Meiling
0d1f40393f
Merge pull request #8362 from beduino-project/gcoap-check-for-ndebug
gcoap: check if NDEBUG is defined
2018-01-16 13:18:41 +01:00
Ken Bannister
4223de6b8b net/gcoap: automate retries for confirm timeout 2018-01-16 06:37:29 -05:00
Sören Tempel
89edc437d5 gcoap: remove the #ifdef DEVELHELP
To make sure the cf variable doesn't trigger an `unsed variable` warning
when compile with `-DNDEBUG`.
2018-01-16 11:06:28 +01:00
Ken Bannister
d5e4da74bf net/gcoap: improve validation of incoming message 2018-01-15 23:21:05 -05:00
Ken Bannister
4062b1f660 net/gcoap: populate confirm request attributes
Also, create resend_bufs array to store PDU for resend.
2018-01-15 23:21:05 -05:00
7b72f623d2 gnrc: netif2: DEBUG fixes 2018-01-15 14:37:05 +01:00
12d4254ae1 gnrc: nib: DEBUG fix 2018-01-15 14:37:05 +01:00
fd884c2d05 gnrc: rpl: DEBUG fix 2018-01-15 14:37:05 +01:00
af991deeb2 sys: net: gcoap: DEBUG fixes 2018-01-15 14:37:04 +01:00
56b8c55f1a gnrc: mac: DEBUG fix 2018-01-15 14:37:04 +01:00
35ea251516 gnrc: lwmac: DEBUG fix 2018-01-15 14:37:04 +01:00
8a74210b31 gnrc/netapi: DEBUG fix 2018-01-15 14:37:04 +01:00
4dba9ee6ba sys: net: adapt to compile-checked debug messages 2018-01-15 14:37:04 +01:00
Ken Bannister
c9b6e990f7 net/nanocoap: message ID received in host order 2018-01-12 05:58:52 -05:00
Martine Lenders
4013adcf65
Merge pull request #8277 from miri64/doc/fix/must-not-may-not-wording
doc: Fix 'must not'/'may not' wording
2018-01-10 20:34:17 +01:00
Martine Lenders
e888e47a0c
Merge pull request #8325 from miri64/gnrc_netif/enh/add-nrfmin-iid
gnrc_netif: add nrfmin IID support
2018-01-05 13:29:19 +01:00
Martine Lenders
c6833704dc gnrc_netif: add nrfmin IID support
Adds a `nrfmin` case to IID generation, so an IID can be generated
from a `nrfmin` device's (short) address (the long address is just
4-time repetition of the short address).
2018-01-05 13:06:35 +01:00
Martine Lenders
3a493436ba gnrc_netif: generalize IID generation for short addresses
Moves setting of addresses of length lesser than 3 to a function that
initializes the first 5 byte of the IID with `00:00:00:ff:fe` and then
fills up the rest with zeroes and the given short address.
2018-01-05 13:06:35 +01:00
Martine Lenders
cee9a9c173 gnrc_ipv6_nib: fix nrfmin module check
The module is called `nrfmin` not `netdev_nrfmin`. As such this compile
path was never included, even if the `nrfmin` module was present.
2018-01-05 10:40:25 +01:00
Sören Tempel
35fea645c1 gcoap: return Method Not Allowed if appropriate 2017-12-26 18:17:45 +01:00
Martine Lenders
ac99782d53
Merge pull request #8279 from zhuoshuguo/gnrc_gomach_add_allo_slot_limit
gnrc_gomach: add flexible number limit for allocating slots.
2017-12-19 12:33:02 +01:00
17ac0fa3a7
Merge pull request #8101 from miri64/gnrc_netif2/opt/flag-checkers
gnrc_netif: assume flag settings on compile time
2017-12-19 12:10:25 +01:00
Martine Lenders
7b5a42ba58
gnrc_netif: assume flag settings on compile time 2017-12-19 12:04:36 +01:00
zhuoshuguo
0c53762a1f gnrc_gomach: address comment. 2017-12-19 11:37:48 +01:00
smlng
800345b17e net: fix output in gnrc_pktdump for ccnl 2017-12-19 10:37:05 +01:00
zhuoshuguo
a98c3f0d31 gnrc_gomach: add number limit for allocated slots. 2017-12-19 10:18:51 +01:00
Martine Lenders
2e93ba1c50
doc: Fix 'must not'/'may not' wording
I applied the following terminology and changed the wording in the doc
accordingly:

* must not: If the parameter is of the value it *must not* be it either
  hits an assert or crashes the system.
* may not: The value can be that value, but the function will return an
  error.
2017-12-19 09:00:12 +01:00
Martine Lenders
8a058d32f9
gnrc_netif: pass up returned error of internal function
If there is no space left on the interface, a user should be notified
about that when using `gnrc_netapi_set()`
2017-12-18 17:01:17 +01:00
3a572d82cd
Merge pull request #8252 from miri64/gnrc_netif/api/rename-ipv6_addr
gnrc_netif: rename IPv6 address "setters"
2017-12-18 17:00:31 +01:00
Sebastian Meiling
c24e87e47d
Merge pull request #8250 from kb2ma/gcoap/remote_in_request
net/gcoap: Track remote endpoint for all requests
2017-12-18 13:17:27 +01:00
Ken Bannister
062bc15f00 net/gcoap: Track remote endpoint for all requests 2017-12-18 06:24:58 -05:00
5cf71e3096 sys/net/netopt: add NETOPT_CHANNEL_FREQUENCY option 2017-12-14 15:01:09 +01:00
PeterKietzmann
70810ae697 sys/netif: include release of iovec in gnrc_netif_raw 2017-12-13 17:29:10 +01:00
PeterKietzmann
6295e4a7c9 sys/netif: add missig pkt release in gnrc_netif_raw 2017-12-13 15:44:39 +01:00
Martine Lenders
2ae30cf582 gnrc_netif: rename IPv6 address "setters"
This renames the following functions

* `gnrc_netif_ipv6_addr_add()`
* `gnrc_netif_ipv6_addr_remove()`
* `gnrc_netif_ipv6_group_join()`
* `gnrc_netif_ipv6_group_leave()`

by appending the suffix `_internal`.

\## Reasoning

I'd like to provide a helper function for the *public* equivalent using
`gnrc_netapi_set()`, and those names are to nice to not be taken for
those.

\## Procedure
I used a combination of `git grep` and `sed` to do this and fixed the
alignment in the result of some cases by hand.

```sh
git grep --name-only "\<gnrc_netif_ipv6_\(addr\|group\)_\(add\|remove\|join\|leave\)\>" | \
        xargs sed -i 's/\<gnrc_netif_ipv6_\(addr\|group\)_\(add\|remove\|join\|leave\)/\0_internal/g'
```
2017-12-13 13:50:39 +01:00
zhuoshuguo
cebc995ec3 gnrc_gomach: add sender ID number limit in beacon packet. 2017-12-11 11:31:39 +01:00
400dccfaa1 sys/net/netopt: remove unused NETOPT_DEVICE_MODE 2017-12-09 20:06:57 +01:00
Martine Lenders
7745060ad9
Merge pull request #8209 from bergzand/pr/netifeth_oddebug
gnrc_netif: Fix compile errors when debug is enabled
2017-12-05 16:28:22 +01:00
039bdf2aa6
gnrc_netif: Fix debug printing in ieee802154 2017-12-05 14:49:48 +01:00
ef8222e4bd
gnrc_netif: Include od when debugging 2017-12-05 14:48:02 +01:00
Martine Lenders
5bdf3670e3
gnrc_ipv6: fix packet snip switch-up 2017-12-05 12:57:50 +01:00
3367840fa2 sys/net/nanocoap: use submodules 2017-12-01 12:55:45 +01:00
84bc849014 sys: net: nanocoap: ignore Uri-Host option 2017-12-01 12:55:45 +01:00
16bdbe5d32 sys: net: add nanocoap 2017-12-01 12:55:44 +01:00
Sebastian Meiling
73d9c460d3
Merge pull request #7336 from kb2ma/gcoap/confirm_infrastructure
net/gcoap: Create confirm request infrastructure and adapt existing messaging
2017-12-01 11:18:24 +01:00
0d85186653
Merge pull request #8180 from miri64/gnrc_netdev/cleanup/rm
gnrc_netdev: remove remaining files and references
2017-11-30 20:05:17 +01:00
Martine Lenders
5a0e9bcca4 gnrc_netdev: remove remaining files and references
Somehow, these files were forgotten in my big cleanup in #7925. This
fixes that.
2017-11-30 19:49:40 +01:00
zhuoshuguo
ea5aeeb10f gomach: a robust traffic adaptive multichannel MAC for IoT. 2017-11-30 18:51:49 +01:00
Cenk Gündoğan
06782c4721
Merge pull request #8173 from bergzand/pr/gnrc_uhcpc_rpl
gnrc_uhcpc: initialize rpl root on prefix configuration
2017-11-30 13:15:49 +01:00
2ba110d8f7
gnrc_uhcpc: initialize rpl root on prefix configuration 2017-11-30 13:08:55 +01:00
Sebastian Meiling
8f7de7c2fe
Merge pull request #8179 from miri64/gnrc_ipv6_nib/api/NULL-l2addr
gnrc_ipv6_nib: Allow l2addr == NULL for gnrc_ipv6_nib_nc_set()
2017-11-29 21:07:39 +01:00
zhuoshuguo
e6409f025f gnrc_lwmac: include lwmac headers when LWMAC defined. 2017-11-29 17:29:26 +01:00
Martine Lenders
7d20a80ba8
gnrc_ipv6_nib: Allow l2addr == NULL for gnrc_ipv6_nib_nc_set() 2017-11-29 17:26:45 +01:00
Peter Kietzmann
eb2c0e29ab
Merge pull request #8155 from RIOT-OS/revert-8009-revert-7238-pr_sc_ccnl_chunkdump
Revert "Revert "shell/ccnl: remove use of ccnl_wait_for chunk()""
2017-11-28 21:36:38 +01:00
smlng
b283b7784c make: fix various compile errors with Wextra
pkg, nordic_softdevice_ble: disable CFLAGS to omit compiler error
        sys, pm_layered: fix casting nonscalar to the same type
        cpu, stm32_common: fix type-limits, remove always true assert
        cpu, stm32f4: fix pointer arithmetic in periph/i2c
        drivers, at86rf2xx: fix type-limits where condition always true
        saul, gpio: fix if no gpio configured for saul
        cpu, saml21: add frequency check to periph/timer
        driver, cc110x: fix unused param and type-limts errors
        boards, wsn430-common: fix old-style-declaration
        make: fix old style definition
        drivers, sdcard_spi: fix old style typedef
        driver, at30tse: remove unnecessary check
        driver, nrf24: fix type-limit
        driver, pn532: change buffer from char to uint8_t
        tests/driver_sdcard: fix type limits
        boards, feather-m0: add missing field inits
        driver, tcs37727: fix type limits
        pkg, emb6: disable some compiler warnings
        tests/emb6: disable some compiler warings
        pkg, openthread: fix sign compare and unused params
        tests/trickle: fix struct init
        tests/pthread_cooperation: fix type limits
        board, mips-malta: remove feature periph_uart
        shell: fix var size for netif command
        gnrc, netif: fix sign-compare
        gnrc, nib: fix sign-compare
        shell: fix output in netif command
        posix: fix type-limits in pthread_cond
2017-11-28 18:31:43 +01:00
smlng
aa6e1711d4 net, lwmac: cleanup, restructured code 2017-11-28 17:28:40 +01:00
smlng
e381317fbf make: fix sign-compare errors
cpu, nrf5x_common: fix sign-compare in periph/flashpage
    drivers, periph_common: fix sign-compare in flashpage
    cpu, sam0_common: fix sign-compare error in periph/gpio
    cpu, cc2538: fix sign-compare in periph/timer
    cpu, sam3: fix sign-compare in periph/gpio
    cpu, stm32_common: fix sign-compare in periph/pwm
    cpu, stm32_common: fix sign-compare in periph/timer
    cpu, stm32_common: fix sign-compare in periph/flashpage
    cpu, nrf5x_common: fix sign-compare in radio/nrfmin
    cpu, samd21: fix sign-compare in periph/pwm
    cpu, ezr32wg: fix sign-compare in periph/gpio
    cpu, ezr32wg: fix sign-compare in periph/timer
    drivers, ethos: fix sign-compare
    sys, net: fix sign-compare
    cpu, atmega_common: fix sign-compare error
    cpu, msp430fxyz: fix sign-compare in periph/gpio
    boards, msb-430-common: fix sign-compare in board_init
    driver, cc2420: fix sign-compared
    sys/net: fix sign-compare in gnrc_tftp
    driver, pcd8544: fix sign-compare
    driver, pn532: fix sign-compare
    driver, sdcard_spi: fix sign-compare
    tests: fix sign_compare
    sys/net, lwmac: fix sign_compare
    pkg, lwip: fix sign-compare
    boards, waspmote: make CORECLOCK unsigned long to fix sign_compare error
    tests, sock_ip: fix sign compare
    tests, msg_avail: fix sign compare
    tests, sock_udp: fix sign compare
    boards: fix sign-compare for calliope and microbit matrix
2017-11-28 11:55:48 +01:00
Martine Lenders
e65211db7d
Merge pull request #7195 from miri64/gnrc_pktbuf_malloc/feat/initial
gnrc_pktbuf_malloc: initial import of a malloc()-based pktbuf
2017-11-28 00:00:36 +01:00
Martine Lenders
a63bb6d47b
Merge pull request #6895 from bergzand/drivers/radio-rssi-conv
drivers/radios Apply register to rssi dBm conversion to all radios
2017-11-27 23:52:15 +01:00
fa64e93313 netdev: Represent RSSI as int16_t 2017-11-27 21:49:15 +01:00
Martine Lenders
e8531383d2
Revert "Revert "shell/ccnl: remove use of ccnl_wait_for chunk()"" 2017-11-27 21:40:54 +01:00
Martine Lenders
6db9e15485
Merge pull request #7346 from smlng/net/gnrc_tcp/use_push
gnrc tcp: use push flag in send
2017-11-27 21:24:45 +01:00
8a6d04ce52
Merge pull request #7925 from RIOT-OS/gnrc_netif2_integration/master
gnrc_netif2: gnrc_ipv6_nib: full integration into GNRC
2017-11-27 21:12:14 +01:00
Martine Lenders
a32a2a93e1 gnrc_ipv6_nib: add interface parameter to nc_del function 2017-11-27 20:32:27 +01:00
Martine Lenders
2f8223106b
gnrc_ipv6_nib: fix ms to sec conversion for sending NDP PIOs 2017-11-24 13:52:20 +01:00
Martine Lenders
973007ad38
gnrc_ipv6_nib: fix ltime > MAX / 1000 corner case in NDP PIOs as well 2017-11-24 13:52:19 +01:00
Martine Lenders
63cc5f6751
gnrc_rpl: fix corner cases in sec/ms conversion in prefix lifetimes
Two edge cases were previously missed:

1. Infinite should stay infinite. Prefixes with infinite lifetimes
   should be advertised as such. Likewise, should prefixes with
   infinite lifetimes be added to the prefix list as such
2. Prefixes with lifetimes > (UINT32_MAX - 1) / 1000 should have the
   longest possible lifetime below infinite (UINT32_MAX - 1)

This fixes that.
2017-11-24 13:45:26 +01:00
aff7d6ecd8
Merge pull request #8097 from miri64/gnrc_ipv6_nib/fix/reduce-unreachable-backoff
gnrc_ipv6_nib: reduce backoff if neighbor UNREACHABLE and trying reach to it
2017-11-24 01:05:55 +01:00
Martine Lenders
97b0db61ca gnrc_rpl: remove redundant iface variable 2017-11-24 00:20:32 +01:00
Martine Lenders
423fc74bd2 gnrc_rpl: fix check if DODAG-ID is on interface 2017-11-24 00:20:32 +01:00
Martine Lenders
279e19fe8a gnrc_rpl: properly handle prefix list 2017-11-23 22:56:55 +01:00
3979ffcf1b gnrc_rpl: Exclude routes without next hop from DAO packets 2017-11-23 19:29:07 +01:00
Martine Lenders
ec02458c55
gnrc_rpl: fix abandoned packet bug in transit option build
Due to the transit option build function being passed a NULL pointer,
the previous transit and target options are dropped (and never freed).

This fixes #8098 and #8126.
2017-11-23 18:43:36 +01:00
Martine Lenders
4476d340f0
gnrc_ipv6_nib: remove trailing semicolon in ARSM macro 2017-11-21 17:21:34 +01:00
Martine Lenders
5b747e2629
gnrc_ipv6_nib: cap-off NS sent to prefent overflows 2017-11-21 17:21:34 +01:00
Martine Lenders
168228ddc9
gnrc_ipv6_nib: do not try to re-register to an unreachable router 2017-11-21 17:21:33 +01:00
Martine Lenders
61b539abf9
gnrc_ipv6_nib: reduce backoff if neighbor UNREACHABLE and trying to it
When a neighbor becomes UNREACHABLE which causes neighbor solicitations
to be send only up to every minute. If the medium is very busy this can
easily get lost, basically causing the neighbor never to be reachable
again from the perspective of the sending node. To fix this the backoff
is reduced to its start value, every time a packet is sent to that
neighbor.
2017-11-21 11:38:45 +01:00
b561e84b7f
Merge pull request #8091 from miri64/gnrc_ipv6_nib/fix/rereg-retrans-unit
gnrc_ipv6_nib: fix retransmission timeout unit for address re-registration
2017-11-20 15:42:59 +01:00
e5cf4a5396
Merge pull request #8089 from miri64/gnrc_netif/fix/add-sol-nodes
gnrc_netif: join/leave solicited nodes IPv6 address add/remove
2017-11-20 14:35:49 +01:00
Martine Lenders
564d3c7581
gnrc_ipv6_nib: remove now duplicate join to sol. nodes 2017-11-20 14:22:55 +01:00
Martine Lenders
d4e60dae2e
gnrc_netif: join/leave solicited nodes IPv6 address add/remove 2017-11-20 14:22:55 +01:00
Martine Lenders
10b74740eb
gnrc_netif: fix GNRC_NETAPI_GET of arrays
The target array currently moves with the loop instead of with the
results. This fixes that.
2017-11-20 14:18:09 +01:00
Martine Lenders
8c4eb43701
gnrc_ipv6_nib: fix retrans. timeout unit for address re-registration 2017-11-20 13:52:37 +01:00
Martine Lenders
12261a3e69 gnrc_ipv6_nib: Remove stray assert() in _handle_aro()
This assertion doesn't make any sense. The function is called by
_copy_and_handle_aro() on a router which causes `nce` to be NULL
(because there is no NCE known yet) and then the function called
directly after (_reg_addr_upstream()) checks if `nce` might be NULL and
creates an NCE if necessary.
2017-11-20 06:41:08 +01:00
Cenk Gündoğan
de5e0c677f gnrc_netif: fix DEBUG output 2017-11-20 00:35:17 +01:00
Cenk Gündoğan
3be5c9fdf3 nib: use correct fall through hint 2017-11-20 00:35:17 +01:00
Cenk Gündoğan
5b5c479043 rpl: replace fib with nib 2017-11-20 00:35:17 +01:00
Martine Lenders
2a899c45ac gnrc_ipv6_nib: make user added default route the primary one 2017-11-19 23:36:20 +01:00
Martine Lenders
e7bb0ed67f
gnrc_uhcpc: adapt for route lifetime 2017-11-17 13:44:18 +01:00
Martine Lenders
f62974207d
gnrc_ipv6_nib: add timeouts to routes 2017-11-17 13:43:18 +01:00
Martine Lenders
fb5851dde4
gnrc_ipv6_nib: actually timeout a default router
While the GNRC_IPV6_NIB_RTR_TIMEOUT is properly handled, it is actually
never fired. Moreover, the router lifetime is set, but never read.

This removes the router lifetime and switches it out for an evtimer
to does the GNRC_IPV6_NIB_RTR_TIMEOUT event.
2017-11-17 11:43:32 +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
636ef2a498
gnrc: remove legacy neighbor discovery code 2017-11-17 09:20:30 +01:00
Martine Lenders
71a7dbf918
gnrc: remove legacy network interface structures 2017-11-17 09:20:29 +01:00
Martine Lenders
bf8465c650
Merge pull request #7479 from miri64/gnrc_ipv6_nib/feat/ndp-rd
gnrc_ipv6_nib: implement behavior for router discovery
2017-11-16 16:35:21 +01:00
Martine Lenders
ccb8462d94
gnrc_sixlowpan_nd: adapt for NIB 2017-11-16 15:49:21 +01:00
Martine Lenders
319c0f9d21
gnrc_ipv6_nib: implement behavior for router discovery 2017-11-16 15:49:20 +01:00
Martine Lenders
fbb70315cb
lwmac: fix issues reported by cppcheck 2017-11-16 15:07:08 +01:00
Martine Lenders
62a1f0848f
gnrc_netif2: make more complexer functions not inline 2017-11-16 14:44:23 +01:00
Martine Lenders
90549108ca
gnrc_ipv6_nib: add exception in address resolution for SLIP 2017-11-15 20:03:30 +01:00
Martine Lenders
852cb5a791
gnrc_netif2: adapt setting of maximum packet size for slipdev 2017-11-15 16:19:15 +01:00
Martine Lenders
6038a7d3a5
gnrc_netif2: provide raw adaption layer (for e.g. SLIP) 2017-11-14 13:40:51 +01:00
Martine Lenders
01c21fa274
tests: make gnrc_ipv6_ext test compilable with gnrc_netif2
Test currently not working
2017-11-13 16:36:34 +01:00
Martine Lenders
c6428698b4
Revert "shell/ccnl: remove use of ccnl_wait_for chunk()" 2017-11-11 19:34:52 +01:00
Martine Lenders
b83bc1b763
Merge pull request #7456 from miri64/gnrc_ipv6_nib/feat/port-to-gnrc_netif2
gnrc_ipv6_nib: port to gnrc_netif2
2017-11-11 19:10:14 +01:00
Peter Kietzmann
69fe566a18 shell/ccnl: remove use of ccnl_wait_for chunk() 2017-11-10 15:27:47 +01:00
Ken Bannister
37f272bf2c net/gcoap: Refactor lookup for outstanding request
Add support for a confirmable request and standardize token match.
2017-11-10 06:54:38 -05:00
Ken Bannister
70be8cd5bb net/gcoap: Update copyright for 2017 2017-11-10 06:54:38 -05:00
Ken Bannister
0e93566814 net/gcoap: Update request memo struct for a confirmable request 2017-11-10 06:54:38 -05:00
Martine Lenders
72db5e48f0 gnrc_ipv6_nib: fix for 'holey' NIB
When there are holes in the NIB (e.g. when entries were removed)
currently the NIB crashes the system due to a failed assertion
(`DEVELHELP` needs to be activated to test this behavior).

This fixes this behavior by making the assertion a check that is always
compiled in.
2017-11-09 15:28:56 +01:00
Martine Lenders
a7d2c65b36
gnrc_ipv6_nib: port to gnrc_netif2 2017-11-08 20:18:53 +01:00
Martine Lenders
c3141c46b6
gnrc_ndp2: port to gnrc_netif2 2017-11-08 20:18:53 +01:00
Martine Lenders
89ec411b79
Revert "gnrc_uhcpc: fix dependencies" 2017-11-08 19:23:39 +01:00
Martine Lenders
78985b4db2
gnrc_uhcpc: fix dependencies
\#7721 showed, that `posix` is required to include the `arpa/inet.h`
header into the include path of an application using the `uhcpc`
module.

Additionally this PR makes the FIB an optional dependency of
`gnrc_uhcpc`.

Backport of #7722
2017-11-08 14:49:53 +01:00
Martine Lenders
867aff211f
Merge pull request #7935 from zhuoshuguo/gnrc_lwmac_adjust_csma_flag
gnrc_lwmac: adjust error use of csma flag for transmit packet.
2017-11-07 23:13:44 +01:00
Martine Lenders
861035f22d gnrc: integrate gnrc_netif2
Not link-able, since NDP and NC are missing (intentionally)
2017-11-07 19:08:44 +01:00
Martine Lenders
b1e69a776f
Merge pull request #7910 from x3ro/fix-gnrc-ipv6-nib-test-on-macos
tests/gnrc_ipv6_nib: Fix unused function error w/ clang/macOS
2017-11-07 18:16:55 +01:00
Lucas Jenss
069849f002 WIP tests/gnrc_ipv6_nib: Fix unused function error w/ clang/macOS
In the case that GNRC_IPV6_NIB_CONF_ARSM is set but
GNRC_IPV6_NIB_CONF_6LN is not, clang complains about
the function _get_l2addr_from_ipv6 never being used.
I couldn't easily figure out why this passes in Murdock,
but I'm guessing that clang is simply being smarter than
GCC. Can someone comment on whether there is a better fix
for this?

Relates to #6473
2017-11-07 17:35:42 +01:00
Lucas Jenss
4bb12ba091 tests/gnrc_ipv6_nib_6ln: Fix error w/ clang on macOS
_is_reachable is only used when GNRC_IPV6_NIB_CONF_ARSM
is enabled, and as such it must be guarded so that clang
doesn't complain about a unused function in case
GNRC_IPV6_NIB_CONF_ARSM is not set

Similar to #7910
Relates to 6473
2017-11-07 17:33:15 +01:00
Martine Lenders
f8c2078f94
gnrc_pktbuf_static: assert that users > 0 on release 2017-11-06 15:27:44 +01:00
Martine Lenders
046f30b918
Merge pull request #7722 from miri64/gnrc_uhcpc/fix/dep
gnrc_uhcpc: fix dependencies
2017-11-06 11:21:55 +01:00
zhuoshuguo
6c57999b2b gnrc_lwmac: adjust use of error CSMA flag for packet transmit. 2017-11-03 18:52:01 +01:00
c02ee081d9
Merge pull request #7174 from miri64/gnrc_sock/fix/return-EINVAL-for-inval-sock
sock: specify invalid parameter error
2017-11-02 17:30:35 +01:00
zhuoshuguo
c554d30b26 gnrc_lwmac: port to gnrc_netif2. 2017-11-01 15:40:47 +01:00
Martine Lenders
cb2a968a35
gnrc_uhcpc: fix dependencies
\#7721 showed, that `posix` is required to include the `arpa/inet.h`
header into the include path of an application using the `uhcpc`
module.

Additionally this PR makes the FIB an optional dependency of
`gnrc_uhcpc`.
2017-10-13 12:13:47 +02:00
Francisco Acosta
a82930cf60 Merge pull request #7381 from miri64/slipdev/api/slip-port-to-netdev
slip: port to be used with netdev
2017-10-10 23:23:01 +02:00
Martine Lenders
b74ee8869b slip: port to be used with netdev 2017-10-10 23:14:12 +02:00
Martine Lenders
1d8dcae686 gnrc_netif2: add IEEE 802.15.4 support 2017-10-10 23:11:54 +02:00
Martine Lenders
3929550ea3 gnrc_netif2: make gnrc_netif2_create idempotent and crash on error 2017-10-10 21:17:32 +02:00
Lucas Jenss
6998ffbb14 cppcheck: Provide consistent reason formatting for all cppcheck-suppresses 2017-10-10 10:25:20 -07:00
Cenk Gündoğan
814dc95553 Merge pull request #7703 from miri64/gnrc_ipv6_nib/fix/return-ar-state
gnrc_ipv6_nib: return registration state on upstream registration
2017-10-10 11:35:47 +02:00
Martine Lenders
eb76e8034d
gnrc_ipv6_nib: return registration state on upstream registration
The function `_update_nce_ar_state()` was introduced during the review
of \#7424, but it's return value never used, causing faulty behavior.
2017-10-10 11:06:47 +02:00
Martine Lenders
0b80c7ed17
gnrc_netif2: Introduction of a new GNRC network interface API 2017-10-10 10:36:28 +02:00
Martine Lenders
6a7de28cd1
gnrc: integrate NIB for testing 2017-10-10 10:12:19 +02:00
Martine Lenders
1b36cdf79e
nib: implement public NIB functions up to link-local AR 2017-10-10 10:12:19 +02:00
Martine Lenders
d8acdc9d2d gnrc_ipv6_nib: add forwarding table component 2017-10-06 23:01:10 +02:00
Martine Lenders
0b2bc25ee0 gnrc_ipv6_nib: provide component to handle ABRO 2017-10-06 22:09:53 +02:00
Cenk Gündoğan
080590f587 Merge pull request #7222 from miri64/gnrc_ipv6_nib/feat/pl-component
gnrc_ipv6_nib: add prefix list component
2017-10-06 15:42:39 +02:00
Martine Lenders
3685fa02ae
gnrc_ipv6_nib: add prefix list component 2017-10-06 15:35:40 +02:00
Cenk Gündoğan
43283ef16b Merge pull request #7064 from miri64/gnrc_ndp2/api/initial
gnrc_ndp2: Provide GNRC abstraction layer for NIB for sending
2017-10-06 13:33:36 +02:00
Martine Lenders
08447ed51e
gnrc_ndp2: Provide GNRC abstraction layer for NIB for sending 2017-10-06 12:11:05 +02:00
Cenk Gündoğan
c3d3e7d024 Merge pull request #7212 from miri64/gnrc_ipv6_nib/feat/internal-offl
gnrc_ipv6_nib: provide internal implementation for off-link entries
2017-10-06 12:02:43 +02:00
Cenk Gündoğan
11baf130a3 Merge pull request #6988 from miri64/gnrc_ipv6_nib/feat/nc-component
gnrc_ipv6_nib: add neighbor cache component
2017-10-06 11:57:46 +02:00
Martine Lenders
f249c0c2a0
gnrc_ipv6_nib: provide internal implementation for off-link entries 2017-10-06 11:50:59 +02:00
Martine Lenders
4df88c89bf
gnrc_ipv6_nib: add neighbor cache component 2017-10-06 11:33:12 +02:00
Joakim Nohlgård
43a15440cb netopt: Add NETOPT_MAC_NO_SLEEP 2017-09-24 10:28:40 +02:00
035d266d49 makefile: indentation cleanup 2017-09-22 12:00:47 +02:00
e7df513567 gcoap: fix resource separator inserting 2017-09-20 11:33:15 +02:00
smlng
d4e95d987b doc: fix typos 2017-09-06 08:49:05 +02:00
Joakim Nohlgård
065bc62e0a netdev: Make set() value parameter const void * 2017-08-25 13:41:19 +02:00
426e978972 rpl: Sort list of parents 2017-08-22 16:03:16 +02:00
Martine Lenders
9ea1c6e7c8 Merge pull request #7481 from gebart/pr/netopt-csma-be
netopt: add NETOPT_CSMA_MINBE, NETOPT_CSMA_MAXBE
2017-08-17 20:03:34 +02:00
Joakim Nohlgård
b5984d2855 Merge pull request #7447 from bergzand/netopt/tx-retries
netopt: Add option for retrieving number of retransmissions
2017-08-17 17:25:58 +02:00
c33eb2b277 netopt: add NETOPT_TX_RETRIES_NEEDED 2017-08-17 16:47:20 +02:00
Joakim Nohlgård
83ab722e22 netopt: Add NETOPT_CSMA_MAXBE, NETOPT_CSMA_MINBE 2017-08-17 16:37:19 +02:00
Joakim Nohlgård
8415c4eebc gnrc_icmpv6: Clean up redundant conditional debug statement 2017-08-09 16:27:30 +02:00
Hauke Petersen
8908cebe42 net/gcoap: renamed source folder s/coap/gocap/ 2017-08-08 16:39:48 +02:00
Hauke Petersen
8f577eca4c net/gcoap: add Uri-Query handling for requests 2017-08-08 16:22:05 +02:00
Hauke Petersen
32ab8cf724 net/gcoap: expose creation of resource list to API
Creating the resource list is useful outside the /.well-known/core
handler, e.g. for the registration to resource directories.
2017-08-08 16:00:15 +02:00
Hauke Petersen
2290a9f69b net/gcoap: added remote sock ep to resp handler cb
When receiving a response to a request send our earlier, it is in
some cases essential, to know something about who send the reponse.
This is needed for example when sending requests to multicast
addresses to be able to react to different incoming responses.
2017-07-31 11:11:06 +02:00
Hauke Petersen
36322e95b7 net/gcoap: collection of simple fixes (#7413)
* net/gcoap: fixed request state when getting a resp

The request state should be set to GCOAP_MEMO_RESP before calling
the response handler in case we actually go a response...

* net/gcoap: make test for 0.00 code more efficient

This optimization saves the computation of the code and compares
the raw field to `0`.
2017-07-28 14:15:17 +02:00
Tobias Heider
3b5860451c gnrc/sock: fix fallthrough warning (#7403)
* gnrc/sock: fix fallthrough warning

* gnrc/sock: added spaces around "Fall Through."
2017-07-25 21:12:30 +02:00
Martine Lenders
475e2bdc82 gnrc_pktbuf_malloc: initial import of a malloc()-based pktbuf
The main motivation for this is to valgrind the network stack.
2017-07-15 17:54:47 +02:00
Martine Lenders
d9bb94eff8 Merge pull request #7183 from miri64/gnrc_pktbuf/enh/fix-common-module
gnrc_pktbuf: move common auxiliary functions to common module
2017-07-15 17:07:26 +02:00
smlng
3783f0e98b gnrc tcp: use push flag in send 2017-07-10 16:44:55 +02:00
b80c249d2c sys/netopt: add new enum types for LoRa 2017-06-30 18:59:49 +02:00
Hauke Petersen
91ff52a897 net/emcute: use size_t for length comparisons 2017-06-28 22:52:34 +02:00
Hauke Petersen
ae367e5537 net/emcute: check value of length field before use 2017-06-28 22:51:39 +02:00
Sebastian Meiling
9ce9dd601c Merge pull request #6554 from zhuoshuguo/lwmac_retry
LWMAC:  A simple duty cycling 802.15.4 MAC protocol (2nd try).
2017-06-26 12:50:44 +02:00
e71bf07a68 Merge pull request #7223 from kb2ma/gcoap/confirm_piggy_server
net/gcoap: Provide piggybacked ACK response to confirmable request
2017-06-24 21:47:37 +02:00
Ken Bannister
7c0374b975 Reject incoming empty message type as not handled yet 2017-06-22 12:57:34 -04:00
zhuoshuguo
e5d8dde920 gnrc_priority_queue: updated coding style. 2017-06-22 11:36:55 +02:00
Ken Bannister
19ba56b96f net/gcoap: Add server piggybacked ACK response to a CON request 2017-06-21 22:47:08 -04:00
zhuoshuguo
a54655890e LWMAC: a simple duty cycling 802.15.4 MAC protocol. 2017-06-21 16:40:04 +02:00
b70a4885f4 Merge pull request #7203 from zhuoshuguo/fix_gnrc_mac_coding_style
gnrc_mac: update coding style.
2017-06-21 15:02:39 +02:00
zhuoshuguo
83e1385683 gnrc_mac: updated coding style. 2017-06-19 10:15:41 +02:00
Ken Bannister
aa2f97c80f net/gcoap: Protect update to open requests with mutex. 2017-06-18 06:29:43 -04:00
Ken Bannister
24b21dbfbc net/gcoap: Protect message ID state with atomic updates.
Also changed semantics for storage of message ID, from last ID to next ID.
This change provides idiomatic use of the return value of the atomic
function, without other side effects on gcoap.
2017-06-18 06:16:15 -04:00
Martine Lenders
f51e4ca767
fixup! gnrc_pktbuf: move common auxiliary functions to common module 2017-06-15 15:15:02 +02:00
Martine Lenders
b32200e3ad gnrc_ipv6_nib: fix caching mechanism of neighbor cache 2017-06-15 11:40:46 +02:00
Martine Lenders
d8336c38b6
gnrc_pktbuf: move common auxiliary functions to common module
The packet buffer was originally designed to have a replaceable
back-end. This is why the actual module is called `gnrc_pktbuf_static`.
However, since than some auxiliary functions snuck into the static
back-end, which should go into the common module (which is a
pseudo-module at the moment).

This fix makes the `gnrc_pktbuf` pseudo-module an actual module and
moves the auxiliary functions to that module.
2017-06-14 12:24:56 +02:00
Martine Lenders
ce0d81c5c8
sock: specify invalid parameter error 2017-06-12 13:54:55 +02:00
Cenk Gündoğan
72c3c9cf6a Merge pull request #6325 from miri64/gnrc_ipv6_nib/feat/internal
gnrc_ipv6_nib: initial import of internal NIB functions
2017-06-09 22:05:47 +02:00
Martine Lenders
e92f97cb12 gnrc_ipv6_nib: initial import of internal NIB functions 2017-06-09 21:52:37 +02:00
Martine Lenders
0b42721511 Merge pull request #7155 from zhuoshuguo/gnrc_mac_use_csma_sender
gnrc_mac: use csma_sender API when needed for csma transmission
2017-06-09 17:48:37 +02:00
zhuoshuguo
7565cd1d10 gnrc_mac: use software csma when needed. 2017-06-09 16:45:24 +02:00
Martine Lenders
1a4c01a912 Merge pull request #7138 from gebart/pr/netopt-ed-level
netopt: Add NETOPT_LAST_ED_LEVEL
2017-06-09 10:34:33 +02:00
BytesGalore
89716729c8 Merge pull request #7161 from cgundogan/pr/trickle_enhancements
trickle: enhancements
2017-06-09 09:15:54 +02:00
Cenk Gündoğan
04d89d3381 rpl: adjust to trickle enhancements 2017-06-09 09:03:24 +02:00
Joakim Nohlgård
533542314d netopt: Add NETOPT_LAST_ED_LEVEL 2017-06-09 07:14:58 +02:00
Cenk Gündoğan
6add982d3f rpl: send dis near parent timeout 2017-06-08 21:46:06 +02:00
Cenk Gündoğan
935292ce44 gcoap: make stack size configurable 2017-06-07 08:20:35 +02:00
Hauke Petersen
7ba22cfbf8 net/gcoap: added some additional debug output 2017-06-01 11:13:15 +02:00
Cenk Gündoğan
3921fc86a7 Merge pull request #6901 from BytesGalore/rpl_drop_dao_ack_on_mc
rpl: drop DAO-ACK when received via multicast
2017-05-30 21:28:58 +02:00
BytesGalore
da38b77ba4 rpl: drop DAO-ACK when received on multicast 2017-05-30 18:05:00 +02:00
Cenk Gündoğan
6065be76e1 ndp: warn gcc-7 about intentional fall-through
Since gcc-7 `Wimplicit-fallthrough` is activated by using `-Wextra`.
This leads to the following problem when compiling `gnrc_networking`:

```
RIOT/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c: In function ‘gnrc_ndp_internal_set_state’:
RIOT/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c:106:15: error: this statement may fall through [-Werror=implicit-fallthrough=]
   t = ipv6_iface->reach_time;
  ~~^~~~~~~~~~~~~~~~~~~~~~~~
RIOT/sys/net/gnrc/network_layer/ndp/internal/gnrc_ndp_internal.c:109:9: note: here
case GNRC_IPV6_NC_STATE_DELAY:
         ^~~~
```

The fall-through in this code is intentional. There are several ways to
warn the comiler about such intentional fall-throughs, which include
e.g. attributed empty statements (`__attribute__ ((fallthrough));`).
I don't like tis approach however. The best way would probably be to
remove this fall-through from the code. However, to keep the diff
minimal, and since ndp will change in the future, I went for warning
the compiler using comments.

The compiler checks comments for several *fall through* regexs to
decide whether a fallthrough was intentional or not.

You can read more about this gcc option in [1]. A note about
fallthrough comment regexs is at the bottom of this article.

[1] https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/
2017-05-30 14:23:37 +02:00
Hauke Petersen
bb90e293a2 net/gcoap: make input parameters const 2017-05-26 16:34:40 +02:00
Martine Lenders
d4693648ba Merge pull request #7095 from kaspar030/add_headerguard_check_script
dist: tools: add headerguard check script
2017-05-24 18:08:29 +02:00
0fcc7d3834 cleanup: apply headerguard script output 2017-05-24 17:54:02 +02:00
Ken Bannister
9d37be2729 gcoap: Add server-side Observe registration and notifications. 2017-05-23 17:55:04 -04:00
Hauke Petersen
ba5635889c net/gcoap: make gcoap_op_state return count directly 2017-05-22 13:50:59 +02:00
Hauke Petersen
cd4109100f net/gcoap: fixed coding style issue 2017-05-22 13:47:36 +02:00
Hauke Petersen
31dfe382a3 net/gnrc/eth: enable filtering of L2 addresses 2017-05-18 15:24:25 +02:00
Hauke Petersen
145e4761c1 net/gnrc/802154: enable filtering of L2 addresses 2017-05-18 15:24:25 +02:00
Hauke Petersen
e8b0e0b9e7 net: added L2FILTER option to netopt 2017-05-18 15:24:25 +02:00
Hauke Petersen
fdadfe279c net: added link layer address filter module 2017-05-18 15:24:25 +02:00
Martine Lenders
1fdad5b184
gnrc_tcp: fix return on closed state 2017-05-17 18:39:38 +02:00
Sebastian Meiling
f0ae5d2dd8 Merge pull request #6969 from brummer-simon/gnrc_tcp-replace_msg_queue
gnrc_tcp: improvement: Replace tcbs msg queue with mbox
2017-05-17 15:13:03 +02:00
Sebastian Meiling
9944642f92 Merge pull request #6997 from brummer-simon/gnrc_tcp-abort_call
gnrc_tcp: improvement: abort() - call
2017-05-17 15:08:12 +02:00
Simon Brummer
42e15ed7c4 gnrc_tcp: improvement: Replace tcbs msg queue with mbox 2017-05-17 13:02:52 +02:00
Simon Brummer
b08b12ec8f gnrc_tcp: improvement: abort() - call 2017-05-17 13:01:28 +02:00
smlng
1be74bc7a5 gnrc, tcp: set param THREAD_CREATE_STACKTEST for mem stats in ps 2017-05-15 13:16:18 +02:00
f5a4124866 Merge pull request #6976 from miri64/conn/cleanup/rm
net: remove conn API
2017-05-12 16:09:00 +02:00
smlng
cc24aab5a5 gnrc, tcp: fix assert 2017-05-12 09:39:25 +02:00
Martine Lenders
13770361bb
net: remove conn API
conn was deprecated in 38217347. 3 Releases later and now that no module
is using it RIOT-internally anymore, I think it is time to say goodbye.
2017-04-28 15:23:54 +02:00
Martine Lenders
3897b75096 Merge pull request #6974 from miri64/nhdp/cleanup/port-to-sock
nhdp: port to sock
2017-04-27 14:27:14 +02:00
Martine Lenders
ddda31c509 Merge pull request #6972 from brummer-simon/gnrc_tcp-cleanup-gnrc_tcp_tcb_init
gnrc_tcp: cleanup: shortend gnrc_tcp_tcb_init()
2017-04-26 14:46:52 +02:00
Martine Lenders
53a9dc36ed
nhdp: port to sock 2017-04-26 14:41:45 +02:00
Sebastian Meiling
c08cf4a596 Merge pull request #6968 from smlng/net/gnrc_tcp/cleanup
gnrc_tcp: optimize and cleanup operations on TCB list
2017-04-26 13:58:28 +02:00
Simon Brummer
2f0a17b80f gnrc_tcp: cleanup: shortend gnrc_tcp_tcb_init() 2017-04-26 13:37:42 +02:00
smlng
ba09fad7ed gnrc_tcp: optimize and cleanup operations on TCB list 2017-04-26 11:59:01 +02:00
Martine Lenders
92fe842149 Merge pull request #6961 from miri64/ipv6_addr/fix/off-by-one
ipv6_addr: provide fix for off-by-x error
2017-04-26 07:57:16 +02:00
Sebastian Meiling
9480488e92 Merge pull request #6742 from brummer-simon/gnrc_tcp-cleanup-minor_changes
gnrc_tcp: cleanup: minor changes
2017-04-25 22:05:54 +02:00
smlng
41c43fd837 rpl: make parent lifetime consistent with other timers 2017-04-25 20:09:41 +02:00
Simon Brummer
a9da0dc4f2 gnrc_tcp: cleanup: various minor changes 2017-04-25 20:02:44 +02:00
Martine Lenders
eef90c06fb ipv6_addr: provide fix for off-by-x error 2017-04-25 19:19:43 +02:00
Ken Bannister
7c19ad65e2 gcoap: Fix compilation error when client token length macro set to 0. 2017-04-24 22:21:53 -04:00
smlng
d11754031a gnrc: cleanup and corrections in gnrc_pkt 2017-04-22 20:56:54 +02:00
Martine Lenders
38f383c68d Merge pull request #6703 from OlegHahm/cppcheck_fixes
dist: enable cppcheck warnings for all files
2017-04-19 08:18:47 +02:00
smlng
25e62a7087 net, icmpv6: correct debug output 2017-04-18 11:57:40 +02:00
Oleg Hahm
fae24057df conn: udp: eliminate redundant assignment 2017-04-14 14:36:16 +02:00
Oleg Hahm
a9cc8babba gnrc: ndp: suppress wrong cppcheck warnings 2017-04-14 14:36:15 +02:00
Oleg Hahm
45cd9ad5c4 gnrc: 6lowpan-nd: suppress wrong cppcheck warnings 2017-04-14 14:36:15 +02:00
Oleg Hahm
191797bc6b gnrc: 6lowpan-nd: removed superfluous check 2017-04-14 14:36:15 +02:00
Martine Lenders
c2c2516a53 gnrc: fix cppcheck warnings 2017-04-14 14:36:14 +02:00
cfd10c394a adapt to changed byteorder.h 2017-04-13 11:35:35 +02:00
Martine Lenders
a5d444bd82 Merge pull request #6889 from BytesGalore/rpl_rem_forward_declaration
rpl: remove unnecessary forward declaration
2017-04-11 14:13:38 +02:00
BytesGalore
3ec69a2b2b rpl: remvove forward declaration 2017-04-11 11:38:06 +02:00
kYc0o
e2e1500c6d f tftp: address @aabadie comments. 2017-04-04 14:02:36 +02:00
kYc0o
9ee1e1f156 tftp: send DACK until server receives it 2017-04-04 01:55:46 +02:00
kYc0o
1f70d172c6 tftp: disable debug 2017-04-04 01:55:46 +02:00
Joakim Nohlgård
0ba9fd3456 6lo: Avoid null ptr dereference when DAC=1, DAM=00, M=1 2017-04-02 18:42:01 +02:00
Martine Lenders
33991832d1 Merge pull request #6694 from kaspar030/add_sock_dns_client
sys: net: add sock dns client
2017-03-29 10:14:38 +02:00
Martine Lenders
ad38750587 Merge pull request #6693 from miri64/sntp/enh/real-time-types
sntp: extend API for common real time types
2017-03-29 09:05:56 +02:00
Martine Lenders
f2c9d0c810 Merge pull request #6529 from miri64/od/enh/reduce-func
od: simplify od module to only provide od_hex_dump
2017-03-29 00:10:41 +02:00