118 uip_ipaddr_t *prefix,
unsigned prefix_len, uint8_t flags);
static uip_ipaddr_t ipaddr
Pointer to prefix information option in uip_buf.
void rpl_dag_poison_and_leave(void)
Start poisoning and leave the DAG after a delay.
void rpl_process_dao(uip_ipaddr_t *from, rpl_dao_t *dao)
Processes incoming DAO.
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.
void rpl_global_repair(const char *str)
Triggers a RPL global repair.
int rpl_is_addr_in_our_dag(const uip_ipaddr_t *addr)
Tells whether a given global IPv6 address is in our current DAG.
void rpl_dag_init_root(uint8_t instance_id, uip_ipaddr_t *dag_id, uip_ipaddr_t *prefix, unsigned prefix_len, uint8_t prefix_flags)
Initializes DAG internal structure for a root node.
void rpl_process_dao_ack(uint8_t sequence, uint8_t status)
Processes incoming DAO-ACK.
const char * rpl_dag_state_to_str(enum rpl_dag_state state)
Returns a textual description of the current DAG state.
void rpl_dag_leave(void)
Leaves the current DAG.
void rpl_process_dis(uip_ipaddr_t *from, int is_multicast)
Processes incoming DIS.
rpl_dag_state
RPL DAG states.
All information related to a RPL neighbor.
rpl_dag_t * rpl_get_any_dag(void)
Returns pointer to any DAG (for compatibility with legagy RPL code)
int rpl_dag_ready_to_advertise(void)
Tells whether RPL is ready to advertise the DAG.
void rpl_dag_periodic(unsigned seconds)
A function called periodically.
Header file for the uIP TCP/IP stack.
void rpl_dag_update_state(void)
Updates RPL internal state: selects preferred parent, updates rank & metreic container, triggers control traffic accordingly and updates uIP6 internal state.
int rpl_dag_get_root_ipaddr(uip_ipaddr_t *ipaddr)
Returns the IPv6 address of the RPL DAG root, if any.
void rpl_process_dio(uip_ipaddr_t *from, rpl_dio_t *dio)
Processes incoming DIO.
int rpl_process_hbh(rpl_nbr_t *sender, uint16_t sender_rank, int loop_detected, int rank_error_signaled)
Processes Hop-by-Hop (HBH) Extension Header of a packet currently being forwrded. ...
void rpl_local_repair(const char *str)
Triggers a RPL local repair.
rpl_instance_t * rpl_get_default_instance(void)
Returns pointer to the default instance (for compatibility with legagy RPL code)
void rpl_dag_init(void)
Initializes rpl-dag module.