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

1123 Commits

Author SHA1 Message Date
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
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
Martine Lenders
b0706ca82b netopt: deprecate getting NETOPT_IPV6_IID from netdev 2018-12-12 10:21:39 +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
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
bd4893277e net/ethernet: remove get_iid() function
the fuctionality was moved into eui48_to_ipv6_iid()
2018-12-06 22:02:01 +01:00
Hauke Petersen
f5355ba36e net: add generic EUI-48 header 2018-12-06 22:02:01 +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
92fd8c12de ethernet: make input parameter const 2018-11-29 22:57:15 +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
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
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
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
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
885544b4b0 net/nanocoap: remove convenience ptr in coap_hdr_t
Empty array uint8_t data[] is not allowed in ISO-C++. Replacement: function coap_hdr_data_ptr, which handles
the pointer arithmetic to point where hdr.data pointed
2018-11-02 16:34:57 +01:00
Lasse Lueder
2ddd8ce1a9 net/nanocoap: define coap_data_ptr 2018-11-02 16:33:29 +01:00
Martine Lenders
99e3d780ea gnrc_pktbuf: clarify doc of _start_write()
Resolves #10261
2018-10-28 17:28:24 +01:00