In uStreamer, add a quic_enable_bandwidth_overestimate_avoidance experiment flag and use it to enable bandwidth overestimate avoidance(connection option BSAO) for BBR and BBRv2.

In a follow up cl, I'll add two more experiments to QuicBbrV2Study, one for BBR+BSAO, another for BBRv2+BSAO.

(n/a) no behavior change.

PiperOrigin-RevId: 321646584
Change-Id: I35e3e037418d12bdd28355e13d3ae2401de4c7c0
diff --git a/quic/core/congestion_control/bbr2_sender.cc b/quic/core/congestion_control/bbr2_sender.cc
index 3f80f42..3c7ba2f 100644
--- a/quic/core/congestion_control/bbr2_sender.cc
+++ b/quic/core/congestion_control/bbr2_sender.cc
@@ -95,9 +95,6 @@
   if (config.HasClientRequestedIndependentOption(kBBR9, perspective)) {
     params_.flexible_app_limited = true;
   }
-  if (config.HasClientRequestedIndependentOption(kBSAO, perspective)) {
-    model_.EnableOverestimateAvoidance();
-  }
   if (config.HasClientRequestedIndependentOption(kB2NA, perspective)) {
     params_.add_ack_height_to_queueing_threshold = false;
   }
@@ -139,6 +136,9 @@
     params_.startup_cwnd_gain = 2;
     params_.drain_cwnd_gain = 2;
   }
+  if (ContainsQuicTag(connection_options, kBSAO)) {
+    model_.EnableOverestimateAvoidance();
+  }
 }
 
 Limits<QuicByteCount> Bbr2Sender::GetCwndLimitsByMode() const {