static uip_ipaddr_t ipaddr
Pointer to prefix information option in uip_buf.
int(* node_has_joined)(void)
Tells whether the node is currently part of a network.
static uip_ds6_nbr_t * nbr
Pointer to llao option in uip_buf.
void(* ext_header_remove)(void)
Removes all extension headers that pertain to the routing protocol.
static uip_ds6_addr_t * addr
Pointer to a nbr cache entry.
Header file for the link-layer address representation
void(* link_callback)(const linkaddr_t *addr, int status, int numtx)
Called by lower layers after every packet transmission.
IPv6 Neighbor cache (link-layer/IPv6 address mapping)
void(* drop_route)(uip_ds6_route_t *route)
Called by uIP if it has decided to drop a route because.
int(* root_start)(void)
Set the node as root and start a network.
void(* global_repair)(const char *str)
Triggers a global topology repair.
void(* root_set_prefix)(uip_ipaddr_t *prefix, uip_ipaddr_t *iid)
Set the prefix, for nodes that will operate as root.
void(* init)(void)
Initialize the routing protocol.
An entry in the routing table.
void(* neighbor_state_changed)(uip_ds6_nbr_t *nbr)
Called by uIP to notify addition/removal of IPv6 neighbor entries.
int(* node_is_root)(void)
Tells whether the node is a network root or not.
uint8_t uip_ext_opt_offset
length of the header options read
int(* ext_header_srh_get_next_hop)(uip_ipaddr_t *ipaddr)
Look for next hop from SRH of current uIP packet.
void(* leave_network)(void)
Leave the network the node is part of.
Header file for the uIP TCP/IP stack.
int(* ext_header_srh_update)(void)
Process and update SRH in-place, i.e.
Header file for routing table manipulation.
void(* local_repair)(const char *str)
Triggers a RPL local topology repair.
int(* ext_header_hbh_update)(int uip_ext_opt_offset)
Process and update the routing protocol hob-by-hop extention headers of the current uIP packet...
int(* get_sr_node_ipaddr)(uip_ipaddr_t *addr, const uip_sr_node_t *node)
Returns the global IPv6 address of a source routing node.
int(* get_root_ipaddr)(uip_ipaddr_t *ipaddr)
Returns the IPv6 address of the network root, if any.
int(* ext_header_update)(void)
Adds/updates routing protocol extension headers to current uIP packet.
The structure of a routing protocol driver.
A node in a source routing graph, stored at the root and representing all child-parent relationship...
int(* node_is_reachable)(void)
Tells whether the node is currently reachable as part of the network.
An entry in the nbr cache.