Deprecate --gfe2_reloadable_flag_quic_bbr2_enable_bbpd_by_default. PiperOrigin-RevId: 675166014
diff --git a/quiche/common/quiche_feature_flags_list.h b/quiche/common/quiche_feature_flags_list.h index d526bac..84a1efb 100755 --- a/quiche/common/quiche_feature_flags_list.h +++ b/quiche/common/quiche_feature_flags_list.h
@@ -14,7 +14,6 @@ QUICHE_FLAG(bool, quiche_reloadable_flag_quic_add_stream_info_to_idle_close_detail, false, true, "If true, include stream information in idle timeout connection close detail.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_allow_client_enabled_bbr_v2, true, true, "If true, allow client to enable BBRv2 on server via connection option 'B2ON'.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_allow_host_in_request2, false, false, "If true, requests with a host header will be allowed.") -QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_enable_bbpd_by_default, true, true, "If true, QUIC BBR2 will use a 0.91 PROBE_DOWN gain by default.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_extra_acked_window, false, true, "When true, the BBR4 copt sets the extra_acked window to 20 RTTs and BBR5 sets it to 40 RTTs.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_probe_two_rounds, true, true, "When true, the BB2U copt causes BBR2 to wait two rounds with out draining the queue before exiting PROBE_UP and BB2S has the same effect in STARTUP.") QUICHE_FLAG(bool, quiche_reloadable_flag_quic_bbr2_simplify_inflight_hi, true, true, "When true, the BBHI copt causes QUIC BBRv2 to use a simpler algorithm for raising inflight_hi in PROBE_UP.")
diff --git a/quiche/quic/core/congestion_control/bbr2_misc.h b/quiche/quic/core/congestion_control/bbr2_misc.h index 15dcd53..6dbe904 100644 --- a/quiche/quic/core/congestion_control/bbr2_misc.h +++ b/quiche/quic/core/congestion_control/bbr2_misc.h
@@ -139,7 +139,7 @@ // Pacing gains. float probe_bw_probe_up_pacing_gain = 1.25; - float probe_bw_probe_down_pacing_gain = 0.75; + float probe_bw_probe_down_pacing_gain = 0.91; float probe_bw_default_pacing_gain = 1.0; float probe_bw_cwnd_gain = 2.0;
diff --git a/quiche/quic/core/congestion_control/bbr2_sender.cc b/quiche/quic/core/congestion_control/bbr2_sender.cc index be7f132..3e4ecb3 100644 --- a/quiche/quic/core/congestion_control/bbr2_sender.cc +++ b/quiche/quic/core/congestion_control/bbr2_sender.cc
@@ -197,12 +197,6 @@ if (ContainsQuicTag(connection_options, kB206)) { params_.startup_full_loss_count = params_.probe_bw_full_loss_count; } - if (GetQuicReloadableFlag(quic_bbr2_enable_bbpd_by_default) || - ContainsQuicTag(connection_options, kBBPD)) { - QUIC_RELOADABLE_FLAG_COUNT(quic_bbr2_enable_bbpd_by_default); - // Derived constant to ensure fairness. - params_.probe_bw_probe_down_pacing_gain = 0.91; - } if (GetQuicReloadableFlag(quic_bbr2_simplify_inflight_hi) && ContainsQuicTag(connection_options, kBBHI)) { QUIC_RELOADABLE_FLAG_COUNT(quic_bbr2_simplify_inflight_hi);
diff --git a/quiche/quic/core/congestion_control/bbr2_simulator_test.cc b/quiche/quic/core/congestion_control/bbr2_simulator_test.cc index 7bae93d..3cc8198 100644 --- a/quiche/quic/core/congestion_control/bbr2_simulator_test.cc +++ b/quiche/quic/core/congestion_control/bbr2_simulator_test.cc
@@ -2386,39 +2386,6 @@ ASSERT_TRUE(simulator_result); } -TEST_F(Bbr2MultiSenderTest, Bbr2VsBbr2BBPD) { - SetConnectionOption(sender_0_, kBBPD); - Bbr2Sender* sender_1 = SetupBbr2Sender(sender_endpoints_[1].get()); - SetConnectionOption(sender_1, kBBPD); - - MultiSenderTopologyParams params; - CreateNetwork(params); - - const QuicByteCount transfer_size = 10 * 1024 * 1024; - const QuicTime::Delta transfer_time = - params.BottleneckBandwidth().TransferTime(transfer_size); - QUIC_LOG(INFO) << "Single flow transfer time: " << transfer_time; - - // Transfer 10% of data in first transfer. - sender_endpoints_[0]->AddBytesToTransfer(transfer_size); - bool simulator_result = simulator_.RunUntilOrTimeout( - [this]() { - return receiver_endpoints_[0]->bytes_received() >= 0.1 * transfer_size; - }, - transfer_time); - ASSERT_TRUE(simulator_result); - - // Start the second transfer and wait until both finish. - sender_endpoints_[1]->AddBytesToTransfer(transfer_size); - simulator_result = simulator_.RunUntilOrTimeout( - [this]() { - return receiver_endpoints_[0]->bytes_received() == transfer_size && - receiver_endpoints_[1]->bytes_received() == transfer_size; - }, - 3 * transfer_time); - ASSERT_TRUE(simulator_result); -} - TEST_F(Bbr2MultiSenderTest, QUIC_SLOW_TEST(MultipleBbr2s)) { const int kTotalNumSenders = 6; for (int i = 1; i < kTotalNumSenders; ++i) {
diff --git a/quiche/quic/core/crypto/crypto_protocol.h b/quiche/quic/core/crypto/crypto_protocol.h index 83e6ab7..e05f869 100644 --- a/quiche/quic/core/crypto/crypto_protocol.h +++ b/quiche/quic/core/crypto/crypto_protocol.h
@@ -31,7 +31,7 @@ // "QNZR", "B2HI", "H2PR", "FIFO", "LIFO", "RRWS", "QNSP", "B2CL", "CHSP", // "BPTE", "ACKD", "AKD2", "AKD4", "MAD1", "MAD4", "MAD5", "ACD0", "ACKQ", // "TLPR", "CCS\0", "PDP4", "NCHP", "NBPE", "2RTO", "3RTO", "4RTO", "6RTO", -// "PDP1", "PDP2", "PDP3", "PDP5", "QLVE", "RVCM" +// "PDP1", "PDP2", "PDP3", "PDP5", "QLVE", "RVCM", "BBPD" // clang-format off const QuicTag kCHLO = TAG('C', 'H', 'L', 'O'); // Client hello @@ -125,7 +125,6 @@ // bw_lo * bytes_lost/cwnd const QuicTag kBBQ0 = TAG('B', 'B', 'Q', '0'); // Increase bytes_acked in // PROBE_UP when app limited. -const QuicTag kBBPD = TAG('B', 'B', 'P', 'D'); // Use 0.91 PROBE_DOWN gain. const QuicTag kBBHI = TAG('B', 'B', 'H', 'I'); // Increase inflight_hi in // PROBE_UP if ever inflight_hi // limited in round