Routing API: added link_callback
This commit is contained in:
parent
fac66307f6
commit
eaa3b6ad79
|
@ -1431,10 +1431,8 @@ packet_sent(void *ptr, int status, int transmissions)
|
||||||
/* Update neighbor link statistics */
|
/* Update neighbor link statistics */
|
||||||
link_stats_packet_sent(dest, status, transmissions);
|
link_stats_packet_sent(dest, status, transmissions);
|
||||||
|
|
||||||
#if UIP_CONF_IPV6_RPL
|
/* Call routing protocol link callback */
|
||||||
/* Call RPL link callback */
|
NETSTACK_ROUTING.link_callback(dest, status, transmissions);
|
||||||
rpl_link_callback(dest, status, transmissions);
|
|
||||||
#endif /* UIP_CONF_IPV6_RPL */
|
|
||||||
|
|
||||||
/* DS6 callback, used for UIP_DS6_LL_NUD */
|
/* DS6 callback, used for UIP_DS6_LL_NUD */
|
||||||
uip_ds6_link_callback(status, transmissions);
|
uip_ds6_link_callback(status, transmissions);
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
void
|
void
|
||||||
tsch_rpl_callback_ka_sent(int status, int transmissions)
|
tsch_rpl_callback_ka_sent(int status, int transmissions)
|
||||||
{
|
{
|
||||||
rpl_link_callback(packetbuf_addr(PACKETBUF_ADDR_RECEIVER), status, transmissions);
|
NETSTACK_ROUTING.link_callback(packetbuf_addr(PACKETBUF_ADDR_RECEIVER), status, transmissions);
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
/* To use, set #define TSCH_CALLBACK_JOINING_NETWORK tsch_rpl_callback_joining_network */
|
/* To use, set #define TSCH_CALLBACK_JOINING_NETWORK tsch_rpl_callback_joining_network */
|
||||||
|
|
|
@ -98,6 +98,11 @@ ext_header_srh_get_next_hop(uip_ipaddr_t *ipaddr)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
static void
|
||||||
|
link_callback(const linkaddr_t *addr, int status, int numtx)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
/*---------------------------------------------------------------------------*/
|
||||||
const struct routing_driver nullrouting_driver = {
|
const struct routing_driver nullrouting_driver = {
|
||||||
"Null Routing",
|
"Null Routing",
|
||||||
init,
|
init,
|
||||||
|
@ -110,6 +115,7 @@ const struct routing_driver nullrouting_driver = {
|
||||||
ext_header_hbh_update,
|
ext_header_hbh_update,
|
||||||
ext_header_srh_update,
|
ext_header_srh_update,
|
||||||
ext_header_srh_get_next_hop,
|
ext_header_srh_get_next_hop,
|
||||||
|
link_callback,
|
||||||
};
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
@ -110,6 +110,14 @@ struct routing_driver {
|
||||||
* \return 1 if a next hop was found, 0 otherwise
|
* \return 1 if a next hop was found, 0 otherwise
|
||||||
*/
|
*/
|
||||||
int (* ext_header_srh_get_next_hop)(uip_ipaddr_t *ipaddr);
|
int (* ext_header_srh_get_next_hop)(uip_ipaddr_t *ipaddr);
|
||||||
|
/**
|
||||||
|
* Called by lower layers after every packet transmission
|
||||||
|
*
|
||||||
|
* \param addr The link-layer addrress of the packet destination
|
||||||
|
* \param status The transmission status (see os/net/mac/mac.h)
|
||||||
|
* \param numtx The total number of transmission attempts
|
||||||
|
*/
|
||||||
|
void (* link_callback)(const linkaddr_t *addr, int status, int numtx);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* ROUTING_H_ */
|
#endif /* ROUTING_H_ */
|
||||||
|
|
|
@ -383,6 +383,7 @@ const struct routing_driver rpl_classic_driver = {
|
||||||
rpl_ext_header_hbh_update,
|
rpl_ext_header_hbh_update,
|
||||||
rpl_ext_header_srh_update,
|
rpl_ext_header_srh_update,
|
||||||
rpl_ext_header_srh_get_next_hop,
|
rpl_ext_header_srh_get_next_hop,
|
||||||
|
rpl_link_callback,
|
||||||
};
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
@ -205,6 +205,7 @@ const struct routing_driver rpl_lite_driver = {
|
||||||
rpl_ext_header_hbh_update,
|
rpl_ext_header_hbh_update,
|
||||||
rpl_ext_header_srh_update,
|
rpl_ext_header_srh_update,
|
||||||
rpl_ext_header_srh_get_next_hop,
|
rpl_ext_header_srh_get_next_hop,
|
||||||
|
rpl_link_callback,
|
||||||
};
|
};
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue