| 
| 
#define  | GNRC_RPL_STACK_SIZE   (THREAD_STACKSIZE_DEFAULT) | 
|   | Default stack size to use for the RPL thread. 
  | 
|   | 
| 
#define  | GNRC_RPL_PRIO   (GNRC_IPV6_PRIO + 1) | 
|   | Default priority for the RPL thread. 
  | 
|   | 
| #define  | CONFIG_GNRC_RPL_MSG_QUEUE_SIZE_EXP   (3U) | 
|   | Default message queue size to use for the RPL thread (as exponent of 2^n).  More...
  | 
|   | 
| 
#define  | GNRC_RPL_MSG_QUEUE_SIZE   (1 << CONFIG_GNRC_RPL_MSG_QUEUE_SIZE_EXP) | 
|   | Message queue size to use for the RPL thread. 
  | 
|   | 
| #define  | GNRC_RPL_ALL_NODES_ADDR   {{ 0xff, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x1a }} | 
|   | Static initializer for the all-RPL-nodes multicast IPv6 address (ff02::1a)  More...
  | 
|   | 
| 
#define  | GNRC_RPL_MSG_TYPE_LIFETIME_UPDATE   (0x0900) | 
|   | Message type for lifetime updates. 
  | 
|   | 
| 
#define  | GNRC_RPL_MSG_TYPE_TRICKLE_MSG   (0x0901) | 
|   | Message type for trickle. 
  | 
|   | 
| 
#define  | GNRC_RPL_MSG_TYPE_DAO_HANDLE   (0x0903) | 
|   | Message type for handling DAO sending. 
  | 
|   | 
| #define  | GNRC_RPL_INFINITE_RANK   (0xFFFF) | 
|   | Infinite rank.  More...
  | 
|   | 
| #define  | CONFIG_GNRC_RPL_DEFAULT_MIN_HOP_RANK_INCREASE   (256) | 
|   | Default minimum hop rank increase.  More...
  | 
|   | 
| 
#define  | CONFIG_GNRC_RPL_DEFAULT_MAX_RANK_INCREASE   (0) | 
|   | Maximum rank increase. 
  | 
|   | 
| 
#define  | GNRC_RPL_IMPLEMENTED_OFS_NUMOF   (1) | 
|   | Number of implemented Objective Functions. 
  | 
|   | 
| 
#define  | GNRC_RPL_DEFAULT_OCP   (0) | 
|   | Default Objective Code Point (OF0) 
  | 
|   | 
| 
#define  | CONFIG_GNRC_RPL_DEFAULT_INSTANCE   (0) | 
|   | Default Instance ID. 
  | 
|   | 
| 
#define  | GNRC_RPL_DEFAULT_PREFIX_LEN   (64) | 
|   | Default prefix length for the DODAG id. 
  | 
|   | 
| #define  | GNRC_RPL_DEFAULT_PREFIX_LIFETIME   (0xFFFFFFFF) | 
|   | Default prefix valid and preferred time for the DODAG id.  More...
  | 
|   | 
| #define  | GNRC_RPL_GROUNDED   (1) | 
|   | A DODAG can be grounded or floating.  More...
  | 
|   | 
| 
#define  | CONFIG_GNRC_RPL_CLEANUP_TIME   (5 * MS_PER_SEC) | 
|   | Cleanup interval in milliseconds. 
  | 
|   | 
| 
#define  | GNRC_RPL_ROOT_RANK   (CONFIG_GNRC_RPL_DEFAULT_MIN_HOP_RANK_INCREASE) | 
|   | Rank of the root node. 
  | 
|   | 
| #define  | GNRC_RPL_ICMPV6_CODE_DIS   (0x00) | 
|   | DIS ICMPv6 code.  More...
  | 
|   | 
| #define  | GNRC_RPL_ICMPV6_CODE_DIO   (0x01) | 
|   | DIO ICMPv6 code.  More...
  | 
|   | 
| #define  | GNRC_RPL_ICMPV6_CODE_DAO   (0x02) | 
|   | DAO ICMPv6 code.  More...
  | 
|   | 
| #define  | GNRC_RPL_ICMPV6_CODE_DAO_ACK   (0x03) | 
|   | DAO ACK ICMPv6 code.  More...
  | 
|   | 
| 
#define  | GNRC_RPL_LIFETIME_UPDATE_STEP   (2) | 
|   | Update interval of the lifetime update function. 
  | 
|   | 
| #define  | DAGRANK(rank,  mhri)   (rank/mhri) | 
|   | Rank part of the DODAG.  More...
  | 
|   | 
| 
#define  | CONFIG_GNRC_RPL_PARENT_TIMEOUT_DIS_RETRIES   (3) | 
|   | Number of DIS retries before parent times out. 
  | 
|   | 
| 
#define  | CONFIG_GNRC_RPL_DEFAULT_NETIF   (KERNEL_PID_UNDEF) | 
|   | Default network interface for GNRC RPL. 
  | 
|   | 
 | 
| kernel_pid_t  | gnrc_rpl_init (kernel_pid_t if_pid) | 
|   | Initialization of the RPL thread.  More...
  | 
|   | 
| gnrc_rpl_instance_t *  | gnrc_rpl_root_init (uint8_t instance_id, const ipv6_addr_t *dodag_id, bool gen_inst_id, bool local_inst_id) | 
|   | Initialization of a node as root.  More...
  | 
|   | 
| void  | gnrc_rpl_send_DIO (gnrc_rpl_instance_t *instance, ipv6_addr_t *destination) | 
|   | Send a DIO of the instance to the destination.  More...
  | 
|   | 
| void  | gnrc_rpl_send_DIS (gnrc_rpl_instance_t *instance, ipv6_addr_t *destination, gnrc_rpl_internal_opt_t **options, size_t num_opts) | 
|   | Send a DIS of the instance to the destination.  More...
  | 
|   | 
| void  | gnrc_rpl_send_DAO (gnrc_rpl_instance_t *instance, ipv6_addr_t *destination, uint8_t lifetime) | 
|   | Send a DAO of the dodag to the destination.  More...
  | 
|   | 
| void  | gnrc_rpl_send_DAO_ACK (gnrc_rpl_instance_t *instance, ipv6_addr_t *destination, uint8_t seq) | 
|   | Send a DAO-ACK of the instance to the destination.  More...
  | 
|   | 
| void  | gnrc_rpl_recv_DIS (gnrc_rpl_dis_t *dis, kernel_pid_t iface, ipv6_addr_t *src, ipv6_addr_t *dst, uint16_t len) | 
|   | Parse a DIS.  More...
  | 
|   | 
| void  | gnrc_rpl_recv_DIO (gnrc_rpl_dio_t *dio, kernel_pid_t iface, ipv6_addr_t *src, ipv6_addr_t *dst, uint16_t len) | 
|   | Parse a DIO.  More...
  | 
|   | 
| void  | gnrc_rpl_recv_DAO (gnrc_rpl_dao_t *dao, kernel_pid_t iface, ipv6_addr_t *src, ipv6_addr_t *dst, uint16_t len) | 
|   | Parse a DAO.  More...
  | 
|   | 
| void  | gnrc_rpl_recv_DAO_ACK (gnrc_rpl_dao_ack_t *dao_ack, kernel_pid_t iface, ipv6_addr_t *src, ipv6_addr_t *dst, uint16_t len) | 
|   | Parse a DAO-ACK.  More...
  | 
|   | 
| void  | gnrc_rpl_delay_dao (gnrc_rpl_dodag_t *dodag) | 
|   | Delay the DAO sending interval.  More...
  | 
|   | 
| void  | gnrc_rpl_long_delay_dao (gnrc_rpl_dodag_t *dodag) | 
|   | Long delay the DAO sending interval.  More...
  | 
|   | 
| gnrc_rpl_instance_t *  | gnrc_rpl_root_instance_init (uint8_t instance_id, const ipv6_addr_t *dodag_id, uint8_t mop) | 
|   | Create a new RPL instance and RPL DODAG.  More...
  | 
|   | 
| void  | gnrc_rpl_send (gnrc_pktsnip_t *pkt, kernel_pid_t iface, ipv6_addr_t *src, ipv6_addr_t *dst, ipv6_addr_t *dodag_id) | 
|   | Send a control message.  More...
  | 
|   | 
| uint8_t  | gnrc_rpl_gen_instance_id (bool local) | 
|   | Generate a local or global instance id.  More...
  | 
|   | 
| static void  | gnrc_rpl_config_pio (gnrc_rpl_dodag_t *dodag, bool status) | 
|   | (De-)Activate the transmission of Prefix Information Options within DIOs for a particular DODAG.  More...
  | 
|   | 
| void  | gnrc_rpl_configure_root (gnrc_netif_t *netif, const ipv6_addr_t *dodag_id) | 
|   | Convenience function to start a RPL root using the default configuration.  More...
  | 
|   | 
 | 
 - See also
 - Sequence Counter Operation  
  
 | 
| 
#define  | GNRC_RPL_COUNTER_MAX   (255) | 
|   | 
| 
#define  | GNRC_RPL_COUNTER_LOWER_REGION   (127) | 
|   | 
| 
#define  | GNRC_RPL_COUNTER_SEQ_WINDOW   (16) | 
|   | 
| 
#define  | GNRC_RPL_COUNTER_INIT   (GNRC_RPL_COUNTER_MAX - GNRC_RPL_COUNTER_SEQ_WINDOW + 1) | 
|   | 
| 
static uint8_t  | GNRC_RPL_COUNTER_INCREMENT (uint8_t counter) | 
|   | 
| 
static bool  | GNRC_RPL_COUNTER_IS_INIT (uint8_t counter) | 
|   | 
| 
static bool  | GNRC_RPL_COUNTER_GREATER_THAN_LOCAL (uint8_t A, uint8_t B) | 
|   | 
| 
static bool  | GNRC_RPL_COUNTER_GREATER_THAN (uint8_t A, uint8_t B) | 
|   | 
 | 
 - See also
 - RFC 6550, section 5.1, RPL Instance ID  
  
 | 
| 
#define  | GNRC_RPL_INSTANCE_ID_MSB   (1 << 7) | 
|   | 
| 
#define  | GNRC_RPL_GLOBAL_INSTANCE_MASK   (0x7F) | 
|   | 
| 
#define  | GNRC_RPL_LOCAL_INSTANCE_MASK   (0x3F) | 
|   | 
| 
#define  | GNRC_RPL_INSTANCE_D_FLAG_MASK   (1 << 6) | 
|   | 
| #define  | GNRC_RPL_DIS_SOLICITED_INFO_LENGTH   (19) | 
|   | DIS Solicited Information option (numbers)  More...
  | 
|   | 
| 
#define  | GNRC_RPL_DIS_SOLICITED_INFO_FLAG_V   (1 << 7) | 
|   | 
| 
#define  | GNRC_RPL_DIS_SOLICITED_INFO_FLAG_I   (1 << 6) | 
|   | 
| 
#define  | GNRC_RPL_DIS_SOLICITED_INFO_FLAG_D   (1 << 5) | 
|   |