41 #include "contiki-conf.h"
44 #ifndef RPL_CONF_STATS
45 #define RPL_CONF_STATS 0
56 #ifdef RPL_CONF_OF_OCP
57 #define RPL_OF_OCP RPL_CONF_OF_OCP
59 #define RPL_OF_OCP RPL_OCP_MRHOF
67 #ifdef RPL_CONF_SUPPORTED_OFS
68 #define RPL_SUPPORTED_OFS RPL_CONF_SUPPORTED_OFS
70 #define RPL_SUPPORTED_OFS {&rpl_mrhof}
81 #ifdef RPL_CONF_WITH_MC
82 #define RPL_WITH_MC RPL_CONF_WITH_MC
88 #ifdef RPL_CONF_DAG_MC
89 #define RPL_DAG_MC RPL_CONF_DAG_MC
91 #define RPL_DAG_MC RPL_DAG_MC_NONE
95 #ifdef RPL_CONF_DEFAULT_INSTANCE
96 #define RPL_DEFAULT_INSTANCE RPL_CONF_DEFAULT_INSTANCE
98 #define RPL_DEFAULT_INSTANCE 0x1e
105 #ifdef RPL_CONF_LEAF_ONLY
106 #define RPL_LEAF_ONLY RPL_CONF_LEAF_ONLY
108 #define RPL_LEAF_ONLY 0
114 #ifdef RPL_CONF_MAX_INSTANCES
115 #define RPL_MAX_INSTANCES RPL_CONF_MAX_INSTANCES
117 #define RPL_MAX_INSTANCES 1
123 #ifdef RPL_CONF_MAX_DAG_PER_INSTANCE
124 #define RPL_MAX_DAG_PER_INSTANCE RPL_CONF_MAX_DAG_PER_INSTANCE
126 #define RPL_MAX_DAG_PER_INSTANCE 2
139 #ifdef RPL_CONF_DEFAULT_ROUTE_INFINITE_LIFETIME
140 #define RPL_DEFAULT_ROUTE_INFINITE_LIFETIME RPL_CONF_DEFAULT_ROUTE_INFINITE_LIFETIME
142 #define RPL_DEFAULT_ROUTE_INFINITE_LIFETIME 1
151 #ifdef RPL_CONF_DAG_LIFETIME
152 #define RPL_DAG_LIFETIME RPL_CONF_DAG_LIFETIME
154 #define RPL_DAG_LIFETIME 3
160 #ifndef RPL_CONF_DAO_SPECIFY_DAG
161 #if RPL_MAX_DAG_PER_INSTANCE > 1
162 #define RPL_DAO_SPECIFY_DAG 1
164 #define RPL_DAO_SPECIFY_DAG 0
167 #define RPL_DAO_SPECIFY_DAG RPL_CONF_DAO_SPECIFY_DAG
178 #ifdef RPL_CONF_DIO_INTERVAL_MIN
179 #define RPL_DIO_INTERVAL_MIN RPL_CONF_DIO_INTERVAL_MIN
181 #define RPL_DIO_INTERVAL_MIN 12
191 #ifdef RPL_CONF_DIO_INTERVAL_DOUBLINGS
192 #define RPL_DIO_INTERVAL_DOUBLINGS RPL_CONF_DIO_INTERVAL_DOUBLINGS
194 #define RPL_DIO_INTERVAL_DOUBLINGS 8
204 #ifdef RPL_CONF_DIO_REDUNDANCY
205 #define RPL_DIO_REDUNDANCY RPL_CONF_DIO_REDUNDANCY
207 #define RPL_DIO_REDUNDANCY 10
214 #ifndef RPL_CONF_DEFAULT_LIFETIME_UNIT
215 #define RPL_DEFAULT_LIFETIME_UNIT 60
217 #define RPL_DEFAULT_LIFETIME_UNIT RPL_CONF_DEFAULT_LIFETIME_UNIT
223 #ifndef RPL_CONF_DEFAULT_LIFETIME
224 #define RPL_DEFAULT_LIFETIME 30
226 #define RPL_DEFAULT_LIFETIME RPL_CONF_DEFAULT_LIFETIME
232 #ifdef RPL_CONF_PREFERENCE
233 #define RPL_PREFERENCE RPL_CONF_PREFERENCE
235 #define RPL_PREFERENCE 0
242 #ifdef RPL_CONF_WITH_DAO_ACK
243 #define RPL_WITH_DAO_ACK RPL_CONF_WITH_DAO_ACK
245 #define RPL_WITH_DAO_ACK 0
253 #ifdef RPL_CONF_RPL_REPAIR_ON_DAO_NACK
254 #define RPL_REPAIR_ON_DAO_NACK RPL_CONF_RPL_REPAIR_ON_DAO_NACK
256 #define RPL_REPAIR_ON_DAO_NACK 0
266 #ifdef RPL_CONF_DIO_REFRESH_DAO_ROUTES
267 #define RPL_DIO_REFRESH_DAO_ROUTES RPL_CONF_DIO_REFRESH_DAO_ROUTES
269 #define RPL_DIO_REFRESH_DAO_ROUTES 1
276 #ifdef RPL_CONF_WITH_PROBING
277 #define RPL_WITH_PROBING RPL_CONF_WITH_PROBING
279 #define RPL_WITH_PROBING 1
285 #ifdef RPL_CONF_PROBING_INTERVAL
286 #define RPL_PROBING_INTERVAL RPL_CONF_PROBING_INTERVAL
288 #define RPL_PROBING_INTERVAL (120 * CLOCK_SECOND)
294 #ifdef RPL_CONF_PROBING_SELECT_FUNC
295 #define RPL_PROBING_SELECT_FUNC RPL_CONF_PROBING_SELECT_FUNC
297 #define RPL_PROBING_SELECT_FUNC get_probing_target
308 #ifdef RPL_CONF_PROBING_SEND_FUNC
309 #define RPL_PROBING_SEND_FUNC RPL_CONF_PROBING_SEND_FUNC
311 #define RPL_PROBING_SEND_FUNC(instance, addr) dio_output((instance), (addr))
317 #ifdef RPL_CONF_PROBING_DELAY_FUNC
318 #define RPL_PROBING_DELAY_FUNC RPL_CONF_PROBING_DELAY_FUNC
320 #define RPL_PROBING_DELAY_FUNC get_probing_delay
326 #ifdef RPL_CONF_DIS_INTERVAL
327 #define RPL_DIS_INTERVAL RPL_CONF_DIS_INTERVAL
329 #define RPL_DIS_INTERVAL 60
335 #ifdef RPL_CONF_DIS_START_DELAY
336 #define RPL_DIS_START_DELAY RPL_CONF_DIS_START_DELAY
338 #define RPL_DIS_START_DELAY 5