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
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
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
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