From fad2b1def9503de003c66da74a79612ba52781b2 Mon Sep 17 00:00:00 2001 From: nvt-se Date: Mon, 14 Jun 2010 18:35:04 +0000 Subject: [PATCH] Clarified the function naming for neighbor information callbacks - names now indicate where the information is from. --- core/net/rpl/rpl-dag.c | 20 +------------------- core/net/rpl/rpl.c | 26 +++++++++++++++++++++++--- core/net/uip-ds6.h | 2 +- 3 files changed, 25 insertions(+), 23 deletions(-) diff --git a/core/net/rpl/rpl-dag.c b/core/net/rpl/rpl-dag.c index f76b38046..756f14555 100644 --- a/core/net/rpl/rpl-dag.c +++ b/core/net/rpl/rpl-dag.c @@ -32,7 +32,7 @@ * * This file is part of the Contiki operating system. * - * $Id: rpl-dag.c,v 1.28 2010/06/14 13:07:09 nifi Exp $ + * $Id: rpl-dag.c,v 1.29 2010/06/14 18:35:04 nvt-se Exp $ */ /** * \file @@ -682,22 +682,4 @@ rpl_process_dio(uip_ipaddr_t *from, rpl_dio_t *dio) p->dtsn = dio->dtsn; } /************************************************************************/ -void -rpl_ds6_neighbor_callback(uip_ds6_nbr_t *nbr) -{ - rpl_dag_t *dag; - rpl_parent_t *p; - dag = rpl_get_dag(RPL_ANY_INSTANCE); - if(!nbr->isused && dag) { - PRINTF("RPL: Removing neighbor "); - PRINT6ADDR(&nbr->ipaddr); - PRINTF("\n"); - p = rpl_find_parent(dag, &nbr->ipaddr); - if(p != NULL) { - p->rank = INFINITE_RANK; - /* Trigger DAG rank recalculation. */ - p->updated = 1; - } - } -} diff --git a/core/net/rpl/rpl.c b/core/net/rpl/rpl.c index 04042f925..7879b7e51 100644 --- a/core/net/rpl/rpl.c +++ b/core/net/rpl/rpl.c @@ -32,7 +32,7 @@ * * This file is part of the Contiki operating system. * - * $Id: rpl.c,v 1.7 2010/06/14 12:44:37 nvt-se Exp $ + * $Id: rpl.c,v 1.8 2010/06/14 18:35:04 nvt-se Exp $ */ /** * \file @@ -117,7 +117,7 @@ rpl_add_route(rpl_dag_t *dag, uip_ipaddr_t *prefix, int prefix_len, } /************************************************************************/ static void -neighbor_callback(const rimeaddr_t *addr, int known, int etx) +rpl_link_neighbor_callback(const rimeaddr_t *addr, int known, int etx) { uip_ipaddr_t ipaddr; rpl_dag_t *dag; @@ -165,11 +165,31 @@ neighbor_callback(const rimeaddr_t *addr, int known, int etx) } /************************************************************************/ void +rpl_ipv6_neighbor_callback(uip_ds6_nbr_t *nbr) +{ + rpl_dag_t *dag; + rpl_parent_t *p; + + dag = rpl_get_dag(RPL_ANY_INSTANCE); + if(!nbr->isused && dag) { + PRINTF("RPL: Removing neighbor "); + PRINT6ADDR(&nbr->ipaddr); + PRINTF("\n"); + p = rpl_find_parent(dag, &nbr->ipaddr); + if(p != NULL) { + p->rank = INFINITE_RANK; + /* Trigger DAG rank recalculation. */ + p->updated = 1; + } + } +} +/************************************************************************/ +void rpl_init(void) { PRINTF("RPL started\n"); rpl_reset_periodic_timer(); - neighbor_info_subscribe(neighbor_callback); + neighbor_info_subscribe(rpl_link_neighbor_callback); } /************************************************************************/ diff --git a/core/net/uip-ds6.h b/core/net/uip-ds6.h index 501ff4cb0..d49eb76e9 100755 --- a/core/net/uip-ds6.h +++ b/core/net/uip-ds6.h @@ -235,7 +235,7 @@ typedef struct rpl_route_entry { } rpl_route_entry_t; #endif /* UIP_DS6_ROUTE_STATE_TYPE */ #ifndef UIP_CONF_DS6_NEIGHBOR_STATE_CHANGED -#define UIP_CONF_DS6_NEIGHBOR_STATE_CHANGED rpl_ds6_neighbor_callback +#define UIP_CONF_DS6_NEIGHBOR_STATE_CHANGED rpl_ipv6_neighbor_callback #endif /* UIP_CONF_DS6_NEIGHBOR_STATE_CHANGED */ /* #endif /\* UIP_CONF_IPV6_RPL *\/ */