Microchip® Advanced Software Framework

uip-ds6-route.h File Reference
#include "sys/stimer.h"
#include "lib/list.h"

Data Structures

struct  rpl_route_entry
 
struct  uip_ds6_defrt
 An entry in the default router list. More...
 
struct  uip_ds6_notification
 
struct  uip_ds6_route
 An entry in the routing table. More...
 
struct  uip_ds6_route_neighbor_route
 A neighbor route list entry, used on the uip_ds6_route->neighbor_routes->route_list list. More...
 
struct  uip_ds6_route_neighbor_routes
 The neighbor routes hold a list of routing table entries that are attached to a specific neihbor. More...
 

Macros

#define UIP_DS6_NOTIFICATION_DEFRT_ADD   0
 
#define UIP_DS6_NOTIFICATION_DEFRT_RM   1
 
#define UIP_DS6_NOTIFICATION_ROUTE_ADD   2
 
#define UIP_DS6_NOTIFICATION_ROUTE_RM   3
 
#define UIP_DS6_NOTIFICATIONS   1
 
#define UIP_DS6_ROUTE_NB   4
 
#define UIP_DS6_ROUTE_STATE_TYPE   rpl_route_entry_t
 define some additional RPL related route state and neighbor callback for RPL - if not a DS6_ROUTE_STATE is already set More...
 

Typedefs

typedef struct rpl_route_entry rpl_route_entry_t
 
typedef struct uip_ds6_defrt uip_ds6_defrt_t
 An entry in the default router list. More...
 
typedef void(* uip_ds6_notification_callback )(int event, uip_ipaddr_t *route, uip_ipaddr_t *nexthop, int num_routes)
 
typedef struct uip_ds6_route uip_ds6_route_t
 An entry in the routing table. More...
 

Functions

void uip_ds6_notification_add (struct uip_ds6_notification *n, uip_ds6_notification_callback c)
 
void uip_ds6_notification_rm (struct uip_ds6_notification *n)
 
void uip_ds6_route_init (void)
 
Default router list basic routines
uip_ds6_defrt_tuip_ds6_defrt_add (uip_ipaddr_t *ipaddr, unsigned long interval)
 
void uip_ds6_defrt_rm (uip_ds6_defrt_t *defrt)
 
uip_ds6_defrt_tuip_ds6_defrt_lookup (uip_ipaddr_t *ipaddr)
 
uip_ipaddr_tuip_ds6_defrt_choose (void)
 
void uip_ds6_defrt_periodic (void)
 
Routing Table basic routines
uip_ds6_route_tuip_ds6_route_lookup (uip_ipaddr_t *destipaddr)
 
uip_ds6_route_tuip_ds6_route_add (uip_ipaddr_t *ipaddr, uint8_t length, uip_ipaddr_t *next_hop)
 
void uip_ds6_route_rm (uip_ds6_route_t *route)
 
void uip_ds6_route_rm_by_nexthop (uip_ipaddr_t *nexthop)
 
uip_ipaddr_tuip_ds6_route_nexthop (uip_ds6_route_t *)
 
int uip_ds6_route_num_routes (void)
 
uip_ds6_route_tuip_ds6_route_head (void)
 
uip_ds6_route_tuip_ds6_route_next (uip_ds6_route_t *)
 

#define UIP_DS6_NOTIFICATION_DEFRT_ADD   0
#define UIP_DS6_NOTIFICATION_DEFRT_RM   1

Referenced by uip_ds6_defrt_rm().

#define UIP_DS6_NOTIFICATION_ROUTE_ADD   2

Referenced by uip_ds6_route_add().

#define UIP_DS6_NOTIFICATION_ROUTE_RM   3

Referenced by uip_ds6_route_rm().

#define UIP_DS6_NOTIFICATIONS   1
#define UIP_DS6_ROUTE_NB   4
#define UIP_DS6_ROUTE_STATE_TYPE   rpl_route_entry_t

define some additional RPL related route state and neighbor callback for RPL - if not a DS6_ROUTE_STATE is already set

Referenced by uip_ds6_route_add().

An entry in the default router list.

typedef void(* uip_ds6_notification_callback)(int event, uip_ipaddr_t *route, uip_ipaddr_t *nexthop, int num_routes)

An entry in the routing table.

void uip_ds6_notification_add ( struct uip_ds6_notification n,
uip_ds6_notification_callback  c 
)

Referenced by PROCESS_THREAD(), and simple_rpl_init().

void uip_ds6_notification_rm ( struct uip_ds6_notification n)
void uip_ds6_route_init ( void  )
int uip_ds6_route_num_routes ( void  )

References num_routes.

Referenced by make_routes_roomfor(), and uip_ds6_route_add().

void uip_ds6_route_rm_by_nexthop ( uip_ipaddr_t nexthop)