Contiki-Inga 3.x
Data Fields

API for RPL objective functions (OF) More...

#include <core/net/rpl/rpl.h>

Data Fields

void(* reset )(struct rpl_dag *)
 Resets the objective function state for a specific DAG. More...
 
void(* neighbor_link_callback )(rpl_parent_t *, int, int)
 Receives link-layer neighbor information. More...
 
rpl_parent_t *(* best_parent )(rpl_parent_t *, rpl_parent_t *)
 Compares two parents and returns the best one, according to the OF.
 
rpl_dag_t *(* best_dag )(rpl_dag_t *, rpl_dag_t *)
 Compares two DAGs and returns the best one, according to the OF.
 
rpl_rank_t(* calculate_rank )(rpl_parent_t *, rpl_rank_t)
 Calculates a rank value using the parent rank and a base rank. More...
 
void(* update_metric_container )(rpl_instance_t *)
 Updates the metric container for outgoing DIOs in a certain DAG. More...
 

Detailed Description

API for RPL objective functions (OF)

Definition at line 166 of file rpl.h.

Field Documentation

rpl_rank_t(* rpl_of::calculate_rank)(rpl_parent_t *, rpl_rank_t)

Calculates a rank value using the parent rank and a base rank.

If "parent" is NULL, the objective function selects a default increment that is adds to the "base_rank". Otherwise, the OF uses information known about "parent" to select an increment to the "base_rank".

Definition at line 192 of file rpl.h.

void(* rpl_of::neighbor_link_callback)(rpl_parent_t *, int, int)

Receives link-layer neighbor information.

The parameter "known" is set either to 0 or 1. The "etx" parameter specifies the current ETX(estimated transmissions) for the neighbor.

Definition at line 177 of file rpl.h.

void(* rpl_of::reset)(struct rpl_dag *)

Resets the objective function state for a specific DAG.

This function is called when doing a global repair on the DAG.

Definition at line 171 of file rpl.h.

void(* rpl_of::update_metric_container)(rpl_instance_t *)

Updates the metric container for outgoing DIOs in a certain DAG.

If the objective function of the DAG does not use metric containers, the function should set the object type to RPL_DAG_MC_NONE.

Definition at line 198 of file rpl.h.