Replace --gfe_reloadable_flag_quic_send_path_response with v2 flag and
unblock --gfe_reloadable_flag_quic_pass_path_response_to_validator.

Turn on gfe_reloadable_flag_quic_send_path_response in chromium.

Add FLAG_COUNT for gfe_reloadable_flag_quic_pass_path_response_to_validator. No behavior change.

PiperOrigin-RevId: 361878345
Change-Id: I7ddfea964cf1b5f2b2e38847dbb1058883ce2610
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index cde42a8..52dbccc 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -1664,7 +1664,7 @@
                            << most_recent_frame_type_;
   if (has_path_challenge_in_current_packet_) {
     QUICHE_DCHECK(send_path_response_);
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_send_path_response, 2, 5);
+    QUIC_RELOADABLE_FLAG_COUNT_N(quic_send_path_response2, 2, 5);
     // Only respond to the 1st PATH_CHALLENGE in the packet.
     return true;
   }
@@ -1704,7 +1704,7 @@
     MaybeUpdateAckTimeout();
     return true;
   }
-  QUIC_RELOADABLE_FLAG_COUNT_N(quic_send_path_response, 3, 5);
+  QUIC_RELOADABLE_FLAG_COUNT_N(quic_send_path_response2, 3, 5);
   has_path_challenge_in_current_packet_ = true;
   MaybeUpdateAckTimeout();
   // Queue or send PATH_RESPONSE. Send PATH_RESPONSE to the source address of
@@ -1735,6 +1735,7 @@
   }
   MaybeUpdateAckTimeout();
   if (use_path_validator_) {
+    QUIC_RELOADABLE_FLAG_COUNT_N(quic_pass_path_response_to_validator, 1, 4);
     path_validator_.OnPathResponse(frame.data_buffer,
                                    last_packet_destination_address_);
   } else {
@@ -2191,6 +2192,7 @@
   QUICHE_DCHECK_EQ(perspective_, Perspective::IS_CLIENT);
 
   if (use_path_validator_) {
+    QUIC_RELOADABLE_FLAG_COUNT_N(quic_pass_path_response_to_validator, 4, 4);
     if (!IsDefaultPath(last_packet_destination_address_,
                        last_packet_source_address_)) {
       // This packet is received on a probing path. Do not close connection.
@@ -2764,7 +2766,7 @@
   // TODO(danzh) PATH_RESPONSE is of more interest to the peer than ACK,
   // evaluate if it's worth to send them before sending ACKs.
   while (!pending_path_challenge_payloads_.empty()) {
-    QUIC_RELOADABLE_FLAG_COUNT_N(quic_send_path_response, 4, 5);
+    QUIC_RELOADABLE_FLAG_COUNT_N(quic_send_path_response2, 4, 5);
     const PendingPathChallenge& pending_path_challenge =
         pending_path_challenge_payloads_.front();
     if (!SendPathResponse(pending_path_challenge.received_path_challenge,
@@ -3367,6 +3369,7 @@
       return true;
     }
     if (use_path_validator_ && !send_on_current_path) {
+      QUIC_RELOADABLE_FLAG_COUNT_N(quic_pass_path_response_to_validator, 2, 4);
       // Only handle MSG_TOO_BIG as error on current path.
       return true;
     }
@@ -4407,6 +4410,7 @@
   // connection is closed.
   CancelAllAlarms();
   if (use_path_validator_) {
+    QUIC_RELOADABLE_FLAG_COUNT_N(quic_pass_path_response_to_validator, 3, 4);
     CancelPathValidation();
   }
   peer_issued_cid_manager_.reset();
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 1e0893f..5c192f8 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -2092,7 +2092,7 @@
   // latch --gfe2_reloadable_flag_quic_send_path_response and
   // --gfe2_reloadable_flag_quic_start_peer_migration_earlier.
   bool send_path_response_ = start_peer_migration_earlier_ &&
-                             GetQuicReloadableFlag(quic_send_path_response);
+                             GetQuicReloadableFlag(quic_send_path_response2);
 
   bool use_path_validator_ =
       send_path_response_ &&
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 0ed0395..d7df38f 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -52,7 +52,7 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_preempt_stream_data_with_handshake_packet, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_reject_unexpected_ietf_frame_types, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_require_handshake_confirmation, false)
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_send_path_response, false)
+QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_send_path_response2, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_send_timestamps, false)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_send_tls_crypto_error_code, true)
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_server_reverse_validate_new_path, false)
diff --git a/quic/core/quic_packet_creator.cc b/quic/core/quic_packet_creator.cc
index 82922f1..b374077 100644
--- a/quic/core/quic_packet_creator.cc
+++ b/quic/core/quic_packet_creator.cc
@@ -2070,7 +2070,7 @@
   }
 
   QUIC_DVLOG(1) << ENDPOINT << "Can't send PATH_RESPONSE now";
-  QUIC_RELOADABLE_FLAG_COUNT_N(quic_send_path_response, 5, 5);
+  QUIC_RELOADABLE_FLAG_COUNT_N(quic_send_path_response2, 5, 5);
   delete path_response;
   return false;
 }