Deprecate --gfe2_reloadable_flag_quic_bbr2_support_max_bootstrap_cwnd. PiperOrigin-RevId: 344823608 Change-Id: I001a91418e5ca3fb07ad8bd2edf8fed791e6255f
diff --git a/quic/core/congestion_control/bbr2_sender.cc b/quic/core/congestion_control/bbr2_sender.cc index e0bd610..9a9cda0 100644 --- a/quic/core/congestion_control/bbr2_sender.cc +++ b/quic/core/congestion_control/bbr2_sender.cc
@@ -121,9 +121,7 @@ if (config.HasClientRequestedIndependentOption(kB2HR, perspective)) { params_.inflight_hi_headroom = 0.15; } - if (GetQuicReloadableFlag(quic_bbr2_support_max_bootstrap_cwnd) && - config.HasClientRequestedIndependentOption(kICW1, perspective)) { - QUIC_RELOADABLE_FLAG_COUNT_N(quic_bbr2_support_max_bootstrap_cwnd, 1, 4); + if (config.HasClientRequestedIndependentOption(kICW1, perspective)) { max_cwnd_when_network_parameters_adjusted_ = 100 * kDefaultTCPMSS; } @@ -187,22 +185,14 @@ std::max(params.bandwidth, model_.BandwidthEstimate()); connection_stats_->cwnd_bootstrapping_rtt_us = model_.MinRtt().ToMicroseconds(); - if (GetQuicReloadableFlag(quic_bbr2_support_max_bootstrap_cwnd)) { - if (params.max_initial_congestion_window > 0) { - QUIC_RELOADABLE_FLAG_COUNT_N(quic_bbr2_support_max_bootstrap_cwnd, 2, - 4); - max_cwnd_when_network_parameters_adjusted_ = - params.max_initial_congestion_window * kDefaultTCPMSS; - } else { - QUIC_RELOADABLE_FLAG_COUNT_N(quic_bbr2_support_max_bootstrap_cwnd, 3, - 4); - } - cwnd_ = cwnd_limits().ApplyLimits( - std::min(max_cwnd_when_network_parameters_adjusted_, - model_.BDP(effective_bandwidth))); - } else { - cwnd_ = cwnd_limits().ApplyLimits(model_.BDP(effective_bandwidth)); + + if (params.max_initial_congestion_window > 0) { + max_cwnd_when_network_parameters_adjusted_ = + params.max_initial_congestion_window * kDefaultTCPMSS; } + cwnd_ = cwnd_limits().ApplyLimits( + std::min(max_cwnd_when_network_parameters_adjusted_, + model_.BDP(effective_bandwidth))); if (!params.allow_cwnd_to_decrease) { cwnd_ = std::max(cwnd_, prior_cwnd);
diff --git a/quic/core/congestion_control/bbr2_simulator_test.cc b/quic/core/congestion_control/bbr2_simulator_test.cc index c3362b3..d372cf9 100644 --- a/quic/core/congestion_control/bbr2_simulator_test.cc +++ b/quic/core/congestion_control/bbr2_simulator_test.cc
@@ -1105,12 +1105,10 @@ SendAlgorithmInterface::NetworkParams(1024 * params.BottleneckBandwidth(), QuicTime::Delta::Zero(), false)); - if (GetQuicReloadableFlag(quic_bbr2_support_max_bootstrap_cwnd)) { - // Verify cwnd is capped at 200. - EXPECT_EQ(200 * kDefaultTCPMSS, - sender_->ExportDebugState().congestion_window); - EXPECT_GT(1024 * params.BottleneckBandwidth(), sender_->PacingRate(0)); - } + // Verify cwnd is capped at 200. + EXPECT_EQ(200 * kDefaultTCPMSS, + sender_->ExportDebugState().congestion_window); + EXPECT_GT(1024 * params.BottleneckBandwidth(), sender_->PacingRate(0)); } TEST_F(Bbr2DefaultTopologyTest, @@ -1132,12 +1130,10 @@ network_params.max_initial_congestion_window = 100; sender_connection()->AdjustNetworkParameters(network_params); - if (GetQuicReloadableFlag(quic_bbr2_support_max_bootstrap_cwnd)) { - // Verify cwnd is capped at 100. - EXPECT_EQ(100 * kDefaultTCPMSS, - sender_->ExportDebugState().congestion_window); - EXPECT_GT(1024 * params.BottleneckBandwidth(), sender_->PacingRate(0)); - } + // Verify cwnd is capped at 100. + EXPECT_EQ(100 * kDefaultTCPMSS, + sender_->ExportDebugState().congestion_window); + EXPECT_GT(1024 * params.BottleneckBandwidth(), sender_->PacingRate(0)); } TEST_F(Bbr2DefaultTopologyTest, @@ -1159,12 +1155,10 @@ SendAlgorithmInterface::NetworkParams(1024 * params.BottleneckBandwidth(), QuicTime::Delta::Zero(), false)); - if (GetQuicReloadableFlag(quic_bbr2_support_max_bootstrap_cwnd)) { - // Verify cwnd is capped at 100. - EXPECT_EQ(100 * kDefaultTCPMSS, - sender_->ExportDebugState().congestion_window); - EXPECT_GT(1024 * params.BottleneckBandwidth(), sender_->PacingRate(0)); - } + // Verify cwnd is capped at 100. + EXPECT_EQ(100 * kDefaultTCPMSS, + sender_->ExportDebugState().congestion_window); + EXPECT_GT(1024 * params.BottleneckBandwidth(), sender_->PacingRate(0)); } // All Bbr2MultiSenderTests uses the following network topology:
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h index a193d50..01062fd 100644 --- a/quic/core/quic_flags_list.h +++ b/quic/core/quic_flags_list.h
@@ -13,7 +13,6 @@ QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_avoid_too_low_probe_bw_cwnd, false) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_fewer_startup_round_trips, false) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_startup_loss_exit_use_max_delivered, true) -QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_support_max_bootstrap_cwnd, true) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_bbr2_use_bytes_delivered, false) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_can_send_ack_frequency, true) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_conservative_bursts, false)