112 const char *alpha_str = NULL, *beta_str = NULL, *gamma_str = NULL;
113 const char *delta_str = NULL, *sscap_str = NULL;
114 int alpha, beta, gamma, delta, ss_cwnd_cap;
118 alpha_str =
"cc_vegas_alpha_sbws";
119 beta_str =
"cc_vegas_beta_sbws";
120 gamma_str =
"cc_vegas_gamma_sbws";
121 delta_str =
"cc_vegas_delta_sbws";
122 sscap_str =
"cc_sscap_sbws";
123 alpha = VEGAS_ALPHA_SBWS_DFLT;
124 beta = VEGAS_BETA_SBWS_DFLT;
125 gamma = VEGAS_GAMMA_SBWS_DFLT;
126 delta = VEGAS_DELTA_SBWS_DFLT;
127 ss_cwnd_cap = VEGAS_SSCAP_SBWS_DFLT;
130 case CC_PATH_ONION_SOS:
131 alpha_str =
"cc_vegas_alpha_exit";
132 beta_str =
"cc_vegas_beta_exit";
133 gamma_str =
"cc_vegas_gamma_exit";
134 delta_str =
"cc_vegas_delta_exit";
135 sscap_str =
"cc_sscap_exit";
136 alpha = VEGAS_ALPHA_EXIT_DFLT;
137 beta = VEGAS_BETA_EXIT_DFLT;
138 gamma = VEGAS_GAMMA_EXIT_DFLT;
139 delta = VEGAS_DELTA_EXIT_DFLT;
140 ss_cwnd_cap = VEGAS_SSCAP_EXIT_DFLT;
143 case CC_PATH_ONION_VG:
144 alpha_str =
"cc_vegas_alpha_onion";
145 beta_str =
"cc_vegas_beta_onion";
146 gamma_str =
"cc_vegas_gamma_onion";
147 delta_str =
"cc_vegas_delta_onion";
148 sscap_str =
"cc_sscap_onion";
149 alpha = VEGAS_ALPHA_ONION_DFLT;
150 beta = VEGAS_BETA_ONION_DFLT;
151 gamma = VEGAS_GAMMA_ONION_DFLT;
152 delta = VEGAS_DELTA_ONION_DFLT;
153 ss_cwnd_cap = VEGAS_SSCAP_ONION_DFLT;
196 cc_vegas_cwnd_full_minpct =
202 cc_vegas_cwnd_full_gap =
208 cc_cwnd_full_per_cwnd =
443 if (queue_use < cc->vegas_params.gamma && !cc->
blocked_chan) {
458 cc_stats_vegas_below_ss_inc_floor++;
461 cc_stats_vegas_ss_csig_blocked_ma =
462 stats_update_running_avg(cc_stats_vegas_ss_csig_blocked_ma,
467 uint64_t old_cwnd = cc->
cwnd;
474 cc_stats_vegas_ss_csig_blocked_ma =
475 stats_update_running_avg(cc_stats_vegas_ss_csig_blocked_ma,
478 uint64_t cwnd_diff = (old_cwnd > cc->
cwnd ? old_cwnd - cc->
cwnd : 0);
480 cc_stats_vegas_ss_csig_blocked_ma =
481 stats_update_running_avg(cc_stats_vegas_ss_csig_blocked_ma,
485 cc_stats_vegas_gamma_drop_ma =
486 stats_update_running_avg(cc_stats_vegas_gamma_drop_ma,
499 cc_stats_vegas_ss_queue_ma =
500 stats_update_running_avg(cc_stats_vegas_ss_queue_ma,
505 uint64_t old_cwnd = cc->
cwnd;
513 cwnd_diff = (old_cwnd > cc->
cwnd ? old_cwnd - cc->
cwnd : 0);
514 cc_stats_vegas_delta_drop_ma =
515 stats_update_running_avg(cc_stats_vegas_delta_drop_ma,
521 cc_stats_vegas_csig_alpha_ma =
522 stats_update_running_avg(cc_stats_vegas_csig_alpha_ma,
524 cc_stats_vegas_csig_beta_ma =
525 stats_update_running_avg(cc_stats_vegas_csig_beta_ma,
527 cc_stats_vegas_csig_delta_ma =
528 stats_update_running_avg(cc_stats_vegas_csig_delta_ma,
535 cc_stats_vegas_csig_blocked_ma =
536 stats_update_running_avg(cc_stats_vegas_csig_blocked_ma,
539 cc_stats_vegas_csig_blocked_ma =
540 stats_update_running_avg(cc_stats_vegas_csig_blocked_ma,
545 cc_stats_vegas_csig_alpha_ma =
546 stats_update_running_avg(cc_stats_vegas_csig_alpha_ma,
548 cc_stats_vegas_csig_beta_ma =
549 stats_update_running_avg(cc_stats_vegas_csig_beta_ma,
551 cc_stats_vegas_csig_delta_ma =
552 stats_update_running_avg(cc_stats_vegas_csig_delta_ma,
555 queue_use < cc->vegas_params.alpha) {
559 cc_stats_vegas_csig_alpha_ma =
560 stats_update_running_avg(cc_stats_vegas_csig_alpha_ma,
562 cc_stats_vegas_csig_beta_ma =
563 stats_update_running_avg(cc_stats_vegas_csig_beta_ma,
565 cc_stats_vegas_csig_delta_ma =
566 stats_update_running_avg(cc_stats_vegas_csig_delta_ma,
570 cc_stats_vegas_csig_alpha_ma =
571 stats_update_running_avg(cc_stats_vegas_csig_alpha_ma,
573 cc_stats_vegas_csig_beta_ma =
574 stats_update_running_avg(cc_stats_vegas_csig_beta_ma,
576 cc_stats_vegas_csig_delta_ma =
577 stats_update_running_avg(cc_stats_vegas_csig_delta_ma,
587 cc_stats_vegas_queue_ma =
588 stats_update_running_avg(cc_stats_vegas_queue_ma,
590 cc_stats_vegas_bdp_ma =
591 stats_update_running_avg(cc_stats_vegas_bdp_ma,
597 "CC: TOR_VEGAS above ss_max in steady state for circ %d: %"PRIu64,