Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug29527 #722

Closed
wants to merge 11 commits into from
Prev
fixup! Fix test prob distr parameters that caused warnings.
  • Loading branch information
asn-d6 committed Feb 26, 2019
commit 5b616a4831979bf25ad3429b0673c00f2757dd25
@@ -198,14 +198,23 @@ typedef enum {
* These can be used instead of histograms for the inter-packet
* timing distribution, or to specify a distribution on the number
* of cells that can be sent while in a specific state of the state
* machine. */
* machine.
*
* Each distribution takes up to two parameters which are described below. */
typedef enum {
/* No probability distribution is used */
CIRCPAD_DIST_NONE = 0,
/* Uniform distribution: param1 is lower bound and param2 is upper bound */
CIRCPAD_DIST_UNIFORM = 1,
/* Logistic distribution: param1 is Mu, param2 is sigma. */
CIRCPAD_DIST_LOGISTIC = 2,
/* Log-logistic distribution: param1 is Alpha, param2 is 1.0/Beta */
CIRCPAD_DIST_LOG_LOGISTIC = 3,
/* Geometric distribution: param1 is 'p' (success probability) */
CIRCPAD_DIST_GEOMETRIC = 4,
/* Weibull distribution: param1 is k, param2 is Lambda */
CIRCPAD_DIST_WEIBULL = 5,
/* Generalized Pareto distribution: param1 is sigma, param2 is xi */
CIRCPAD_DIST_PARETO = 6
} circpad_distribution_type_t;

@@ -2096,6 +2096,7 @@ helper_circpad_circ_distribution_machine_setup(int min, int max)
circpad_state_t *zero_st = &circ_client_machine.states[0];
zero_st->next_state[CIRCPAD_EVENT_NONPADDING_RECV] = 1;
zero_st->iat_dist.type = CIRCPAD_DIST_UNIFORM;
/* param2 is upper bound, param1 is lower */
zero_st->iat_dist.param1 = min;
zero_st->iat_dist.param2 = max;
zero_st->dist_added_shift_usec = min;
@@ -2104,6 +2105,7 @@ helper_circpad_circ_distribution_machine_setup(int min, int max)
circpad_state_t *first_st = &circ_client_machine.states[1];
first_st->next_state[CIRCPAD_EVENT_NONPADDING_RECV] = 2;
first_st->iat_dist.type = CIRCPAD_DIST_LOGISTIC;
/* param1 is Mu, param2 is sigma. */
first_st->iat_dist.param1 = 9;
first_st->iat_dist.param2 = 3;
first_st->dist_added_shift_usec = min;
@@ -2112,6 +2114,7 @@ helper_circpad_circ_distribution_machine_setup(int min, int max)
circpad_state_t *second_st = &circ_client_machine.states[2];
second_st->next_state[CIRCPAD_EVENT_NONPADDING_RECV] = 3;
second_st->iat_dist.type = CIRCPAD_DIST_LOG_LOGISTIC;
/* param1 is Alpha, param2 is 1.0/Beta */
second_st->iat_dist.param1 = 1;
second_st->iat_dist.param2 = 0.5;
second_st->dist_added_shift_usec = min;
@@ -2120,13 +2123,15 @@ helper_circpad_circ_distribution_machine_setup(int min, int max)
circpad_state_t *third_st = &circ_client_machine.states[3];
third_st->next_state[CIRCPAD_EVENT_NONPADDING_RECV] = 4;
third_st->iat_dist.type = CIRCPAD_DIST_GEOMETRIC;
/* param1 is 'p' (success probability) */
third_st->iat_dist.param1 = 0.2;
third_st->dist_added_shift_usec = min;
third_st->dist_max_sample_usec = max;

circpad_state_t *fourth_st = &circ_client_machine.states[4];
fourth_st->next_state[CIRCPAD_EVENT_NONPADDING_RECV] = 5;
fourth_st->iat_dist.type = CIRCPAD_DIST_WEIBULL;
/* param1 is k, param2 is Lambda */
fourth_st->iat_dist.param1 = 1.5;
fourth_st->iat_dist.param2 = 1;
fourth_st->dist_added_shift_usec = min;
@@ -2135,6 +2140,7 @@ helper_circpad_circ_distribution_machine_setup(int min, int max)
circpad_state_t *fifth_st = &circ_client_machine.states[5];
fifth_st->next_state[CIRCPAD_EVENT_NONPADDING_RECV] = 6;
fifth_st->iat_dist.type = CIRCPAD_DIST_PARETO;
/* param1 is sigma, param2 is xi */
fifth_st->iat_dist.param1 = 1;
fifth_st->iat_dist.param2 = 5;
fifth_st->dist_added_shift_usec = min;