Closed thvdveld closed 9 months ago
Attention: 11 lines
in your changes are missing coverage. Please review.
Comparison is base (
8a86a5a
) 79.74% compared to head (1001586
) 79.74%.
Files | Patch % | Lines |
---|---|---|
src/iface/interface/ipv6.rs | 86.66% | 10 Missing :warning: |
src/iface/interface/mod.rs | 93.33% | 1 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@thvdveld Unfortunately this PR deals squarely with the bits of IPv6 I do not have a good understanding of.
@whitequark no problem!
Now, the destination address of the IP packet is checked if it is part of the interface addresses or the multicast addresses, only after processing the hop-by-hop header, as this header must be processed by every node.
has_multicast_group
function to also check IPv6 multicast addresses, such as the ALL_NODES, ALL_RPL_NODES (only when using RPL) and the IPv6 solicited address.RFC8200 Section 4 says the following about hop-by-hop headers:
Therefore, when an hop-by-hop extension is present, we should process it. Then we check if the packet reached its destination. If not, we discard the packet if we are not using a routing protocol. In case of RPL, we route the packet to the correct next node.