1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/sys/net
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
..
application_layer net: add Asymcute (asynchronous MQTT-SN client) 2018-07-05 15:44:16 +02:00
crosslayer sys: netopt: add busy option 2018-05-21 16:37:38 +02:00
gnrc gnrc_ipv6: clean-up and simplify send handling 2018-07-16 15:08:56 +02:00
link_layer sys/net: iolist updates 2018-03-06 14:00:32 +01:00
netdev_test sys/net: iolist updates 2018-03-06 14:00:32 +01:00
network_layer sys/icmpv6_hdr_print: replace PRIu8 by PRIu16 2018-05-11 17:41:25 +02:00
routing gnrc: remove legacy network interface structures 2017-11-17 09:20:29 +01:00
skald sys/net: added Skald 2018-04-06 11:18:53 +02:00
sock net/sock_udp: add sock_udp_ep_equal() 2018-07-05 15:13:01 +02:00
transport_layer sys: fix doxygen grouping 2018-06-11 19:12:02 +02:00
doc.txt doc: add net to sys group 2015-08-30 14:00:33 +02:00