mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
d8081453f2
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 |
||
---|---|---|
.. | ||
application_layer | ||
crosslayer | ||
gnrc | ||
link_layer | ||
netdev_test | ||
network_layer | ||
routing | ||
skald | ||
sock | ||
transport_layer | ||
doc.txt |