RPL source routing header extension

Implementation of RPL source routing extension headers. More...

Detailed Description

Implementation of RPL source routing extension headers.

See also
RFC 6554

Files

file  srh.h
 Definititions for RPL source routing extension headers.
 

Data Structures

struct  gnrc_rpl_srh_t
 The RPL Source routing header. More...
 

Functions

int gnrc_rpl_srh_process (ipv6_hdr_t *ipv6, gnrc_rpl_srh_t *rh, void **err_ptr)
 Process the RPL source routing header. More...
 

Function Documentation

◆ gnrc_rpl_srh_process()

int gnrc_rpl_srh_process ( ipv6_hdr_t ipv6,
gnrc_rpl_srh_t rh,
void **  err_ptr 
)

Process the RPL source routing header.

Precondition
rh->seq_left > 0; The 0 case means the destination is reached and common among all routing headers, so it should be handled by an external routing header handler.
Parameters
[in,out]ipv6The IPv6 header of the incoming packet.
[in]rhA RPL source routing header.
[out]err_ptrA pointer to an erroneous octet within rh when return value is GNRC_IPV6_EXT_RH_ERROR. For any other return value than GNRC_IPV6_EXT_RH_ERROR the value of err_ptr is not defined.
Returns
GNRC_IPV6_EXT_RH_AT_DST, on success
GNRC_IPV6_EXT_RH_FORWARDED, when pkt should be forwarded
GNRC_IPV6_EXT_RH_ERROR, on error