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;
}