riot_sys

Function gnrc_ipv6_nib_handle_pkt

Source
pub unsafe extern "C" fn gnrc_ipv6_nib_handle_pkt(
    netif: *mut gnrc_netif_t,
    ipv6: *const ipv6_hdr_t,
    icmpv6: *const icmpv6_hdr_t,
    icmpv6_len: size_t,
)
Expand description

@brief Handles a received ICMPv6 packet

@pre netif != NULL @pre ipv6 != NULL @pre icmpv6 != NULL @pre icmpv6_len > sizeof(icmpv6_hdr_t)

@attention The ICMPv6 checksum is supposed to be checked externally!

@note @p ipv6 is just used for the addresses and hop limit. The next header field will not be checked for correctness (but should be @ref PROTNUM_ICMPV6)

@see RFC 4861, section 6.1 @see RFC 4861, section 6.2.6 @see RFC 4861, section 6.3.4 @see RFC 4861, section 7.1 @see RFC 4861, section 7.2.3 @see RFC 4861, section 7.2.5 @see RFC 4861, section 8.1 @see RFC 4861, section 8.3 @see RFC 4862, section 5.4.3 @see RFC 4862, section 5.4.4 @see RFC 4862, section 5.5.3 @see RFC 6775, section 5.5.2 @see RFC 6775, section 5.4 @see RFC 6775, section 6.3 @see RFC 6775, section 6.5 @see RFC 6775, section 8.1.3 @see RFC 6775, section 8.2.1 @see RFC 6775, section 8.2.4 @see RFC 6775, section 8.2.5

@param[in] netif The interface the packet came over. @param[in] ipv6 The IPv6 header of the received packet. @param[in] icmpv6 The ICMPv6 header and payload of the received packet. @param[in] icmpv6_len The number of bytes at @p icmpv6.