Improvements to style and commentary.

This commit is contained in:
nvt-se 2010-05-04 22:55:32 +00:00
parent 01881f92a8
commit 361e210751
3 changed files with 31 additions and 33 deletions

View file

@ -32,7 +32,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: rpl-dag.c,v 1.2 2010/05/04 14:41:55 joxe Exp $ * $Id: rpl-dag.c,v 1.3 2010/05/04 22:55:32 nvt-se Exp $
*/ */
/** /**
* \file * \file
@ -266,8 +266,6 @@ rpl_find_neighbor(rpl_dag_t *dag, uip_ipaddr_t *addr)
rpl_neighbor_t * rpl_neighbor_t *
rpl_first_parent(rpl_dag_t *dag) rpl_first_parent(rpl_dag_t *dag)
{ {
//return list_head(dag->parents);
rpl_neighbor_t *n; rpl_neighbor_t *n;
for(n = list_head(dag->neighbors); n != NULL; n = n->next) { for(n = list_head(dag->neighbors); n != NULL; n = n->next) {
@ -392,14 +390,14 @@ join_dag(uip_ipaddr_t *from, rpl_dio_t *dio)
} }
PRINTF("succeeded\n"); PRINTF("succeeded\n");
n->local_confidence = 0; /* Extract packet LQI here. */ n->local_confidence = 0; /* The lowest confidence for new parents. */
n->rank = dio->dag_rank; n->rank = dio->dag_rank;
/* Determine the objective function by using the /* Determine the objective function by using the
objective code point of the DIO. */ objective code point of the DIO. */
of = rpl_find_of(dio->ocp); of = rpl_find_of(dio->ocp);
if(of == NULL) { if(of == NULL) {
PRINTF("RPL: DIO for DAG instance %d does not specify a supported OF\n", PRINTF("RPL: DIO for DAG instance %u does not specify a supported OF\n",
dio->instance_id); dio->instance_id);
return; return;
} }
@ -423,7 +421,7 @@ join_dag(uip_ipaddr_t *from, rpl_dio_t *dio)
rpl_join_dag(dag); rpl_join_dag(dag);
PRINTF("RPL: Joined DAG with instance ID %d, rank %d, DAG ID ", PRINTF("RPL: Joined DAG with instance ID %u, rank %hu, DAG ID ",
dio->instance_id, dag->rank); dio->instance_id, dag->rank);
PRINT6ADDR(&dag->dag_id); PRINT6ADDR(&dag->dag_id);
PRINTF("\n"); PRINTF("\n");
@ -452,7 +450,7 @@ global_repair(uip_ipaddr_t *from, rpl_dag_t *dag, rpl_dio_t *dio)
dag->rank = dag->of->increment_rank(dio->dag_rank, n); dag->rank = dag->of->increment_rank(dio->dag_rank, n);
rpl_reset_dio_timer(dag, 1); rpl_reset_dio_timer(dag, 1);
} }
PRINTF("RPL: Participating in a global DAG repair. New DAG sequence number: %d NewRank: %d\n", PRINTF("RPL: Participating in a global DAG repair. New DAG sequence number: %u, new rank: %hu\n",
dag->sequence_number, dag->rank); dag->sequence_number, dag->rank);
} }
@ -476,11 +474,6 @@ rpl_process_dio(uip_ipaddr_t *from, rpl_dio_t *dio)
uint8_t new_rank; uint8_t new_rank;
uint8_t new_parent; uint8_t new_parent;
/* if(from->u8[15] != 0xe7) { */
/* printf("last byte did not match e7 %x\n", from->u8[15]); */
/* return; */
/* } */
dag = rpl_get_dag(dio->instance_id); dag = rpl_get_dag(dio->instance_id);
if(dag == NULL) { if(dag == NULL) {
/* Always join the first possible DAG that is not of INF_RANK. */ /* Always join the first possible DAG that is not of INF_RANK. */
@ -520,7 +513,7 @@ rpl_process_dio(uip_ipaddr_t *from, rpl_dio_t *dio)
} else if(n->rank < dio->dag_rank) { } else if(n->rank < dio->dag_rank) {
PRINTF("RPL: Existing parent "); PRINTF("RPL: Existing parent ");
PRINT6ADDR(from); PRINT6ADDR(from);
PRINTF(" got a higher rank (%d -> %d)\n", PRINTF(" got a higher rank (%hu -> %hu)\n",
n->rank, dio->dag_rank); n->rank, dio->dag_rank);
n->rank = dio->dag_rank; n->rank = dio->dag_rank;
if(RPL_PARENT_COUNT(dag) > 1) { if(RPL_PARENT_COUNT(dag) > 1) {
@ -528,7 +521,8 @@ rpl_process_dio(uip_ipaddr_t *from, rpl_dio_t *dio)
rpl_remove_neighbor(dag, n); rpl_remove_neighbor(dag, n);
} else if(dag->of->increment_rank(dio->dag_rank, n) <= dag->min_rank + dag->max_rankinc) { } else if(dag->of->increment_rank(dio->dag_rank, n) <= dag->min_rank + dag->max_rankinc) {
dag->rank = dag->of->increment_rank(dio->dag_rank, n); dag->rank = dag->of->increment_rank(dio->dag_rank, n);
PRINTF("RPL: New rank is %i, max is %i\n", dag->rank, dag->min_rank + dag->max_rankinc); PRINTF("RPL: New rank is %hu, max is %hu\n",
dag->rank, dag->min_rank + dag->max_rankinc);
rpl_set_default_route(dag, &n->addr); rpl_set_default_route(dag, &n->addr);
} else { } else {
PRINTF("RPL: Cannot find acceptable best neighbor\n"); PRINTF("RPL: Cannot find acceptable best neighbor\n");
@ -559,7 +553,7 @@ rpl_process_dio(uip_ipaddr_t *from, rpl_dio_t *dio)
} }
n->rank = dio->dag_rank; n->rank = dio->dag_rank;
PRINTF("RPL: New parent with rank %d ", n->rank); PRINTF("RPL: New parent with rank %hu ", n->rank);
PRINT6ADDR(from); PRINT6ADDR(from);
PRINTF("\n"); PRINTF("\n");
new_parent = 1; new_parent = 1;
@ -567,7 +561,7 @@ rpl_process_dio(uip_ipaddr_t *from, rpl_dio_t *dio)
new_rank = dag->of->increment_rank(dio->dag_rank, n); new_rank = dag->of->increment_rank(dio->dag_rank, n);
if(new_rank < dag->rank) { if(new_rank < dag->rank) {
PRINTF("RPL: Moving up within the DAG from rank %d to %d\n", PRINTF("RPL: Moving up within the DAG from rank %hu to %hu\n",
dag->rank, new_rank); dag->rank, new_rank);
dag->rank = new_rank; dag->rank = new_rank;
dag->min_rank = new_rank; /* So far this is the lowest rank we know */ dag->min_rank = new_rank; /* So far this is the lowest rank we know */
@ -591,7 +585,7 @@ rpl_process_dio(uip_ipaddr_t *from, rpl_dio_t *dio)
if(n != NULL && n->rank < dio->dag_rank) { if(n != NULL && n->rank < dio->dag_rank) {
PRINTF("RPL: Parent "); PRINTF("RPL: Parent ");
PRINT6ADDR(&n->addr); PRINT6ADDR(&n->addr);
PRINTF(" has increased in rank from %d to %d. Removing it.\n", PRINTF(" has increased in rank from %hu to %hu. Removing it.\n",
n->rank, dio->dag_rank); n->rank, dio->dag_rank);
rpl_remove_neighbor(dag, n); rpl_remove_neighbor(dag, n);
if(RPL_PARENT_COUNT(dag) == 0) { if(RPL_PARENT_COUNT(dag) == 0) {
@ -632,7 +626,8 @@ rpl_ds6_neighbor_callback(uip_ds6_nbr_t *nbr)
if(dag->rank < dag->min_rank) { if(dag->rank < dag->min_rank) {
dag->min_rank = dag->rank; dag->min_rank = dag->rank;
} }
PRINTF("New rank is %i, max is %i\n", dag->rank, dag->min_rank + dag->max_rankinc); PRINTF("RPL: New rank is %hu, max is %hu\n",
dag->rank, dag->min_rank + dag->max_rankinc);
rpl_set_default_route(dag, &n->addr); rpl_set_default_route(dag, &n->addr);
} else { } else {
PRINTF("RPL: Cannot find the best neighbor\n"); PRINTF("RPL: Cannot find the best neighbor\n");

View file

@ -33,7 +33,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: rpl-icmp6.c,v 1.5 2010/05/04 14:41:55 joxe Exp $ * $Id: rpl-icmp6.c,v 1.6 2010/05/04 22:55:32 nvt-se Exp $
*/ */
/** /**
* \file * \file
@ -245,13 +245,13 @@ dio_input(void)
dio.dag_redund = buffer[i + 5]; dio.dag_redund = buffer[i + 5];
dio.dag_max_rankinc = buffer[i + 6]; dio.dag_max_rankinc = buffer[i + 6];
dio.dag_min_hoprankinc = buffer[i + 7]; dio.dag_min_hoprankinc = buffer[i + 7];
PRINTF("RPL: DIO trickle timer:dbl=%d, min=%d red=%d maxinc=%d mininc=%d\n", dio.dag_intdoubl, PRINTF("RPL: DIO trickle timer: dbl=%d, min=%d red=%d maxinc=%d mininc=%d\n",
dio.dag_intmin, dio.dag_redund, dio.dag_intdoubl, dio.dag_intmin, dio.dag_redund,
dio.dag_max_rankinc, dio.dag_min_hoprankinc); dio.dag_max_rankinc, dio.dag_min_hoprankinc);
break; break;
case RPL_DIO_SUBOPT_OCP: case RPL_DIO_SUBOPT_OCP:
dio.ocp = buffer[i + 3] << 8 | buffer[i + 4]; dio.ocp = buffer[i + 3] << 8 | buffer[i + 4];
PRINTF("RPL: DAG OCP Sub-opt received OCP = %d\n", dio.ocp); PRINTF("RPL: DAG OCP Sub-opt received OCP = %u\n", dio.ocp);
break; break;
} }
} }
@ -267,7 +267,7 @@ dio_output(rpl_dag_t *dag, uip_ipaddr_t *uc_addr)
uip_ipaddr_t addr; uip_ipaddr_t addr;
/* DAG Information Solicitation */ /* DAG Information Solicitation */
PRINTF("RPL: Sending a DIO with rank: %d\n", dag->rank); PRINTF("RPL: Sending a DIO with rank: %hu\n", dag->rank);
pos = 0; pos = 0;
buffer = UIP_ICMP_PAYLOAD; buffer = UIP_ICMP_PAYLOAD;
@ -312,11 +312,11 @@ dio_output(rpl_dag_t *dag, uip_ipaddr_t *uc_addr)
/* Unicast requests get unicast replies! */ /* Unicast requests get unicast replies! */
if(uc_addr == NULL) { if(uc_addr == NULL) {
PRINTF("RPL: Sending a multicast-DIO with rank %d\n", dag->rank); PRINTF("RPL: Sending a multicast-DIO with rank %hu\n", dag->rank);
uip_create_linklocal_allrouters_mcast(&addr); uip_create_linklocal_allrouters_mcast(&addr);
uip_icmp6_send(&addr, ICMP6_RPL, RPL_CODE_DIO, pos); uip_icmp6_send(&addr, ICMP6_RPL, RPL_CODE_DIO, pos);
} else { } else {
PRINTF("RPL: Sending unicast-DIO with rank %d to ", dag->rank); PRINTF("RPL: Sending unicast-DIO with rank %hu to ", dag->rank);
PRINT6ADDR(uc_addr); PRINT6ADDR(uc_addr);
PRINTF("\n"); PRINTF("\n");
uip_icmp6_send(uc_addr, ICMP6_RPL, RPL_CODE_DIO, pos); uip_icmp6_send(uc_addr, ICMP6_RPL, RPL_CODE_DIO, pos);
@ -366,12 +366,12 @@ dao_input(void)
dag = rpl_get_dag(instance_id); dag = rpl_get_dag(instance_id);
if(dag == NULL) { if(dag == NULL) {
PRINTF("RPL: Ignoring a DAO for a different DAG instance (%d)\n", PRINTF("RPL: Ignoring a DAO for a different DAG instance (%u)\n",
instance_id); instance_id);
return; return;
} }
PRINTF("RPL: Incoming DAO rank is %d, my rank is %d\n", rank, dag->rank); PRINTF("RPL: Incoming DAO rank is %hu, my rank is %hu\n", rank, dag->rank);
if(rank < dag->rank) { if(rank < dag->rank) {
return; return;
} }

View file

@ -32,7 +32,7 @@
* *
* This file is part of the Contiki operating system. * This file is part of the Contiki operating system.
* *
* $Id: rpl-timers.c,v 1.1 2010/04/30 13:43:53 joxe Exp $ * $Id: rpl-timers.c,v 1.2 2010/05/04 22:55:32 nvt-se Exp $
*/ */
/** /**
* \file * \file
@ -66,10 +66,10 @@ handle_periodic_timer(void *ptr)
/* handle DIS */ /* handle DIS */
#ifdef RPL_DIS_SEND #ifdef RPL_DIS_SEND
next_dis++; next_dis++;
if(rpl_get_dag(RPL_ANY_INSTANCE) == NULL && next_dis >= RPL_DIS_INTERVAL) { if(rpl_get_dag(RPL_ANY_INSTANCE) == NULL && next_dis >= RPL_DIS_INTERVAL) {
next_dis = 0; next_dis = 0;
dis_output(NULL); dis_output(NULL);
} }
#endif #endif
ctimer_reset(&periodic_timer); ctimer_reset(&periodic_timer);
} }
@ -79,14 +79,17 @@ new_dio_interval(rpl_dag_t *dag)
{ {
unsigned long time; unsigned long time;
/* TODO!!! too small timer intervals for many cases */ /* TODO: too small timer intervals for many cases */
time = 1L << dag->dio_intcurrent; time = 1L << dag->dio_intcurrent;
/* need to convert from milliseconds to CLOCK_TICKS */ /* need to convert from milliseconds to CLOCK_TICKS */
time = (time * CLOCK_SECOND) / 1000; time = (time * CLOCK_SECOND) / 1000;
dag->dio_next_delay = time; dag->dio_next_delay = time;
/* random number between I/2 and I */ /* random number between I/2 and I */
time = time >> 1; time = time >> 1;
time += (time * random_rand()) / RANDOM_MAX; time += (time * random_rand()) / RANDOM_MAX;
dag->dio_next_delay -= time; dag->dio_next_delay -= time;
dag->dio_send = 1; dag->dio_send = 1;