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 instance instance.

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 the dodag.

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 the dodag.

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