Remove connection_option RVCM such that IETF QUIC connection migration is default on.

We need more stats from AFE teams to verify the corresponding flag but it is good to exercise this flag early in the GFE canary.

Protected by FLAGS_quic_reloadable_flag_quic_remove_connection_migration_connection_option_v2.

PiperOrigin-RevId: 440432966
diff --git a/quiche/quic/core/crypto/crypto_protocol.h b/quiche/quic/core/crypto/crypto_protocol.h
index e9a2785..7dbbb6d 100644
--- a/quiche/quic/core/crypto/crypto_protocol.h
+++ b/quiche/quic/core/crypto/crypto_protocol.h
@@ -276,7 +276,7 @@
 const QuicTag kELDT = TAG('E', 'L', 'D', 'T');   // Enable Loss Detection Tuning
 
 // TODO(haoyuewang) Remove RVCM option once
-// --quic_remove_connection_migration_connection_option is deprecated.
+// --quic_remove_connection_migration_connection_option_v2 is deprecated.
 const QuicTag kRVCM = TAG('R', 'V', 'C', 'M');   // Validate the new address
                                                  // upon client address change.
 
diff --git a/quiche/quic/core/http/end_to_end_test.cc b/quiche/quic/core/http/end_to_end_test.cc
index 9338295..e0bfbb9 100644
--- a/quiche/quic/core/http/end_to_end_test.cc
+++ b/quiche/quic/core/http/end_to_end_test.cc
@@ -384,7 +384,7 @@
     }
     copt.push_back(kPLE1);
     if (!GetQuicReloadableFlag(
-            quic_remove_connection_migration_connection_option)) {
+            quic_remove_connection_migration_connection_option_v2)) {
       copt.push_back(kRVCM);
     }
     client_config_.SetConnectionOptionsToSend(copt);
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc
index 9865f61..c76ade9 100644
--- a/quiche/quic/core/quic_connection.cc
+++ b/quiche/quic/core/quic_connection.cc
@@ -623,10 +623,11 @@
     send_connection_close_for_invalid_version_ = true;
   }
   const bool remove_connection_migration_connection_option =
-      GetQuicReloadableFlag(quic_remove_connection_migration_connection_option);
+      GetQuicReloadableFlag(
+          quic_remove_connection_migration_connection_option_v2);
   if (remove_connection_migration_connection_option) {
     QUIC_RELOADABLE_FLAG_COUNT(
-        quic_remove_connection_migration_connection_option);
+        quic_remove_connection_migration_connection_option_v2);
   }
   if (framer_.version().HasIetfQuicFrames() && use_path_validator_ &&
       count_bytes_on_alternative_path_separately_ &&
diff --git a/quiche/quic/core/quic_connection_test.cc b/quiche/quic/core/quic_connection_test.cc
index d7b722c..cce10e7 100644
--- a/quiche/quic/core/quic_connection_test.cc
+++ b/quiche/quic/core/quic_connection_test.cc
@@ -1306,7 +1306,7 @@
     if (perspective == Perspective::IS_SERVER) {
       QuicConfig config;
       if (!GetQuicReloadableFlag(
-              quic_remove_connection_migration_connection_option)) {
+              quic_remove_connection_migration_connection_option_v2)) {
         QuicTagVector connection_options;
         connection_options.push_back(kRVCM);
         config.SetInitialReceivedConnectionOptions(connection_options);
@@ -14116,7 +14116,7 @@
 TEST_P(QuicConnectionTest,
        PathValidationFailedOnClientDueToLackOfServerConnectionId) {
   if (!GetQuicReloadableFlag(
-          quic_remove_connection_migration_connection_option)) {
+          quic_remove_connection_migration_connection_option_v2)) {
     QuicConfig config;
     EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
     connection_.SetFromConfig(config);
@@ -14144,7 +14144,7 @@
 TEST_P(QuicConnectionTest,
        PathValidationFailedOnClientDueToLackOfClientConnectionIdTheSecondTime) {
   if (!GetQuicReloadableFlag(
-          quic_remove_connection_migration_connection_option)) {
+          quic_remove_connection_migration_connection_option_v2)) {
     QuicConfig config;
     config.SetConnectionOptionsToSend({kRVCM});
     EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
@@ -14235,7 +14235,7 @@
 
 TEST_P(QuicConnectionTest, ServerConnectionIdRetiredUponPathValidationFailure) {
   if (!GetQuicReloadableFlag(
-          quic_remove_connection_migration_connection_option)) {
+          quic_remove_connection_migration_connection_option_v2)) {
     QuicConfig config;
     config.SetConnectionOptionsToSend({kRVCM});
     EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
@@ -14285,7 +14285,7 @@
 TEST_P(QuicConnectionTest,
        MigratePathDirectlyFailedDueToLackOfServerConnectionId) {
   if (!GetQuicReloadableFlag(
-          quic_remove_connection_migration_connection_option)) {
+          quic_remove_connection_migration_connection_option_v2)) {
     QuicConfig config;
     config.SetConnectionOptionsToSend({kRVCM});
     EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
@@ -14308,7 +14308,7 @@
 TEST_P(QuicConnectionTest,
        MigratePathDirectlyFailedDueToLackOfClientConnectionIdTheSecondTime) {
   if (!GetQuicReloadableFlag(
-          quic_remove_connection_migration_connection_option)) {
+          quic_remove_connection_migration_connection_option_v2)) {
     QuicConfig config;
     config.SetConnectionOptionsToSend({kRVCM});
     EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
@@ -14627,7 +14627,7 @@
 
 TEST_P(QuicConnectionTest, ServerRetireSelfIssuedConnectionId) {
   if (!GetQuicReloadableFlag(
-          quic_remove_connection_migration_connection_option)) {
+          quic_remove_connection_migration_connection_option_v2)) {
     QuicConfig config;
     config.SetConnectionOptionsToSend({kRVCM});
     EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
@@ -15076,7 +15076,7 @@
 
 TEST_P(QuicConnectionTest, AckElicitingFrames) {
   if (!GetQuicReloadableFlag(
-          quic_remove_connection_migration_connection_option)) {
+          quic_remove_connection_migration_connection_option_v2)) {
     QuicConfig config;
     config.SetConnectionOptionsToSend({kRVCM});
     EXPECT_CALL(*send_algorithm_, SetFromConfig(_, _));
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index b0d34ab..b1c1dec 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -68,7 +68,7 @@
 // If true, flush pending frames as well as pending padding bytes on connection migration.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_flush_pending_frames_and_padding_bytes_on_migration, true)
 // If true, ietf connection migration is no longer conditioned on connection option RVCM.
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_remove_connection_migration_connection_option, false)
+QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_remove_connection_migration_connection_option_v2, false)
 // If true, ignore incoming MAX_PUSH_ID frames (expect for enforcing frame type rules).
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_ignore_max_push_id, true)
 // If true, include stream information in idle timeout connection close detail.