dodag.h¶
DODAG-related functions for RPL.
Header file, which defines all public known DODAG-related functions for RPL.
-
GNRC_RPL_INSTANCES_NUMOF
¶ Number of RPL instances.
1
(1)
-
GNRC_RPL_PARENTS_NUMOF
¶ Number of RPL parents.
1
(3)
-
structs.h::gnrc_rpl_instance_t
gnrc_rpl_instances
()¶ RPL instance table.
-
structs.h::gnrc_rpl_parent_t
gnrc_rpl_parents
()¶ RPL parent table.
-
bool
gnrc_rpl_instance_add
(uint8_t instance_id,structs.h::gnrc_rpl_instance_t
** inst)¶ Add a new RPL instance with the id
instance_id
.Parameters
instance_id: The instance id of the new RPL instance. inst: Pointer to an existing or new instance. Otherwise NULL. Return values
- true, if instance could be created.
- false, if instance could not be created or exists already.
-
bool
gnrc_rpl_instance_remove_by_id
(uint8_t instance_id)¶ Remove a RPL instance with the id
instance_id
.Parameters
instance_id: The instance id of the RPL instance to remove. Return values
- true, on success.
- false, otherwise.
-
bool
gnrc_rpl_instance_remove
(structs.h::gnrc_rpl_instance_t
* inst)¶ Remove a RPL instance with the pointer
inst
.Parameters
inst: Pointer to the the RPL instance to remove. Return values
- true, on success.
- false, otherwise.
-
structs.h::gnrc_rpl_instance_t
*gnrc_rpl_instance_get
(uint8_t instance_id)¶ Get the RPL instance with the id
instance_id
.Parameters
instance_id: The instance id of the RPL instance to get. Return values
- Pointer to the RPL instance, on success.
- NULL, otherwise.
-
bool
gnrc_rpl_dodag_init
(structs.h::gnrc_rpl_instance_t
* instance, ipv6_addr_t * dodag_id,kernel_types.h::kernel_pid_t
iface)¶ Initialize a new RPL DODAG with the id
dodag_id
for the instanceinstance
.Parameters
instance: Pointer to the instance to add the DODAG to dodag_id: The DODAG-ID of the new DODAG iface: Interface PID where the DODAG operates Return values
- true, if DODAG could be created.
- false, if DODAG could not be created or exists already.
-
void
gnrc_rpl_dodag_remove_all_parents
(structs.h::gnrc_rpl_dodag_t
* dodag)¶ Remove all parents from the
dodag
.Parameters
dodag: Pointer to the dodag.
-
bool
gnrc_rpl_parent_add_by_addr
(structs.h::gnrc_rpl_dodag_t
* dodag, ipv6_addr_t * addr,structs.h::gnrc_rpl_parent_t
** parent)¶ Add a new parent with the IPv6 address
addr
to thedodag
.Parameters
dodag: Pointer to the DODAG addr: IPV6 address of the parent parent: Pointer to an existing or new parent. Otherwise NULL. Return values
- true. if parent could be created.
- false, if parent could not be created or exists already.
-
bool
gnrc_rpl_parent_remove
(structs.h::gnrc_rpl_parent_t
* parent)¶ Remove the
parent
from its DODAG.Parameters
parent: Pointer to the parent. Return values
- true, on success.
- false, otherwise.
-
void
gnrc_rpl_parent_update
(structs.h::gnrc_rpl_dodag_t
* dodag,structs.h::gnrc_rpl_parent_t
* parent)¶ Update a
parent
of thedodag
.Parameters
dodag: Pointer to the DODAG parent: Pointer to the parent
-
void
gnrc_rpl_local_repair
(structs.h::gnrc_rpl_dodag_t
* dodag)¶ Start a local repair.
Parameters
dodag: Pointer to the DODAG
-
void
gnrc_rpl_leaf_operation
(structs.h::gnrc_rpl_dodag_t
* dodag)¶ Operate as leaf.
Parameters
dodag: Pointer to the DODAG
-
void
gnrc_rpl_router_operation
(structs.h::gnrc_rpl_dodag_t
* dodag)¶ Operate as router.
Parameters
dodag: Pointer to the DODAG