Deprecate --gfe2_reloadable_flag_quic_group_path_response_and_challenge_sending_closer

PiperOrigin-RevId: 391278635
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 071ee65..f92ee53 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -664,7 +664,6 @@
   // 2) Client side's rollout can be protected by the same connection option.
   connection_migration_use_new_cid_ =
       support_multiple_connection_ids_ && validate_client_addresses_ &&
-      group_path_response_and_challenge_sending_closer_ &&
       GetQuicReloadableFlag(quic_drop_unsent_path_response) &&
       GetQuicReloadableFlag(quic_connection_migration_use_new_cid_v2);
   if (config.HasReceivedMaxPacketSize()) {
@@ -1705,17 +1704,8 @@
   }
   QUIC_CODE_COUNT_N(quic_server_reverse_validate_new_path3, 1, 6);
   {
-    // UpdatePacketStateAndReplyPathChallenge() may start reverse path
-    // validation, if so bundle the PATH_CHALLENGE together with the
-    // PATH_RESPONSE. This context needs to be out of scope before returning.
     // TODO(danzh) inline OnPathChallengeFrameInternal() once
-    // support_reverse_path_validation_ is deprecated.
-    auto context =
-        group_path_response_and_challenge_sending_closer_
-            ? nullptr
-            : std::make_unique<QuicPacketCreator::ScopedPeerAddressContext>(
-                  &packet_creator_, last_received_packet_info_.source_address,
-                  /*update_connection_id=*/false);
+    // validate_client_addresses_ is deprecated.
     if (!OnPathChallengeFrameInternal(frame)) {
       return false;
     }
@@ -1734,21 +1724,16 @@
     debug_visitor_->OnPathChallengeFrame(frame);
   }
 
-  std::unique_ptr<QuicPacketCreator::ScopedPeerAddressContext> context;
   const QuicSocketAddress current_effective_peer_address =
       GetEffectivePeerAddressFromCurrentPacket();
-  if (group_path_response_and_challenge_sending_closer_) {
-    QuicConnectionId client_cid, server_cid;
-    FindOnPathConnectionIds(last_received_packet_info_.destination_address,
-                            current_effective_peer_address, &client_cid,
-                            &server_cid);
-    context = std::make_unique<QuicPacketCreator::ScopedPeerAddressContext>(
-        &packet_creator_, last_received_packet_info_.source_address, client_cid,
-        server_cid, connection_migration_use_new_cid_);
-  }
+  QuicConnectionId client_cid, server_cid;
+  FindOnPathConnectionIds(last_received_packet_info_.destination_address,
+                          current_effective_peer_address, &client_cid,
+                          &server_cid);
+  QuicPacketCreator::ScopedPeerAddressContext context(
+      &packet_creator_, last_received_packet_info_.source_address, client_cid,
+      server_cid, connection_migration_use_new_cid_);
   if (should_proactively_validate_peer_address_on_path_challenge_) {
-    QUIC_RELOADABLE_FLAG_COUNT(
-        quic_group_path_response_and_challenge_sending_closer);
     // Conditions to proactively validate peer address:
     // The perspective is server
     // The PATH_CHALLENGE is received on an unvalidated alternative path.
@@ -5632,24 +5617,7 @@
                       current_effective_peer_address, client_connection_id,
                       last_packet_destination_connection_id_,
                       stateless_reset_token_received, stateless_reset_token);
-        if (group_path_response_and_challenge_sending_closer_) {
-          should_proactively_validate_peer_address_on_path_challenge_ = true;
-        } else {
-          // Conditions to proactively validate peer address:
-          // The perspective is server
-          // The PATH_CHALLENGE is received on an unvalidated alternative path.
-          // The connection isn't validating migrated peer address, which is of
-          // higher prority.
-          QUIC_DVLOG(1) << "Proactively validate the effective peer address "
-                        << current_effective_peer_address;
-          QUIC_CODE_COUNT_N(quic_kick_off_client_address_validation, 1, 6);
-          ValidatePath(std::make_unique<ReversePathValidationContext>(
-                           default_path_.self_address,
-                           last_received_packet_info_.source_address,
-                           current_effective_peer_address, this),
-                       std::make_unique<ReversePathValidationResultDelegate>(
-                           this, peer_address()));
-        }
+        should_proactively_validate_peer_address_on_path_challenge_ = true;
       }
     }
     MaybeUpdateBytesReceivedFromAlternativeAddress(last_size_);
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 6ed3f5a..77f5266 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -2280,10 +2280,6 @@
   // Enable this via reloadable flag once this feature is complete.
   bool connection_migration_use_new_cid_ = false;
 
-  const bool group_path_response_and_challenge_sending_closer_ =
-      GetQuicReloadableFlag(
-          quic_group_path_response_and_challenge_sending_closer);
-
   const bool reset_per_packet_state_for_undecryptable_packets_ =
       GetQuicReloadableFlag(
           quic_reset_per_packet_state_for_undecryptable_packets);
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 97e94dc..5084298 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -109,8 +109,6 @@
 QUIC_FLAG(FLAGS_quic_restart_flag_quic_time_wait_list_support_multiple_cid_v2, true)
 // If true, update ACK timeout for NEW_CONNECTION_ID and RETIRE_CONNECTION_ID frames.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_ack_cid_frames, true)
-// If true, upon receiving path challenge, send path response and reverse path challenge in the same function.
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_group_path_response_and_challenge_sending_closer, true)
 // If true, use BBRv2 as the default congestion controller. Takes precedence over --quic_default_to_bbr.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_to_bbr_v2, false)
 // If true, use new connection ID in connection migration.