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 |