Cleaned up code style, comments, and print outs. Set default DAG parameters when the DIO configuration option is missing.

This commit is contained in:
Nicolas Tsiftes 2012-02-29 21:59:50 +01:00
parent 6e41f6fbe9
commit d0e2d9b47e
7 changed files with 102 additions and 107 deletions

View file

@ -110,10 +110,10 @@
/* Default values for RPL constants and variables. */
/* The default value for the DAO timer. */
#define DEFAULT_DAO_LATENCY (CLOCK_SECOND * 8)
#define RPL_DAO_LATENCY (CLOCK_SECOND * 4)
/* Special value indicating immediate removal. */
#define ZERO_LIFETIME 0
#define RPL_ZERO_LIFETIME 0
/* Default route lifetime unit. */
#define RPL_DEFAULT_LIFETIME_UNIT 0xffff
@ -125,13 +125,14 @@
((unsigned long)(instance)->lifetime_unit * (lifetime))
#ifndef RPL_CONF_MIN_HOPRANKINC
#define DEFAULT_MIN_HOPRANKINC 256
#define RPL_MIN_HOPRANKINC 256
#else
#define DEFAULT_MIN_HOPRANKINC RPL_CONF_MIN_HOPRANKINC
#define RPL_MIN_HOPRANKINC RPL_CONF_MIN_HOPRANKINC
#endif
#define DEFAULT_MAX_RANKINC (7 * DEFAULT_MIN_HOPRANKINC)
#define RPL_MAX_RANKINC (7 * RPL_MIN_HOPRANKINC)
#define DAG_RANK(fixpt_rank, instance) ((fixpt_rank) / (instance)->min_hoprankinc)
#define DAG_RANK(fixpt_rank, instance) \
((fixpt_rank) / (instance)->min_hoprankinc)
/* Rank of a virtual root node that coordinates DAG root nodes. */
#define BASE_RANK 0
@ -148,23 +149,23 @@
means 8 milliseconds, but that is an unreasonable value if
using power-saving / duty-cycling */
#ifdef RPL_CONF_DIO_INTERVAL_MIN
#define DEFAULT_DIO_INTERVAL_MIN RPL_CONF_DIO_INTERVAL_MIN
#define RPL_DIO_INTERVAL_MIN RPL_CONF_DIO_INTERVAL_MIN
#else
#define DEFAULT_DIO_INTERVAL_MIN 12
#define RPL_DIO_INTERVAL_MIN 12
#endif
/* Maximum amount of timer doublings. */
#ifdef RPL_CONF_DIO_INTERVAL_DOUBLINGS
#define DEFAULT_DIO_INTERVAL_DOUBLINGS RPL_CONF_DIO_INTERVAL_DOUBLINGS
#define RPL_DIO_INTERVAL_DOUBLINGS RPL_CONF_DIO_INTERVAL_DOUBLINGS
#else
#define DEFAULT_DIO_INTERVAL_DOUBLINGS 8
#define RPL_DIO_INTERVAL_DOUBLINGS 8
#endif
/* Default DIO redundancy. */
#ifdef RPL_CONF_DIO_REDUNDANCY
#define DEFAULT_DIO_REDUNDANCY RPL_CONF_DIO_REDUNDANCY
#define RPL_DIO_REDUNDANCY RPL_CONF_DIO_REDUNDANCY
#else
#define DEFAULT_DIO_REDUNDANCY 10
#define RPL_DIO_REDUNDANCY 10
#endif
/* Expire DAOs from neighbors that do not respond in this time. (seconds) */
@ -207,6 +208,20 @@
#endif
#define RPL_DIS_START_DELAY 5
/*---------------------------------------------------------------------------*/
/* Lollipop counters */
#define RPL_LOLLIPOP_MAX_VALUE 255
#define RPL_LOLLIPOP_CIRCULAR_REGION 127
#define RPL_LOLLIPOP_SEQUENCE_WINDOWS 16
#define RPL_LOLLIPOP_INIT (RPL_LOLLIPOP_MAX_VALUE - RPL_LOLLIPOP_SEQUENCE_WINDOWS + 1)
#define RPL_LOLLIPOP_INCREMENT(counter) \
((counter) > RPL_LOLLIPOP_CIRCULAR_REGION ? \
++(counter) & RPL_LOLLIPOP_MAX_VALUE : \
++(counter) & RPL_LOLLIPOP_CIRCULAR_REGION)
#define RPL_LOLLIPOP_IS_INIT(counter) \
((counter) > RPL_LOLLIPOP_CIRCULAR_REGION)
/*---------------------------------------------------------------------------*/
/* Logical representation of a DAG Information Object (DIO.) */
struct rpl_dio {
uip_ipaddr_t dag_id;