Merge pull request #503 from simonduq/contrib/rpl-lite-disable-squared-etx
RPL Lite: disable MRHOF ETX squaring by default
This commit is contained in:
commit
fae44c09f5
@ -64,7 +64,7 @@
|
||||
/* ETX fixed point divisor. 128 is the value used by RPL (RFC 6551 and RFC 6719) */
|
||||
#define ETX_DIVISOR LINK_STATS_ETX_DIVISOR
|
||||
/* Number of Tx used to update the ETX EWMA in case of no-ACK */
|
||||
#define ETX_NOACK_PENALTY 16
|
||||
#define ETX_NOACK_PENALTY 20
|
||||
/* Initial ETX value */
|
||||
#define ETX_DEFAULT 2
|
||||
|
||||
|
@ -58,12 +58,17 @@
|
||||
* compute the ETX value. This MRHOF implementation relies on the value
|
||||
* computed by the link-stats module.It has an optional feature,
|
||||
* RPL_MRHOF_CONF_SQUARED_ETX, that consists in squaring this value.
|
||||
* This basically penalizes bad links while preserving the semantics of ETX
|
||||
*
|
||||
* Squaring basically penalizes bad links while preserving the semantics of ETX
|
||||
* (1 = perfect link, more = worse link). As a result, MRHOF will favor
|
||||
* good links over short paths. Recommended when reliability is a priority.
|
||||
* Without this feature, a hop with 50% PRR (ETX=2) is equivalent to two
|
||||
* perfect hops with 100% PRR (ETX=1+1=2). With this feature, the former
|
||||
* path obtains ETX=2*2=4 and the former ETX=1*1+1*1=2. */
|
||||
* good links over short paths. Without this feature, a hop with 50% PRR (ETX=2)
|
||||
* is equivalent to two perfect hops with 100% PRR (ETX=1+1=2). With this
|
||||
* feature, the former path obtains ETX=2*2=4 and the former ETX=1*1+1*1=2.
|
||||
*
|
||||
* While this feature helps achieve extra relaibility, it also results in
|
||||
* added churn. In networks with high congestion or poor links, this can lead
|
||||
* to poor connectivity due to more parent switches, loops, Trickle resets, etc.
|
||||
*/
|
||||
#ifdef RPL_MRHOF_CONF_SQUARED_ETX
|
||||
#define RPL_MRHOF_SQUARED_ETX RPL_MRHOF_CONF_SQUARED_ETX
|
||||
#else /* RPL_MRHOF_CONF_SQUARED_ETX */
|
||||
|
@ -58,16 +58,21 @@
|
||||
* compute the ETX value. This MRHOF implementation relies on the value
|
||||
* computed by the link-stats module.It has an optional feature,
|
||||
* RPL_MRHOF_CONF_SQUARED_ETX, that consists in squaring this value.
|
||||
* This basically penalizes bad links while preserving the semantics of ETX
|
||||
*
|
||||
* Squaring basically penalizes bad links while preserving the semantics of ETX
|
||||
* (1 = perfect link, more = worse link). As a result, MRHOF will favor
|
||||
* good links over short paths. Recommended when reliability is a priority.
|
||||
* Without this feature, a hop with 50% PRR (ETX=2) is equivalent to two
|
||||
* perfect hops with 100% PRR (ETX=1+1=2). With this feature, the former
|
||||
* path obtains ETX=2*2=4 and the former ETX=1*1+1*1=2. */
|
||||
* good links over short paths. Without this feature, a hop with 50% PRR (ETX=2)
|
||||
* is equivalent to two perfect hops with 100% PRR (ETX=1+1=2). With this
|
||||
* feature, the former path obtains ETX=2*2=4 and the former ETX=1*1+1*1=2.
|
||||
*
|
||||
* While this feature helps achieve extra relaibility, it also results in
|
||||
* added churn. In networks with high congestion or poor links, this can lead
|
||||
* to poor connectivity due to more parent switches, loops, Trickle resets, etc.
|
||||
*/
|
||||
#ifdef RPL_MRHOF_CONF_SQUARED_ETX
|
||||
#define RPL_MRHOF_SQUARED_ETX RPL_MRHOF_CONF_SQUARED_ETX
|
||||
#else /* RPL_MRHOF_CONF_SQUARED_ETX */
|
||||
#define RPL_MRHOF_SQUARED_ETX 1
|
||||
#define RPL_MRHOF_SQUARED_ETX 0
|
||||
#endif /* RPL_MRHOF_CONF_SQUARED_ETX */
|
||||
|
||||
/* Configuration parameters of RFC6719. Reject parents that have a higher
|
||||
|
Loading…
Reference in New Issue
Block a user