RPL header. Declaration of global variables and functions needed for core functionality of RPL.
More...
|
#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, 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, 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...
|
|
|
- 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) |
|