congestion: заменить AIMD на BBR v3 (per-link), добавить юнит-тесты BBR
- Новые файлы: src/etcp_bbr.h/c — полный порт BBR v3 из BBR/bbr_v3.c (референс сохранён) - struct ETCP_LINK: удалены AIMD-поля (rtt_history, rtt_swm, stat_win, stats_timer, inflight_phase...), добавлены bbr*, delivered_bytes, bbr_pacing_rate - struct INFLIGHT_PACKET: +3 поля для rate_sample (delivered_at_send, inflight_at_send, is_app_limited) - etcp_ack_recv: вызов bbr_main() с rate_sample, обновление inflight_lim_bytes и pacing - etcp_request_pkt: заполнение BBR rate_sample полей при отправке - Шейпер: bandwidth обновляется из bbr_pacing_rate - Конфиг: inflight_min/max заменены на bbr_max_cwnd - Дамп: BBR поля (mode, cycle, pacing, min_rtt_us, bw_hi/lo, inflight_hi/lo) - Time injection: bbr->now_tb для детерминированных тестов - tests/test_etcp_bbr.c: 8 юнит-тестов (init, startup, full_bw/drain, loss, cwnd cap, loss cut, fast_path, probe_rtt) - Отключены test_etcp_congestion и test_etcp_reinit_inflight (старый congestion control) - 40/40 тестов пройдено
This commit is contained in:
1 parent
a80ba30b06
commit
6c79939db3
14 files changed
+3716
-332
No files matched your search
@@ -1068,7 +1068,7 @@ static void send_metrics(struct control_server* server, struct control_client* c
|
||||
link_info[i].bandwidth = link->bandwidth;
|
||||
link_info[i].nat_changes_count = link->nat_changes_count;
|
||||
link_info[i].rtt_last = link->rtt_last;
|
||||
link_info[i].rtt_avg10 = link->rtt_avg10;
|
||||
link_info[i].rtt_avg10 = link->bbr ? link->bbr->min_rtt_us / 100 : 0;
|
||||
link_info[i].tt_last = link->tt_last;
|
||||
link_info[i].init_timer_active = (link->init_timer != NULL) ? 1 : 0;
|
||||
link_info[i].keepalive_timer_active = (link->keepalive_timer != NULL) ? 1 : 0;
|
||||
|
||||
Reference in new issue
Block a user