Deprecate gfe2_restart_flag_quic_map_original_connection_id2.

PiperOrigin-RevId: 476436544
diff --git a/quiche/quic/core/http/end_to_end_test.cc b/quiche/quic/core/http/end_to_end_test.cc
index 51c0ce0..706e23a 100644
--- a/quiche/quic/core/http/end_to_end_test.cc
+++ b/quiche/quic/core/http/end_to_end_test.cc
@@ -7076,7 +7076,6 @@
 }
 
 TEST_P(EndToEndTest, OriginalConnectionIdClearedFromMap) {
-  SetQuicRestartFlag(quic_map_original_connection_ids2, true);
   connect_to_server_on_initialize_ = false;
   ASSERT_TRUE(Initialize());
   if (override_client_connection_id_length_ != kLongConnectionIdLength) {
diff --git a/quiche/quic/core/quic_connection.cc b/quiche/quic/core/quic_connection.cc
index d4af137..ff3834b 100644
--- a/quiche/quic/core/quic_connection.cc
+++ b/quiche/quic/core/quic_connection.cc
@@ -177,9 +177,7 @@
     QUICHE_DCHECK(connection_->connected());
     QUIC_DLOG(INFO) << "0-RTT discard alarm fired";
     connection_->RemoveDecrypter(ENCRYPTION_ZERO_RTT);
-    if (GetQuicRestartFlag(quic_map_original_connection_ids2)) {
-      connection_->RetireOriginalDestinationConnectionId();
-    }
+    connection_->RetireOriginalDestinationConnectionId();
   }
 };
 
@@ -984,7 +982,6 @@
 void QuicConnection::RetireOriginalDestinationConnectionId() {
   if (original_destination_connection_id_.has_value()) {
     visitor_->OnServerConnectionIdRetired(*original_destination_connection_id_);
-    QUIC_RESTART_FLAG_COUNT_N(quic_map_original_connection_ids2, 3, 4);
     original_destination_connection_id_.reset();
   }
 }
@@ -1052,14 +1049,7 @@
     if (debug_visitor_ != nullptr) {
       debug_visitor_->OnIncorrectConnectionId(server_connection_id);
     }
-    // The only way for a connection to get a packet with an invalid connection
-    // ID is if quic_map_original_connection_ids2 is false and a packet
-    // arrives with a connection ID that is deterministically replaced with one
-    // that the connection owns, but is different from
-    // original_destination_connection_id_.
-    if (GetQuicRestartFlag(quic_map_original_connection_ids2)) {
-      QUICHE_DCHECK_NE(Perspective::IS_SERVER, perspective_);
-    }
+    QUICHE_DCHECK_NE(Perspective::IS_SERVER, perspective_);
     return false;
   }
 
@@ -6913,26 +6903,15 @@
   if (!original_destination_connection_id_.has_value()) {
     return result;
   }
-  bool add_original_connection_id = false;
-  if (GetQuicRestartFlag(quic_map_original_connection_ids2)) {
-    QUIC_RESTART_FLAG_COUNT_N(quic_map_original_connection_ids2, 4, 4);
-    add_original_connection_id = true;
-  } else if (!IsHandshakeComplete()) {
-    QUIC_CODE_COUNT(quic_active_original_connection_id_pre_handshake);
-    add_original_connection_id = true;
-  }
-  if (add_original_connection_id) {
-    if (std::find(result.begin(), result.end(),
-                  original_destination_connection_id_.value()) !=
-        result.end()) {
-      QUIC_BUG(quic_unexpected_original_destination_connection_id)
-          << "original_destination_connection_id: "
-          << original_destination_connection_id_.value()
-          << " is unexpectedly in active "
-             "list";
-    } else {
-      result.insert(result.end(), original_destination_connection_id_.value());
-    }
+  // Add the original connection ID
+  if (std::find(result.begin(), result.end(),
+                original_destination_connection_id_.value()) != result.end()) {
+    QUIC_BUG(quic_unexpected_original_destination_connection_id)
+        << "original_destination_connection_id: "
+        << original_destination_connection_id_.value()
+        << " is unexpectedly in active list";
+  } else {
+    result.insert(result.end(), original_destination_connection_id_.value());
   }
   return result;
 }
diff --git a/quiche/quic/core/quic_connection_test.cc b/quiche/quic/core/quic_connection_test.cc
index 2095700..054e8d8 100644
--- a/quiche/quic/core/quic_connection_test.cc
+++ b/quiche/quic/core/quic_connection_test.cc
@@ -13709,22 +13709,22 @@
       .WillOnce(Invoke([this]() {
         connection_.SendControlFrame(QuicFrame(QuicWindowUpdateFrame(1, 0, 0)));
       }));
-    EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _))
-        .WillOnce(Invoke([&]() {
-          EXPECT_EQ(kNewPeerAddress, writer_->last_write_peer_address());
-          EXPECT_FALSE(writer_->path_challenge_frames().empty());
-          // Retry path validation shouldn't bundle ACK.
-          EXPECT_TRUE(writer_->ack_frames().empty());
-        }))
-        .WillOnce(Invoke([&]() {
-          EXPECT_EQ(kPeerAddress, writer_->last_write_peer_address());
-          EXPECT_FALSE(writer_->ack_frames().empty());
-          EXPECT_FALSE(writer_->window_update_frames().empty());
-        }));
-    static_cast<TestAlarmFactory::TestAlarm*>(
-        QuicPathValidatorPeer::retry_timer(
-            QuicConnectionPeer::path_validator(&connection_)))
-        ->Fire();
+  EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _))
+      .WillOnce(Invoke([&]() {
+        EXPECT_EQ(kNewPeerAddress, writer_->last_write_peer_address());
+        EXPECT_FALSE(writer_->path_challenge_frames().empty());
+        // Retry path validation shouldn't bundle ACK.
+        EXPECT_TRUE(writer_->ack_frames().empty());
+      }))
+      .WillOnce(Invoke([&]() {
+        EXPECT_EQ(kPeerAddress, writer_->last_write_peer_address());
+        EXPECT_FALSE(writer_->ack_frames().empty());
+        EXPECT_FALSE(writer_->window_update_frames().empty());
+      }));
+  static_cast<TestAlarmFactory::TestAlarm*>(
+      QuicPathValidatorPeer::retry_timer(
+          QuicConnectionPeer::path_validator(&connection_)))
+      ->Fire();
 }
 
 TEST_P(QuicConnectionTest, DoNotIssueNewCidIfVisitorSaysNo) {
@@ -15656,8 +15656,7 @@
   // Send a 1-RTT packet to start the DiscardZeroRttDecryptionKeys timer.
   EXPECT_CALL(visitor_, OnStreamFrame(_)).Times(1);
   ProcessDataPacketAtLevel(1, false, ENCRYPTION_FORWARD_SECURE);
-  if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-      connection_.version().UsesTls()) {
+  if (connection_.version().UsesTls()) {
     EXPECT_TRUE(connection_.GetDiscardZeroRttDecryptionKeysAlarm()->IsSet());
     EXPECT_CALL(visitor_, OnServerConnectionIdRetired(original));
     connection_.GetDiscardZeroRttDecryptionKeysAlarm()->Fire();
diff --git a/quiche/quic/core/quic_dispatcher.cc b/quiche/quic/core/quic_dispatcher.cc
index 74ba7d1..be05103 100644
--- a/quiche/quic/core/quic_dispatcher.cc
+++ b/quiche/quic/core/quic_dispatcher.cc
@@ -447,8 +447,7 @@
 absl::optional<QuicConnectionId> QuicDispatcher::MaybeReplaceServerConnectionId(
     const QuicConnectionId& server_connection_id,
     const ParsedQuicVersion& version) {
-  if (GetQuicRestartFlag(quic_abstract_connection_id_generator) &&
-      GetQuicRestartFlag(quic_map_original_connection_ids2)) {
+  if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
     // If the Dispatcher doesn't map the original connection ID, then using a
     // connection ID generator that isn't deterministic may break the handshake
     // and will certainly drop all 0-RTT packets.
@@ -622,34 +621,6 @@
                                  packet_info.peer_address, packet_info.packet);
     return true;
   }
-  if (packet_info.version.IsKnown() &&
-      !GetQuicRestartFlag(quic_map_original_connection_ids2)) {
-    // We did not find the connection ID, check if we've replaced it.
-    // This is only performed for supported versions because packets with
-    // unsupported versions can flow through this function in order to send
-    // a version negotiation packet, but we know that their connection ID
-    // did not get replaced since that is performed on connection creation,
-    // and that only happens for known verions.
-    // There is no need to perform this check if
-    // |reference_counted_session_map_| is storing original connection IDs
-    // separately. It can be counterproductive to do this check if that
-    // consumes a nonce or generates a random connection ID.
-    absl::optional<QuicConnectionId> replaced_connection_id =
-        MaybeReplaceServerConnectionId(server_connection_id,
-                                       packet_info.version);
-    if (replaced_connection_id.has_value()) {
-      // Search for the replacement.
-      auto it2 = reference_counted_session_map_.find(*replaced_connection_id);
-      if (it2 != reference_counted_session_map_.end()) {
-        QUICHE_DCHECK(
-            !buffered_packets_.HasBufferedPackets(*replaced_connection_id));
-        it2->second->ProcessUdpPacket(packet_info.self_address,
-                                      packet_info.peer_address,
-                                      packet_info.packet);
-        return true;
-      }
-    }
-  }
 
   if (buffered_packets_.HasChloForConnection(server_connection_id)) {
     BufferEarlyPacket(packet_info);
@@ -1286,10 +1257,6 @@
         packets.front().self_address, packets.front().peer_address);
     if (session_ptr != nullptr) {
       DeliverPacketsToSession(packets, session_ptr.get());
-      if (server_connection_id != session_ptr->connection_id() &&
-          GetQuicRestartFlag(quic_map_original_connection_ids2)) {
-        QUIC_RESTART_FLAG_COUNT_N(quic_map_original_connection_ids2, 1, 4);
-      }
     }
   }
 }
@@ -1359,9 +1326,6 @@
       QUIC_CODE_COUNT(
           quic_delivered_buffered_packets_to_connection_with_replaced_id);
     }
-    if (GetQuicRestartFlag(quic_map_original_connection_ids2)) {
-      QUIC_RESTART_FLAG_COUNT_N(quic_map_original_connection_ids2, 2, 4);
-    }
   }
   // Process CHLO at first.
   session_ptr->ProcessUdpPacket(packet_info->self_address,
@@ -1413,8 +1377,7 @@
   if (!replaced_connection_id) {
     server_connection_id = original_connection_id;
   }
-  if (reference_counted_session_map_.count(*server_connection_id) > 0 &&
-      GetQuicRestartFlag(quic_map_original_connection_ids2)) {
+  if (reference_counted_session_map_.count(*server_connection_id) > 0) {
     // The new connection ID is owned by another session. Avoid creating one
     // altogether, as this connection attempt cannot possibly succeed.
     if (replaced_connection_id) {
@@ -1458,8 +1421,7 @@
         << *server_connection_id;
   } else {
     ++num_sessions_in_session_map_;
-    if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-        replaced_connection_id) {
+    if (replaced_connection_id) {
       auto insertion_result2 = reference_counted_session_map_.insert(
           std::make_pair(original_connection_id, session_ptr));
       QUIC_BUG_IF(quic_460317833_02, !insertion_result2.second)
diff --git a/quiche/quic/core/quic_dispatcher_test.cc b/quiche/quic/core/quic_dispatcher_test.cc
index 74eb760..8d14a8c 100644
--- a/quiche/quic/core/quic_dispatcher_test.cc
+++ b/quiche/quic/core/quic_dispatcher_test.cc
@@ -186,9 +186,6 @@
   }
 
   std::vector<QuicConnectionId> GetActiveServerConnectionIds() const override {
-    if (!GetQuicRestartFlag(quic_map_original_connection_ids2)) {
-      return active_connection_ids_;
-    }
     std::vector<QuicConnectionId> result;
     for (const auto& cid : active_connection_ids_) {
       result.push_back(cid);
@@ -431,7 +428,6 @@
       const QuicConnectionId& client_connection_id,
       std::unique_ptr<QuicCryptoClientConfig> client_crypto_config) {
     if (expect_generator_is_called_ &&
-        GetQuicRestartFlag(quic_map_original_connection_ids2) &&
         GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
       // Can't replace the connection ID in early gQUIC versions!
       ASSERT_TRUE(version.AllowsVariableLengthConnectionIds() ||
@@ -593,8 +589,7 @@
   QuicSocketAddress client_address(QuicIpAddress::Loopback4(), 1);
   QuicConnectionId original_connection_id, new_connection_id;
   if (long_connection_id) {
-    if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-        GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
+    if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
       original_connection_id = TestConnectionIdNineBytesLong(1);
       new_connection_id = return_connection_id_;
       EXPECT_CALL(connection_id_generator_,
@@ -609,8 +604,7 @@
   } else {
     original_connection_id = TestConnectionId();
     new_connection_id = original_connection_id;
-    if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-        GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
+    if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
       EXPECT_CALL(connection_id_generator_,
                   MaybeReplaceConnectionId(original_connection_id, version_))
           .WillOnce(Return(absl::nullopt));
@@ -1106,8 +1100,7 @@
 
   QuicConnectionId bad_connection_id = TestConnectionIdNineBytesLong(2);
   generated_connection_id_ =
-      (GetQuicRestartFlag(quic_abstract_connection_id_generator) &&
-       GetQuicRestartFlag(quic_map_original_connection_ids2))
+      (GetQuicRestartFlag(quic_abstract_connection_id_generator))
           ? return_connection_id_
           : QuicUtils::CreateReplacementConnectionId(bad_connection_id);
 
@@ -1138,8 +1131,7 @@
 
   QuicConnectionId bad_connection_id = EmptyQuicConnectionId();
   generated_connection_id_ =
-      (GetQuicRestartFlag(quic_abstract_connection_id_generator) &&
-       GetQuicRestartFlag(quic_map_original_connection_ids2))
+      GetQuicRestartFlag(quic_abstract_connection_id_generator)
           ? return_connection_id_
           : QuicUtils::CreateReplacementConnectionId(bad_connection_id);
 
@@ -1189,8 +1181,7 @@
   ProcessFirstFlight(client_address, TestConnectionId(1));
 
   generated_connection_id_ =
-      (GetQuicRestartFlag(quic_abstract_connection_id_generator) &&
-       GetQuicRestartFlag(quic_map_original_connection_ids2))
+      GetQuicRestartFlag(quic_abstract_connection_id_generator)
           ? return_connection_id_
           : QuicUtils::CreateReplacementConnectionId(bad_connection_id);
   EXPECT_CALL(*dispatcher_,
@@ -2447,8 +2438,7 @@
 
   // When CHLO arrives, a new session should be created, and all packets
   // buffered should be delivered to the session.
-  if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-      GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
+  if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
     EXPECT_CALL(connection_id_generator_,
                 MaybeReplaceConnectionId(conn_id, version_))
         .WillOnce(Return(absl::nullopt));
@@ -2486,8 +2476,7 @@
   data_connection_map_[conn_id].pop_back();
   // When CHLO arrives, a new session should be created, and all packets
   // buffered should be delivered to the session.
-  if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-      GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
+  if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
     EXPECT_CALL(connection_id_generator_,
                 MaybeReplaceConnectionId(conn_id, version_))
         .WillOnce(Return(absl::nullopt));
@@ -2537,8 +2526,7 @@
   for (size_t i = 1; i <= kNumConnections; ++i) {
     QuicSocketAddress client_address(QuicIpAddress::Loopback4(), 20000 + i);
     QuicConnectionId conn_id = TestConnectionId(i);
-    if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-        GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
+    if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
       EXPECT_CALL(connection_id_generator_,
                   MaybeReplaceConnectionId(conn_id, version_))
           .WillOnce(Return(absl::nullopt));
@@ -2589,8 +2577,7 @@
 
   // When CHLO arrives, a new session should be created, and all packets
   // buffered should be delivered to the session.
-  if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-      GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
+  if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
     EXPECT_CALL(connection_id_generator_,
                 MaybeReplaceConnectionId(conn_id, version_))
         .WillOnce(Return(absl::nullopt));
@@ -2660,8 +2647,7 @@
       kMaxNumSessionsToCreate + kDefaultMaxConnectionsInStore + 1;
   for (uint64_t conn_id = 1; conn_id <= kNumCHLOs; ++conn_id) {
     if (conn_id <= kMaxNumSessionsToCreate) {
-      if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-          GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
+      if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
         EXPECT_CALL(
             connection_id_generator_,
             MaybeReplaceConnectionId(TestConnectionId(conn_id), version_))
@@ -2704,8 +2690,7 @@
   for (uint64_t conn_id = kMaxNumSessionsToCreate + 1;
        conn_id <= kMaxNumSessionsToCreate + kDefaultMaxConnectionsInStore;
        ++conn_id) {
-    if (GetQuicRestartFlag(quic_map_original_connection_ids2) &&
-        GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
+    if (GetQuicRestartFlag(quic_abstract_connection_id_generator)) {
       EXPECT_CALL(connection_id_generator_,
                   MaybeReplaceConnectionId(TestConnectionId(conn_id), version_))
           .WillOnce(Return(absl::nullopt));
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 19dea8c..615ccf4 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -89,8 +89,6 @@
 QUIC_FLAG(quic_reloadable_flag_quic_connection_uses_abstract_connection_id_generator, true)
 // QuicDispatcher uses a library to generate connection IDs
 QUIC_FLAG(quic_restart_flag_quic_abstract_connection_id_generator, true)
-// Store original QUIC connection IDs in the dispatcher\'s map
-QUIC_FLAG(quic_restart_flag_quic_map_original_connection_ids2, true)
 // When true, defaults to BBR congestion control instead of Cubic.
 QUIC_FLAG(quic_reloadable_flag_quic_default_to_bbr, false)
 // When true, prevents QUIC\'s PacingSender from generating bursts when the congestion controller is CWND limited and not pacing limited.