Implementation of P2P-RPL. More...
Implementation of P2P-RPL.
Files | |
| file | p2p.h | 
| Definititions for P2P-RPL.  | |
| file | p2p_dodag.h | 
| DODAG-related functions for P2P-RPL.  | |
| file | p2p_structs.h | 
| P2P-RPL data structs.  | |
Macros | |
| #define | GNRC_RPL_P2P_MOP (0x04) | 
| P2P-RPL Mode of Operation.  | |
| #define | GNRC_RPL_P2P_LIFETIME (0x02) | 
| Default lifetime of the P2P-RPL DODAG, encoded.  More... | |
| #define | GNRC_RPL_P2P_COMPR (0) | 
| Number of elided prefix octets from the target field and address vector.  More... | |
| #define | GNRC_RPL_P2P_MAX_RANK (0) | 
| Maximum rank in the DODAG during the route discovery.  More... | |
| #define | GNRC_RPL_P2P_OPT_RDO (0x0A) | 
| P2P-RPL RDO DIO option type.  More... | |
| #define | GNRC_RPL_P2P_ICMPV6_CODE_DRO (0x04) | 
| DRO ICMPv6 code.  More... | |
| #define | GNRC_RPL_P2P_ICMPV6_CODE_DRO_ACK (0x05) | 
| DRO-ACK ICMPv6 code.  More... | |
| #define | GNRC_RPL_P2P_DRO_DELAY (4) | 
| Time in seconds to wait before sending a DRO.  | |
| #define | GNRC_RPL_P2P_MSG_TYPE_DRO_HANDLE (0x09A0) | 
| Message type for handling DRO sending.  | |
Functions | |
| gnrc_rpl_instance_t * | gnrc_rpl_p2p_root_init (uint8_t instance_id, ipv6_addr_t *dodag_id, ipv6_addr_t *target, bool gen_inst_id) | 
| Initialization of a P2P-RPL Instance as root node.  More... | |
| gnrc_pktsnip_t * | gnrc_rpl_p2p_rdo_build (gnrc_pktsnip_t *pkt, gnrc_rpl_p2p_ext_t *p2p_ext) | 
| Build an RDO.  More... | |
| void | gnrc_rpl_p2p_rdo_parse (gnrc_rpl_p2p_opt_rdo_t *rdo, gnrc_rpl_p2p_ext_t *p2p_ext) | 
| Parse an RDO.  More... | |
| void | gnrc_rpl_p2p_send_DRO (gnrc_pktsnip_t *pkt, gnrc_rpl_p2p_ext_t *p2p_ext) | 
| Send a DRO control message.  More... | |
| void | gnrc_rpl_p2p_recv_DRO (gnrc_pktsnip_t *pkt, ipv6_addr_t *src) | 
| Receive and parse a DRO control message.  More... | |
| void | gnrc_rpl_p2p_update (void) | 
| Updates the lifetime of the P2P Dodag and the delay of the DRO.  | |
Variables | |
| const uint8_t | gnrc_rpl_p2p_lifetime_lookup [4] | 
| Lookup table used to decode/encode the lifetime values.  | |
Trickle parameters | |
| #define | GNRC_RPL_P2P_DEFAULT_DIO_INTERVAL_MIN (6) | 
| #define | GNRC_RPL_P2P_DEFAULT_DIO_REDUNDANCY_CONSTANT (1) | 
| #define GNRC_RPL_P2P_COMPR (0) | 
Number of elided prefix octets from the target field and address vector.
| #define GNRC_RPL_P2P_ICMPV6_CODE_DRO (0x04) | 
DRO ICMPv6 code.
| #define GNRC_RPL_P2P_ICMPV6_CODE_DRO_ACK (0x05) | 
DRO-ACK ICMPv6 code.
| #define GNRC_RPL_P2P_LIFETIME (0x02) | 
Default lifetime of the P2P-RPL DODAG, encoded.
| #define GNRC_RPL_P2P_MAX_RANK (0) | 
Maximum rank in the DODAG during the route discovery.
| #define GNRC_RPL_P2P_OPT_RDO (0x0A) | 
P2P-RPL RDO DIO option type.
| gnrc_pktsnip_t* gnrc_rpl_p2p_rdo_build | ( | gnrc_pktsnip_t * | pkt, | 
| gnrc_rpl_p2p_ext_t * | p2p_ext | ||
| ) | 
Build an RDO.
| [in,out] | pkt | The RDO will be added to the pkt  | 
| [in] | p2p_ext | Pointer to the P2P-RPL DODAG extension | 
| void gnrc_rpl_p2p_rdo_parse | ( | gnrc_rpl_p2p_opt_rdo_t * | rdo, | 
| gnrc_rpl_p2p_ext_t * | p2p_ext | ||
| ) | 
Parse an RDO.
| [in] | rdo | The RDO to parse from. | 
| [in] | p2p_ext | Pointer to the P2P-RPL DODAG extension | 
| void gnrc_rpl_p2p_recv_DRO | ( | gnrc_pktsnip_t * | pkt, | 
| ipv6_addr_t * | src | ||
| ) | 
Receive and parse a DRO control message.
| [in] | pkt | The ICMPv6 packet to parse. | 
| [in] | src | The source address of the IPv6 packet. | 
| gnrc_rpl_instance_t* gnrc_rpl_p2p_root_init | ( | uint8_t | instance_id, | 
| ipv6_addr_t * | dodag_id, | ||
| ipv6_addr_t * | target, | ||
| bool | gen_inst_id | ||
| ) | 
Initialization of a P2P-RPL Instance as root node.
| [in] | instance_id | Id of the instance | 
| [in] | dodag_id | Id of the DODAG | 
| [in] | target | Target of the P2P-RPL routes discovery | 
| [in] | gen_inst_id | Flag indicating whether to generate a local instance id. If true, instance_id will be ignored | 
| void gnrc_rpl_p2p_send_DRO | ( | gnrc_pktsnip_t * | pkt, | 
| gnrc_rpl_p2p_ext_t * | p2p_ext | ||
| ) | 
Send a DRO control message.
| [in] | pkt | The ICMPv6 packet to send. Can be NULL. | 
| [in] | p2p_ext | Pointer to the P2P-RPL DODAG extension |