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

820 Commits

Author SHA1 Message Date
Martine Lenders
fb5a298c1f
Merge pull request #11193 from haukepetersen/rm_pkbuf_getiovec
net/gnrc_pktbuf: rm deprecated _pktbuf_get_iovec()
2019-03-19 11:52:14 +01:00
Martine Lenders
946b06e4f0 gnrc_netif: increase message queue size
Since the netif threads are in general a more heavy lifters than the
rest of the GNRC there queue size should be increased.
2019-03-15 12:08:43 +01:00
Hauke Petersen
9fb2f541ba net/gnrc_pktbuf: rm deprecated _pktbuf_get_iovec() 2019-03-15 10:21:22 +01:00
Martine Lenders
931b179d14 gnrc_sixlowpan_frag: encapsulate msg_send_to_self()
This makes it easier to access this functionality for test cases e.g.
from the `main` thread.
2019-03-08 19:32:46 +01:00
Martine Lenders
13030d5a35 gnrc_netif: expose message queue size configurable 2019-02-26 13:26:20 +01:00
Martine Lenders
998b9ed0d4 gnrc_netif_hdr: make in parameters const 2019-02-21 12:43:08 +01:00
Martine Lenders
8da4957cdd
Merge pull request #11015 from miri64/gnrc_sixlowpan_frag/enh/rm-pid
gnrc_sixlowpan_frag: remove redundant PID member
2019-02-15 12:48:27 +01:00
Martine Lenders
0954fabdc7 gnrc_sixlowpan_frag: make datagram size uint16_t for send
It can't get bigger, so it doesn't make sense to waste another 2 byte
on it.
2019-02-15 11:23:46 +01:00
Martine Lenders
b27f12bc1f gnrc_sixlowpan_frag: remove redundant PID member
The interface ID is actually also provided in `pkt` so providing it in
the `gnrc_sixlowpan_msg_frag_t` struct is redundant.
2019-02-15 11:23:18 +01:00
José Alamos
d5b39319f6
Merge pull request #11014 from jia200x/pr/pktbuf_mark_doc
net/gnrc/pktbuf.h: add note in gnrc_pktbuf_mark
2019-02-14 17:14:55 +01:00
Jose Alamos
f7ac0c57e9 net/gnrc/pktbuf.h: add note in gnrc_pktbuf_mark 2019-02-14 15:09:03 +01:00
Martine Lenders
985d98073f gnrc_netif_ieee802154: drop duplicate broadcast packets (optionally) 2019-02-04 16:19:48 +01:00
smlng
6d0384f068 netstats: collect layer 2 netstats in gnrc_netif
This the first step in moving the collection of layer 2 netstats from
the low level driver to a central location, ie. gnrc_netif, to avoid
code duplication.
2019-02-01 10:35:03 +02:00
Cenk Gündoğan
b3843daeb8
Merge pull request #10817 from miri64/gnrc_netif/enh/i10723
gnrc_ipv6_nib: use generated EUI-64 for ARO build and check
2019-01-29 22:49:41 +01:00
Martine Lenders
16e7fc8336 gnrc_netif: introduce L2 address to EUI-64 conversion 2019-01-29 21:52:53 +01:00
Sebastian Meiling
43d772ce63
Merge pull request #10847 from jia200x/pr/fix_netreg_macros
net/netreg: fix static netreg init macros
2019-01-24 12:05:30 +01:00
Jose Alamos
65e985d649 net/netreg: fix static netreg init macros 2019-01-24 11:44:17 +01:00
Gunar Schorcht
d90d546053
Merge pull request #10824 from miri64/gnrc_ipv6_nib/fix/br-slaac
gnrc_ipv6_nib: activate SLAAC on border router
2019-01-24 11:20:36 +01:00
Martine Lenders
55c0694da6
Merge pull request #10841 from miri64/gnrc_sixlowpan/enh/doc-i8511
gnrc_sixlowpan: document submodules according to #8511
2019-01-22 15:50:31 +01:00
shuguo
4a4e552cca gnrc_lwmac: enable duty-cycle printing. 2019-01-22 21:24:00 +08:00
Martine Lenders
b2d724cc60 gnrc_sixlowpan: document submodules according to #8511 2019-01-22 14:15:13 +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
Martine Lenders
002494f789 gnrc_ipv6_nib: activate SLAAC on border router 2019-01-19 11:15:38 +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
Martine Lenders
465631f83c gnrc_netif: doc-group device-type based functions 2019-01-15 11:51:21 +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
Martine Lenders
242bb55c24
Merge pull request #10719 from miri64/gnrc_netif/enh/add-l2addr-to-doc
gnrc_netif: add l2addr members to doc
2019-01-07 15:43:10 +01:00
Martine Lenders
48ac0ea902 gnrc_netif: add l2addr members to doc
The `l2addr` and `l2addr_len` members of the `gnrc_netif_t` struct did
not show up in the rendered documentation.
2019-01-07 13:05:02 +01:00
Cenk Gündoğan
aa2de01b56
Merge pull request #10665 from miri64/gnrc_sixloenc/feat/initial
gnrc_sixloenc: introduce pseudo-module to send 6Lo frames over Ethernet
2019-01-07 11:58:33 +01:00
Martine Lenders
10f534854c gnrc_sixlowpan: make title of NETAPI section more specific 2019-01-07 10:30:47 +01:00
Martine Lenders
0c51a67631 gnrc_ipv6: make title of NETAPI section more specific 2019-01-07 10:30:33 +01:00
Sebastian Meiling
26ea289ce0
Merge pull request #10583 from miri64/gnrc_ipv6/enh/doc
gnrc_ipv6: make gnrc_netapi documentation more detailed
2019-01-07 09:14:39 +01:00
Martine Lenders
45b95e86cd gnrc_nettype: provide ethertype to nettype for 6LoEnc 2019-01-04 13:31:03 +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
Martine Lenders
c6150d3b35 gnrc_ipv6: make gnrc_netapi documentation more detailed 2018-12-30 19:24:24 +01:00
Lotte Steenbrink
b6b4fed26d
Merge pull request #10659 from miri64/gnrc_sixlowpan/enh/netapi-doc
gnrc_sixlowpan: amend gnrc_netapi introduction
2018-12-27 23:21:20 +01:00
Martine Lenders
def3aa9b65
Merge pull request #10629 from miri64/gnrc_netif/cleanup/mac-flags
gnrc_netif: remove superfluous GNRC_NETIF_FLAGS_MAC_*
2018-12-27 19:56:00 +01:00
Martine Lenders
b5ba43b517 gnrc_sixlowpan: amend gnrc_netapi introduction 2018-12-27 14:06:35 +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
06c13bdd70 gnrc_netif: remove superfluous GNRC_NETIF_FLAGS_MAC_*
They are also defined in `net/gnrc/netif/mac.h` and those are the ones
used by the current `gnrc_mac` implementations.
2018-12-18 14:47:24 +01:00
Martine Lenders
bddbe93976 gnrc_netif: remove premature doc group close
This adds `GNRC_NETIF_FLAGS_RAWMODE` to the `net_gnrc_netif_flags_t`
group.
2018-12-18 14:45:51 +01:00
José Alamos
0dd711cb9f
Merge pull request #10616 from miri64/gnrc_netif/enh/config-group
gnrc_netif: add config macros to config doc group
2018-12-18 11:05:29 +01:00
José Alamos
1c82f7804b
Merge pull request #10617 from miri64/gnrc_ipv6/enh/config-group
gnrc_ipv6: add config macros to config doc group
2018-12-17 13:55:28 +01:00
Sebastian Meiling
496daa0b9f
Merge pull request #10582 from miri64/gnrc_sixlowpan/enh/doc-update
gnrc_sixlowpan: update documentation
2018-12-17 13:32:11 +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
3f17db141d gnrc_ipv6: add config macros to config doc group 2018-12-14 16:34:34 +01:00
Martine Lenders
d37bb41b03 gnrc_netif: add config macros to config doc group 2018-12-14 16:26:56 +01:00
Martine Lenders
a90943457f gnrc_sixlowpan: specify sections in RFC links 2018-12-14 13:57:44 +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
4257b70c6f gnrc_pktbuf: update tense of deprecation note ;-)
With the preceding changes the subject of the deprecation note on
`gnrc_pktbuf_duplicate_upto()` becomes actual and thus doesn't need to
be referred to in future but past tense.
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
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
Martine Lenders
26d55bb040 gnrc_sixlowpan: replace HTML links with markdown links 2018-12-10 15:30:59 +01:00
Martine Lenders
70b7c8b09f gnrc_sixlowpan: update flag doc from old gnrc_netif 2018-12-10 15:25:51 +01:00
Martine Lenders
ecd7250c9e gnrc_sixlowpan: update gnrc_netapi doc 2018-12-10 15:17:00 +01:00
Hauke Petersen
bdc1b89c93
Merge pull request #10520 from miri64/gnrc_netif_hdr/enh/conv-iid-getter
gnrc_netif_hdr: provide wrappers for gnrc_netif_ipv6_iid_from_addr()
2018-12-07 14:37:07 +01:00
Martine Lenders
4d4e96f9f9 gnrc_netif_hdr: provide wrappers for gnrc_netif_ipv6_iid_from_addr()
For convenience ;-).
2018-12-07 12:59:37 +01:00
Hauke Petersen
fe7fba7674 gnrc/netif/internal: fix copy-paste error
the names for iid_from_addr and iid_to_addr functions in the
else-block were switched around, so this fixes that
2018-12-06 17:16:23 +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
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
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
f95cabe8df gnrc_netif_hdr: add convenience function to get netif pointer 2018-12-05 14:08:32 +01:00
Martine Lenders
959087f207 gnrc_netif_hdr: make input parameters constant 2018-11-30 10:01:52 +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
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
José Alamos
1cb780ea26
Merge pull request #10447 from miri64/gnrc_pktbuf/feat/merge
gnrc_pktbuf: add gnrc_pktbuf_merge()
2018-11-22 13:58:14 +01:00
Martine Lenders
8644b5c33e gnrc_pktbuf: fix documentation formatting on gnrc_pktbuf_merge() 2018-11-22 11:35:39 +01: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
Hauke Petersen
3df1a82ceb
Merge pull request #10437 from miri64/doc/fix/gnrc_netapi-author-tag
gnrc_netapi: move author tag into file context
2018-11-21 12:40:32 +01:00
Martine Lenders
8f5f4a370d gnrc_netapi: declare data for set function as const 2018-11-20 11:59:38 +01:00
Martine Lenders
633b876c92 gnrc_netapi: move author tag into file context
Otherwise, the authorship is associated with `GNRC_NETAPI_MSG_TYPE_RCV`
in the rendered doc.
2018-11-20 11:09:08 +01:00
Martine Lenders
0aa96a4579 gnrc_icmpv6_error: fix doc alignment 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
04a2827089 gnrc_icmpv6_error: provide NOPs when compiled without module
This is aimed to make the usage code of this module more readable.
2018-11-16 17:39:16 +01:00
Martine Lenders
697ad17ed1 icmpv6_error: doc: provide better references to error codes 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
0b4230e5f6 gnrc_icmpv6_error: fix and optimize pointer search in _param_prob_build 2018-11-16 17:39:16 +01:00
Martine Lenders
36617f3733 gnrc_icmpv6_error: make input pointers constant 2018-11-16 17:39:15 +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
21202e7e18
gnrc/pkt: Add const keyword to length functions 2018-11-16 15:06:39 +01:00
Martine Lenders
f2760c033c gnrc_pktbuf: deprecate gnrc_pktbuf_duplicate_upto 2018-11-13 18:05:09 +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
Martine Lenders
99e3d780ea gnrc_pktbuf: clarify doc of _start_write()
Resolves #10261
2018-10-28 17:28:24 +01: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
521fa8d9cb gnrc_rpl_srh: remove type define
The only usage was removed in parent and we now have a centralized
definition of the routing header types.
2018-10-25 19:21:20 +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
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
Joakim Nohlgård
29e4a1ba3c gnrc_netif: Introduce GNRC_NETIF_HDR_FLAGS_MORE_DATA 2018-08-13 09:25:32 +02: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
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
bdb1e80e0a gnrc_ipv6_nib: make RS emission configurable 2018-08-06 14:51:18 +02:00
Cenk Gündoğan
f03e52d157
Merge pull request #9484 from miri64/gnrc_sixlowpan_iphc/enh/i8511-recv
gnrc_sixlowpan_iphc: refactor reception for #8511
2018-07-26 07:58:52 +02: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
Martine Lenders
9a88cc8004 gnrc_sixlowpan: remove assertion on multiple_by_size function
During the review of #9485 [we found out][1] that an assertion in this
function was invalid. However, the documentation on this assertion
wasn't removed on that. This fixes that.

[1] https://github.com/RIOT-OS/RIOT/pull/9485#issuecomment-407794280
2018-07-25 18:00:30 +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
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
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
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
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
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
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
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
6e31ce7c74 gnrc_netif: increase number of maximum IPv6 groups 2018-06-07 10:14:52 +02:00
Martine Lenders
fbe391723b gnrc_netreg: Further specify gnrc_netreg_register() precondition
While browsing through the rendered doc, I found the precondition of
`gnrc_netreg_register()` somewhat lacking. What is a "message queue"?
`gnrc_netreg_entry_t`s have types. Does this apply for all types?
This specifies the requirement more: The calling thread **only** needs
a message queue (also provides a link to `msg_init_queue()` now for
further information), if the provided `gnrc_netreg_entry_t` is of type
`GNRC_NETREG_TYPE_DEFAULT` (i.e. thread-wise IPC).
2018-06-06 22:19:53 +02:00
BytesGalore
0c034c9220 rpl: add DIS Solicited Information option 2018-06-04 18:10:22 +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
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
Martine Lenders
1bc9a592c4 gnrc_netif: improve doc on GNRC_NETIF_IPV6_ADDRS_NUMOF 2018-05-29 19:30:30 +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
Cenk Gündoğan
d005566042 gnrc: add nettype handling for NDN 2018-05-24 10:58:26 +02: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
Marian Buschsieweke
4b8881abb4
gnrc/netif/hdr.h: Optimized structure layout
Reordered struct members to not waste memory due to padding.

Before:
``` C
typedef struct {
    uint8_t src_l2addr_len;
    uint8_t dst_l2addr_len;
    kernel_pid_t if_pid;    // <-- 16 bit, is aligned to 16 bit
    uint8_t flags;
    uint8_t __padding_byte; // <-- Inserted to fulfill padding requirements
    int16_t rssi;           // <-- 16 bit, is NOT aligned to 16 bit
    uint8_t lqi;
    uint8_t __padding_byte2;// <-- Inserted to fulfill padding requirements
} gnrc_netif_hdr_t;
```

Now:
``` C
typedef struct {
    uint8_t src_l2addr_len;
    uint8_t dst_l2addr_len;
    kernel_pid_t if_pid;    // <-- 16 bit, is aligned to 16 bit
    uint8_t flags;
    uint8_t lqi;
    int16_t rssi;           // <-- 16 bit, is aligned to 16 bit
} gnrc_netif_hdr_t;
```

When build for the `bluepill` board, the new layout reduces the size by 2 bytes.
2018-05-14 14:01:29 +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
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
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
31711a8560 gnrc_netreg: fix static PID initialize for gnrc_netapi_callbacks 2018-03-26 15:00:57 +02:00
c935a07513 sys/net/gnrc/pkt: match pktsnip struct start with iolist_t 2018-03-06 14:00:31 +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
Martine Lenders
49f80b7cf1 Revert "gnrc/netreg: remove gnrc_netreg_num"
This reverts commit c178ea8798.
2018-02-22 20:28:32 +01: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
1156721eaf gnrc_sixlowpan_nd: add missing header
`gnrc_pktsnip_t` is used in `net/gnrc/sixlowpan/nd.h` but it is not
included. There were no compile errors yet, since this file is always
included with some other GNRC headers, but it might not in the future.
2018-02-16 12:16:56 +01:00
Martine Lenders
328408bd21 gnrc_ipv6_nib: only activate MULTIHOP_P6C for 6LR and up
Non-routing 6LN can ignore the ABRO, so we can deactivate multihop
prefix and 6LoWPAN distribution altogether (since hosts do not have a
downstream hop).
2018-02-16 11:42:04 +01:00
smlng
c178ea8798 gnrc/netreg: remove gnrc_netreg_num 2018-02-06 21:41:19 +01:00
Martine Lenders
1a4d824027 gnrc_netif: remove "new" qualifier in documentation
Calling the API "new" when it is the only network interface API (that
also now is named the same as the old one) might be a little confusing.
2018-01-23 15:02:35 +01:00
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
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
Gaëtan Harter
29f5de38d1
Merge pull request #8288 from zhuoshuguo/gnrc_lwmac_revise_doc_brief
gnrc_lwmac: revise brief description.
2017-12-20 13:46:34 +01:00
Martine Lenders
2f78a0cc7c
Merge pull request #8281 from zhuoshuguo/gnrc_gomach_add_description
gnrc_gomach: add a brief description of GoMacH's features.
2017-12-19 15:20:14 +01:00
zhuoshuguo
56d5a02631 gnrc_lwmac: revise doc's brief naming. 2017-12-19 15:10:30 +01:00
zhuoshuguo
f8b1583737 gnrc_gomach: add a brief description of GoMacH's features. 2017-12-19 14:56:01 +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
28f266eaa6 gnrc_lwmac: revise doc naming. 2017-12-19 10:55:56 +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
16374d0588
gnrc_netif: provide helper functions for NETOPT_IPV6_(ADDR|GROUP)
Since especially the setter for `NETOPT_IPV6_ADDR` and the getter for
both `NETOPT_IPV6_ADDR` and `NETOPT_IPV6_GROUP` isn't that obvious, I
decided to provided a helper function for those `gnrc_netapi_get/_set`
operations.
2017-12-18 17:06:55 +01:00
Martine Lenders
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
Martine Lenders
49c9d60724
gnrc_netapi: make doc a little more consistent
Throughout the documentation `gnrc_nettype_t` is referred to as a
"protocol type". The documentation for the functions
`gnrc_netapi_dispatch_*()` that were added later only refer to it as
"type".

This fix changes those to "protocol type" to make this clearer in the
context of these functions and unify it with the rest of the
documentation.
2017-12-06 18:10:10 +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
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
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
a32a2a93e1 gnrc_ipv6_nib: add interface parameter to nc_del function 2017-11-27 20:32:27 +01:00
Martine Lenders
279e19fe8a gnrc_rpl: properly handle prefix list 2017-11-23 22:56:55 +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
f62974207d
gnrc_ipv6_nib: add timeouts to routes 2017-11-17 13:43:18 +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
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
62a1f0848f
gnrc_netif2: make more complexer functions not inline 2017-11-16 14:44:23 +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
bf19ce6d55
gnrc_mac: fix non-obvious recursive include 2017-11-13 12:48:39 +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
861035f22d gnrc: integrate gnrc_netif2
Not link-able, since NDP and NC are missing (intentionally)
2017-11-07 19:08:44 +01:00
zhuoshuguo
c554d30b26 gnrc_lwmac: port to gnrc_netif2. 2017-11-01 15:40:47 +01: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
Martine Lenders
0b80c7ed17
gnrc_netif2: Introduction of a new GNRC network interface API 2017-10-10 10:36:28 +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
d30216dcbe gnrc_ipv6_nib: add configuration pseudo-modules 2017-10-06 23:21:18 +02:00
Martine Lenders
d8acdc9d2d gnrc_ipv6_nib: add forwarding table component 2017-10-06 23:01:10 +02:00
Cenk Gündoğan
7af0f916fe Merge pull request #7270 from miri64/gnrc_ipv6_nib/feat/abr-component
gnrc_ipv6_nib: provide component to handle ABRO
2017-10-06 22:16:17 +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
460bede96d Merge pull request #7690 from miri64/gnrc_ipv6_nib/fix/doc-fix
doc: gnrc_ipv6_nib_nc: remove false advertisement about iteration
2017-10-06 21:55:50 +02:00
Martine Lenders
786768eb29 gnrc_ipv6_nib_pl: doc: add comment about changes during iteration 2017-10-06 21:44:54 +02:00
Martine Lenders
eccfc70d4f doc: gnrc_ipv6_nib_nc: remove false advertisement about iteration 2017-10-06 21:43:04 +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
426e978972 rpl: Sort list of parents 2017-08-22 16:03:16 +02:00
Martine Lenders
d24e072af2 gnrc_netreg: enhance doc on entry initialization 2017-08-14 12:51:29 +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
Martine Lenders
6f299f9ac7
doc: gnrc_netreg: add doc on gnrc_netreg_type_t enumerators 2017-06-26 10:19:47 +02:00
Martine Lenders
33449a4a11 Merge pull request #7218 from miri64/gnrc_ipv6_nib/doc/attention
gnrc_ipv6_nib: doc: use attention tag instead of bold note
2017-06-25 13:54:56 +02:00
Martine Lenders
fd5d36fb2e gnrc_ipv6_nib: doc: use attention tag instead of bold note 2017-06-25 13:48:42 +02:00
zhuoshuguo
e5d8dde920 gnrc_priority_queue: updated coding style. 2017-06-22 11:36:55 +02:00
zhuoshuguo
a54655890e LWMAC: a simple duty cycling 802.15.4 MAC protocol. 2017-06-21 16:40:04 +02:00
zhuoshuguo
83e1385683 gnrc_mac: updated coding style. 2017-06-19 10:15:41 +02:00
Cenk Gündoğan
ef9ee54fe2 doc: nib: neighbor information base everywhere you look 2017-06-12 00:49:07 +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
Cenk Gündoğan
04d89d3381 rpl: adjust to trickle enhancements 2017-06-09 09:03:24 +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
Hauke Petersen
d488fdc1e3 sys/drivers: guard l2filter.h, netstats.h includes 2017-05-23 13:39:49 +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
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
Simon Brummer
a9da0dc4f2 gnrc_tcp: cleanup: various minor changes 2017-04-25 20:02:44 +02:00
smlng
d11754031a gnrc: cleanup and corrections in gnrc_pkt 2017-04-22 20:56:54 +02:00
Martine Lenders
29842bb5e4 netdev2: rename to netdev and remove gnrc_netdev
With some minor hand-edits I used the following chain of commands:

```sh
git rm sys/include/net/gnrc/netdev.h
git grep --name-only -i netdev2 | \
        xargs sed -i -e 's/^\(NETDEV\)2\(.*\)\( [("]\)/\1\2 \3/g' \
                     -e 's/\(netdev\)2\(.*\)\( \/\*\*<\)/\1\2 \3/I' \
                     -e 's/\(netdev\)2/\1/gI'
git add -p
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
        grep "netdev2" | xargs -I'{}' dirname '{}' | uniq | \
        grep "netdev2" | while read dir; do
                new_dir="$(echo "$dir" | sed "s/netdev2/netdev/g")"
                git mv -f "$dir" "$new_dir"
        done
git commit --amend
git ls-tree --full-tree -r HEAD --name-only | \
        grep "netdev2" | while read file; do
                new_file="$(echo "$file" | sed "s/netdev2/netdev/g")"
                git mv -f "$file" "$new_file"
        done
git commit --amend
git grep --name-only "\<drivers_netdev_netdev\>" | \
        xargs sed -i "s/\<drivers_netdev_netdev\>/drivers_netdev_api/g"
git add -p
git commit --amend
```
2017-03-15 09:31:20 +01:00
Martine Lenders
09f1fb2847 Merge pull request #6684 from OlegHahm/ng_cleanup
net: cleanup ng_ remnants
2017-03-11 20:09:49 +01:00
Oleg Hahm
d523c33015 doc: gnrc: fix doxygen and add missing doc 2017-03-10 14:56:28 +01:00
Oleg Hahm
0d3833a88a net: cleanup ng_ remnants 2017-03-02 14:19:25 +01:00
Sebastian Meiling
f6022a283d Merge pull request #6541 from brummer-simon/gnrc_tcp-cleanup
gnrc_tcp: cleanup
2017-03-01 09:34:49 +01:00
smlng
85d189a21d gnrc, ipv6: add documentation on MACRO GNRC_IPV6_STATIC_LLADDR 2017-02-28 20:09:40 +01:00
Simon Brummer
1ae3b51224 gnrc_tcp: cleanup: removed unnecessary includes 2017-02-26 17:31:23 +01:00
Simon Brummer
fd007d5307 gnrc_tcp: cleanup: fixed outdated comments 2017-02-20 21:58:05 +01:00
Martine Lenders
c5eca9f1ca gnrc_netdev2: add missing doc on GNRC_NETDEV2_MAC_PRIO 2017-02-15 12:28:56 +01:00
Hauke Petersen
05c4e314c9 net/gnrc: remove deprecated nomac 2017-02-15 10:07:34 +01:00
Hauke Petersen
0567b5598a Merge pull request #6570 from miri64/gnrc_zep/cleanup/rm
gnrc_zep: remove gnrc_zep
2017-02-15 10:02:37 +01:00
Joakim Nohlgård
7376419350 gnrc/pktbuf: remove unused #include "atomic.h" 2017-02-08 16:23:47 +01:00
Martine Lenders
5e983db605 gnrc_zep: remove gnrc_zep
This ZEP implementation is based on `gnrc_netdev`, it is complicated to
use, I'm not even sure anyone used it except me or if it is working
still. See #6121 for a better port of ZEP.
2017-02-07 17:41:28 +01:00
Simon Brummer
d4c477aa01 gnrc_tcp: cleanup: correct copyright updates and corrected doxygen comments 2017-02-06 18:26:45 +01:00
Simon Brummer
7e7b832219 gnrc_tcp: cleanup: Enforce coding convention 2017-02-04 10:19:59 +01:00
Peter Kietzmann
a265e6ddea Merge pull request #6530 from miri64/gnrc_netdev/doc/fix-groups
gnrc_netdev2: fix grouping of sub-headers in doc
2017-02-03 13:33:57 +01:00
Simon Brummer
4857f16ee8 gnrc_tcp: cleanup: Restrict lines to 100 char boundries 2017-02-02 08:29:29 +01:00
Simon Brummer
a8b8b64036 gnrc_tcp: cleanup: update doxygen headers 2017-02-02 08:29:29 +01:00
Simon Brummer
62c0efb20a gnrc_tcp: cleanup: removed trailing underscores from include guards 2017-02-02 08:29:29 +01:00
Simon Brummer
bc0bf3bc4f gnrc_tcp: cleanup: removed internal fsm structs from public headers 2017-02-02 08:29:29 +01:00
Simon Brummer
67ed2a0ad8 gnrc_tcp: cleanup: internal/common.h added 2017-02-02 08:29:29 +01:00
zhuoshuguo
b8428d3e95 gnrc_netdev2: fix gnrc_netdev2_set_tx_feedback assert. 2017-02-01 15:24:15 +01:00
smlng
540fb53ac0 tcp: move header file and adapt includes 2017-01-31 19:14:54 +01:00
Martine Lenders
46e74229c0 gnrc_netdev2: fix grouping of sub-headers in doc 2017-01-31 18:47:56 +01:00
Sebastian Meiling
7f7329ea71 Merge pull request #4744 from brummer-simon/devel-gnrc_tcp
gnrc_tcp: initial implementation
2017-01-23 09:32:34 +01:00
Simon Brummer
abd307b89d gnrc_tcp : initial implementation 2017-01-22 09:27:58 +01:00
Ken Bannister
342c3f2ed3 gcoap: Remove coap.h include file, which is no longer used.
Also change references in dependencies to the net/gcoap.h include.
2017-01-20 22:00:25 -05:00
Ken Bannister
fa815993ae gcoap: Move from gnrc directory up to net directory 2017-01-20 16:14:13 -05:00
Oleg Hahm
7ee7801c10 *: remove trailing underscores from header guards 2017-01-19 18:30:53 +01:00
Oleg Hahm
4f4214235b timex: unambiguous time conversion macros 2017-01-19 13:18:08 +01:00
Hauke Petersen
61378430e2 sys/net/gnrc: added XBee-to-GNRC glue code 2017-01-10 11:47:31 +01:00
zhuoshuguo
6a0ac75d2c gnrc_mac: add mac tx and rx internal types and API. 2017-01-04 13:59:16 +01:00
Martine Lenders
ee7f0013b8 Merge pull request #6199 from zhuoshuguo/fix_gnrc_priority_queue_doc
gnrc_priority_queue:  fix doxygen document.
2016-12-16 16:05:17 +01:00
Martine Lenders
c6c29eb1ae gnrc_ndp: fix invalid doc references 2016-12-14 16:18:19 +01:00
smlng
ad698267fb gnrc_pktbuf: add asserts
- fix static analyzer warning
    - update @pre doc accordingly
2016-12-13 18:18:11 +01:00
zhuoshuguo
944e1462ce gnrc_priority_queue: fix doxygen document. 2016-12-10 18:56:13 +01:00
Martine Lenders
be702411e2 Merge pull request #6069 from zhuoshuguo/gnrc_mac_internal_helper
gnrc_netif: add fetch-address and fetch-netif-flag functionalities.
2016-12-02 14:46:52 +01:00
zhuoshuguo
d749962134 gnrc_netif: add fetch-address and fetch-netif-flag functionalities. 2016-12-02 13:22:47 +01:00
zhuoshuguo
70369d6591 gnrc_mac: fix includes. 2016-11-07 15:47:13 +01:00
zhuoshuguo
1a44c0f71b gnrc_mac: add l2 address into netdev2. 2016-11-07 10:33:33 +01:00
Martine Lenders
e6ad438a0b Merge pull request #5941 from zhuoshuguo/gnrc_mac_type
gnrc: create the basic "gnrc_mac" type for providing common MAC functionalities
2016-11-07 10:11:54 +01:00
zhuoshuguo
6f39d8c809 gnrc_mac: add gnrc_mac module into netdev2. 2016-11-04 17:04:50 +01:00
Martine Lenders
6dac4bd530 Merge pull request #5950 from zhuoshuguo/add_packet_queue_module_to_gnrc_mac
gnrc: Add priority packet queue module to gnrc
2016-11-01 07:45:31 +01:00
Ken Bannister
f3431fb49e gcoap: initial commit 2016-10-31 22:41:52 -04:00
zhuoshuguo
0ebe2a0309 gnrc: add priority packet queue module. 2016-10-31 16:53:01 +01:00
Martine Lenders
20e1fce5b7 ieee802154: centralize default values 2016-10-26 15:32:12 +02:00
Martine Lenders
97adff5eac gnrc_netreg: add arbitrary callback support 2016-10-25 21:35:57 +02:00
Martine Lenders
b84d955921 gnrc_netreg: add mbox support 2016-10-25 21:31:54 +02:00
Hauke Petersen
bc232a5642 Merge pull request #5524 from miri64/gnrc_netreg/api/helper-macro
gnrc_netreg: introduce helper macro/function for entry init
2016-10-25 21:21:25 +02:00
Martine Lenders
dc45cd2610 gnrc: use new netreg helper functions everywhere 2016-10-25 18:47:30 +02:00
Martine Lenders
a4cc50d5b7 gnrc_pktqueue: fix doc 2016-10-17 13:26:19 +02:00
Martine Lenders
6f0018f66a Merge pull request #5694 from miri64/gnrc/enh/0-length-payload
gnrc_pktbuf: allow for 0-sized payload snips
2016-09-28 07:09:23 +02:00
Martine Lenders
5dad8f1edd gnrc_pktbuf: allow for 0-sized payload snips 2016-09-27 21:49:57 +02:00
Cenk Gündoğan
ad6677b33f gnrc_rpl: netstats_rpl: introduce statistics 2016-09-27 20:40:04 +02:00
Martine Lenders
262d0d7573 gnrc_netreg: introduce helper macro/function for entry init 2016-09-26 16:00:56 +02:00
Oleg Hahm
6a8a829a42 Merge pull request #5803 from miri64/auto_init_gnrc_netif/fix/mac-prios
auto_init_gnrc_netif: set priorities one lower than 6LoWPAN
2016-09-23 00:38:33 +02:00
smlng
0784b9a812 gnrc_rpl: add explanatory links to RFC sections 2016-09-21 13:45:25 +02:00
smlng
4ae107626a gnrc_rpl: correct (some) default params 2016-09-21 13:34:36 +02:00
smlng
fbafcc39ac gnrc_rpl: modify RPL default parameters in Makefile 2016-09-21 13:33:55 +02:00
Martine Lenders
4fa36e6128 auto_init_gnrc_netif: set priorities one lower than 6LoWPAN 2016-09-20 15:43:11 +02:00
Martine Lenders
b43ffab953 Merge pull request #5515 from miri64/csma_sender/fix/adaptations
csma_sender: fixes and adaptions
2016-09-02 10:12:38 +02:00
Martine Lenders
dd7fb1c63b Merge pull request #5228 from OlegHahm/gnrc_ipv6_hdr_get
gnrc ipv6: convenient function to get the header
2016-09-01 23:16:49 +02:00
Oleg Hahm
a2b9defc8b gnrc ipv6: convenient function to get the header 2016-07-22 16:34:52 +02:00
Cenk Gündoğan
7c5c3f2673 gnrc_rpl: doc fix 2016-06-05 23:05:59 +02:00
Martine Lenders
a3f2cdd6ea csma_sender: port to netdev2 2016-06-05 13:57:26 +02:00
Martine Lenders
925013cd4c csma_sender: doc fixes 2016-06-05 13:57:10 +02:00
Martine Lenders
70b3b1426b csma_sender: proper prefixing for public functions and macros 2016-06-05 13:57:09 +02:00
Martine Lenders
c1c797496c csma_sender: adapt for changes in master 2016-06-05 13:57:09 +02:00
Martine Lenders
8426ca99ca Merge pull request #4178 from rousselk/csma-sender
New 'csma_sender' helper module
2016-06-04 14:49:21 +02:00
Cenk Gündoğan
0613c8faf4 gnrc_rpl: validation configurable on compile-time 2016-06-01 09:07:55 +02:00
Cenk Gündoğan
2f9a37a624 gnrc_rpl: move len macros to header file 2016-06-01 09:05:24 +02:00
Cenk Gündoğan
a10151d5f0 Merge pull request #5440 from cgundogan/pr/auto_init/rpl
auto_init: initialize gnrc_rpl
2016-06-01 07:59:41 +02:00
Cenk Gündoğan
e33011248f gnrc_rpl: doc: add note about auto-initialization 2016-05-31 22:13:32 +02:00
Oleg Hahm
6707c20b7d netstats: initial import of IPv6 netstats 2016-05-25 14:44:53 +02:00
Martine Lenders
452fc917c6 Merge pull request #5352 from authmillenon/gnrc_netdev/doc/add-deprecation
gnrc_netdev: add deprecation note
2016-04-20 15:11:25 +02:00
Martine Lenders
6dbb51553b gnrc_netdev: add deprecation note 2016-04-20 14:00:58 +02:00
Martine Lenders
9789eb249e Revert "doc: mandatory netif snip for gnrc_ipv6 receive()"
This reverts commit f15e038efe.
2016-04-17 14:06:41 +02:00
kYc0o
6df58ac767 gnrc: use correct l2addr print len 2016-04-10 16:31:38 +02:00
Martine Lenders
6504671a33 Merge pull request #5179 from OlegHahm/ipv6_recv_assert_instead_check
gnrc ipv6: replace check by assert
2016-03-29 19:42:00 +02:00
Oleg Hahm
376874284b Merge pull request #3721 from cgundogan/pr/rpl/gnrc_rpl_p2p
rpl: introducing P2P-RPL
2016-03-29 19:04:27 +02:00
Oleg Hahm
f15e038efe doc: mandatory netif snip for gnrc_ipv6 receive() 2016-03-29 18:42:58 +02:00
kYc0o
f92b025b85 vtimer: get rid of 2016-03-24 17:10:54 +01:00
Cenk Gündoğan
b5c09bfc41 rpl: introducing p2p-rpl 2016-03-24 12:12:07 +01:00
Martine Lenders
1724ab50fc Merge pull request #4654 from Yonezawa-T2/fix_ipv6_ext
ipv6_ext: fixed extension header handling
2016-03-24 10:53:00 +01:00
Yonezawa-T2
6443a2bb5c gnrc_pktbuf: Adds a function to duplicate packet chain 2016-03-24 18:20:28 +09:00
Oleg Hahm
a65e6aad59 Merge pull request #5118 from OlegHahm/udp_build_hdr_simplification
gnrc: simplify hdr_build functions
2016-03-23 15:31:58 +01:00
Oleg Hahm
cba3ba71ab gnrc netreg: remove generic hdr build function 2016-03-23 15:20:12 +01:00
Oleg Hahm
32af3f962e gnrc ipv6: make address parameters const 2016-03-23 15:20:12 +01:00
Oleg Hahm
991c71cf27 gnrc ipv6: use ipv6_addr_t ptr for hdr_build 2016-03-23 15:20:12 +01:00
Oleg Hahm
360413a033 gnrc ipv6 hdr: remove len params from hdr_build 2016-03-23 15:20:11 +01:00
Oleg Hahm
487f6e480f gnrc udp: simplify gnrc_udp_hdr_build
Directly using 16 bit port numbers instead of casting uint8_t pointers.
2016-03-23 15:20:11 +01:00
Cenk Gündoğan
b280984862 gnrc_rpl: add netif_addr to DODAG 2016-03-23 10:37:38 +01:00
Cenk Gündoğan
095e4558df Merge pull request #5135 from cgundogan/pr/gnrc_rpl/proper_iface_handling
gnrc_rpl: proper interface handling
2016-03-23 10:34:47 +01:00
Cenk Gündoğan
3b9fda6d03 gnrc_rpl: proper interface handling 2016-03-23 10:12:01 +01:00
Cenk Gündoğan
cf94b5016e gnrc_rpl: thread prio greater than gnrc_ipv6 2016-03-22 18:27:28 +01:00
Cenk Gündoğan
fc75ff9b29 gnrc_rpl: minor fixes and enhancements 2016-03-22 16:50:16 +01:00
Yonezawa-T2
bc5b0c3140 ipv6_ext: fixed extension header handling 2016-03-22 12:45:08 +09:00
Cenk Gündoğan
771757c84f Merge pull request #5082 from cgundogan/pr/gnrc_rpl/dodag_conf_optional_on_join
gnrc_rpl: make DODAG_CONF optional when joining DODAG
2016-03-21 18:22:44 +01:00
Joakim Nohlgård
d4f577238e gnrc/nettype: Add missing closing Doxygen brace 2016-03-17 20:57:54 +01:00
Cenk Gündoğan
39255ee8f8 gnrc_rpl: make DODAG_CONF optional when joining DODAG 2016-03-16 14:31:49 +01:00
Cenk Gündoğan
b15c1a2bd1 gnrc_rpl: rename req_opts to dio_opts 2016-03-16 14:16:15 +01:00
Martine Lenders
0a3b56e0b4 Merge pull request #5006 from immesys/fix-rtr-adv
ndp: change rtr adv src to link local
2016-03-16 12:42:12 +01:00
Martine Lenders
312047fa84 Merge pull request #5029 from gebart/pr/6lo-decoded-hdr-snip-ordering
gnrc_sixlowpan: Preserve order when replacing 6lowpan header by decoded IPv6 header
2016-03-16 11:53:53 +01:00
Joakim Nohlgård
373a4d9e2c Merge pull request #5073 from cgundogan/pr/gnrc_rpl/trickle_parameters_compile_time
gnrc_rpl: make trickle parameters configurable
2016-03-16 11:25:46 +01:00