Added rate gates for QOS and ACK packets

This commit is contained in:
Joseph Henry 2018-06-07 15:26:18 -07:00
parent b9975845ff
commit b6d97af451
3 changed files with 49 additions and 0 deletions

View file

@ -274,6 +274,23 @@
*/
#define ZT_MULTIPATH_BINDER_REFRESH_PERIOD 5000
/**
* Time horizon for VERB_QOS_MEASUREMENT and VERB_ACK packet processesing cutoff
*/
#define ZT_PATH_QOS_ACK_CUTOFF_TIME 30000
/**
* Maximum number of VERB_QOS_MEASUREMENT and VERB_ACK packets allowed to be
* processesed within cutoff time. Separate totals are kept for each type but
* the limit is the same for both.
*
* This limits how often this peer will compute statistical estimates
* of various QoS measures from a VERB_QOS_MEASUREMENT or VERB_ACK packets to
* CUTOFF_LIMIT times per CUTOFF_TIME milliseconds per peer to prevent
* this from being useful for DOS amplification attacks.
*/
#define ZT_PATH_QOS_ACK_CUTOFF_LIMIT 16
/**
* Path choice history window size. This is used to keep track of which paths were
* previously selected so that we can maintain a target allocation over time.