Deprecate gfe2_restart_flag_quic_use_recent_reset_addresses.
PiperOrigin-RevId: 443403050
diff --git a/quiche/quic/core/quic_dispatcher.cc b/quiche/quic/core/quic_dispatcher.cc
index e133bb0..2e4d38e 100644
--- a/quiche/quic/core/quic_dispatcher.cc
+++ b/quiche/quic/core/quic_dispatcher.cc
@@ -1390,7 +1390,6 @@
// recently.
if (recent_stateless_reset_addresses_.contains(packet_info.peer_address)) {
QUIC_CODE_COUNT(quic_donot_send_reset_repeatedly);
- QUICHE_DCHECK(use_recent_reset_addresses_);
return;
}
if (packet_info.form != GOOGLE_QUIC_PACKET) {
@@ -1410,24 +1409,21 @@
return;
}
}
- if (use_recent_reset_addresses_) {
- QUIC_RESTART_FLAG_COUNT(quic_use_recent_reset_addresses);
- // Do not send a stateless reset if there are too many stateless reset
- // addresses.
- if (recent_stateless_reset_addresses_.size() >=
- GetQuicFlag(FLAGS_quic_max_recent_stateless_reset_addresses)) {
- QUIC_CODE_COUNT(quic_too_many_recent_reset_addresses);
- return;
- }
- if (recent_stateless_reset_addresses_.empty()) {
- clear_stateless_reset_addresses_alarm_->Update(
- helper()->GetClock()->ApproximateNow() +
- QuicTime::Delta::FromMilliseconds(GetQuicFlag(
- FLAGS_quic_recent_stateless_reset_addresses_lifetime_ms)),
- QuicTime::Delta::Zero());
- }
- recent_stateless_reset_addresses_.emplace(packet_info.peer_address);
+ // Do not send a stateless reset if there are too many stateless reset
+ // addresses.
+ if (recent_stateless_reset_addresses_.size() >=
+ GetQuicFlag(FLAGS_quic_max_recent_stateless_reset_addresses)) {
+ QUIC_CODE_COUNT(quic_too_many_recent_reset_addresses);
+ return;
}
+ if (recent_stateless_reset_addresses_.empty()) {
+ clear_stateless_reset_addresses_alarm_->Update(
+ helper()->GetClock()->ApproximateNow() +
+ QuicTime::Delta::FromMilliseconds(GetQuicFlag(
+ FLAGS_quic_recent_stateless_reset_addresses_lifetime_ms)),
+ QuicTime::Delta::Zero());
+ }
+ recent_stateless_reset_addresses_.emplace(packet_info.peer_address);
time_wait_list_manager()->SendPublicReset(
packet_info.self_address, packet_info.peer_address,
diff --git a/quiche/quic/core/quic_dispatcher.h b/quiche/quic/core/quic_dispatcher.h
index 74ac694..f53df8b 100644
--- a/quiche/quic/core/quic_dispatcher.h
+++ b/quiche/quic/core/quic_dispatcher.h
@@ -467,9 +467,6 @@
// If true, change expected_server_connection_id_length_ to be the received
// destination connection ID length of all IETF long headers.
bool should_update_expected_server_connection_id_length_;
-
- const bool use_recent_reset_addresses_ =
- GetQuicRestartFlag(quic_use_recent_reset_addresses);
};
} // namespace quic
diff --git a/quiche/quic/core/quic_dispatcher_test.cc b/quiche/quic/core/quic_dispatcher_test.cc
index 3dad096..40847ff 100644
--- a/quiche/quic/core/quic_dispatcher_test.cc
+++ b/quiche/quic/core/quic_dispatcher_test.cc
@@ -979,15 +979,10 @@
QuicSocketAddress client_address3(QuicIpAddress::Loopback6(), 1);
QuicConnectionId connection_id = TestConnectionId(1);
- if (GetQuicRestartFlag(quic_use_recent_reset_addresses)) {
- // Verify only one reset is sent to the address, although multiple packets
- // are received.
- EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
- .Times(1);
- } else {
- EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
- .Times(3);
- }
+ // Verify only one reset is sent to the address, although multiple packets
+ // are received.
+ EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
+ .Times(1);
ProcessPacket(client_address, connection_id, /*has_version_flag=*/false,
"data");
ProcessPacket(client_address, connection_id, /*has_version_flag=*/false,
@@ -1024,43 +1019,25 @@
const QuicTime expected_deadline =
mock_helper_.GetClock()->Now() +
QuicTime::Delta::FromMilliseconds(kTestLifeTimeMs);
- if (GetQuicRestartFlag(quic_use_recent_reset_addresses)) {
- ASSERT_TRUE(GetClearResetAddressesAlarm()->IsSet());
- EXPECT_EQ(expected_deadline, GetClearResetAddressesAlarm()->deadline());
- } else {
- EXPECT_FALSE(GetClearResetAddressesAlarm()->IsSet());
- }
+ ASSERT_TRUE(GetClearResetAddressesAlarm()->IsSet());
+ EXPECT_EQ(expected_deadline, GetClearResetAddressesAlarm()->deadline());
// Received no version packet 2 after 5ms.
mock_helper_.AdvanceTime(QuicTime::Delta::FromMilliseconds(5));
ProcessPacket(client_address2, connection_id, /*has_version_flag=*/false,
"data");
- if (GetQuicRestartFlag(quic_use_recent_reset_addresses)) {
- ASSERT_TRUE(GetClearResetAddressesAlarm()->IsSet());
- // Verify deadline does not change.
- EXPECT_EQ(expected_deadline, GetClearResetAddressesAlarm()->deadline());
- } else {
- EXPECT_FALSE(GetClearResetAddressesAlarm()->IsSet());
- }
- if (GetQuicRestartFlag(quic_use_recent_reset_addresses)) {
- // Verify reset gets throttled since there are too many recent addresses.
- EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
- .Times(0);
- } else {
- EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
- .Times(1);
- }
+ ASSERT_TRUE(GetClearResetAddressesAlarm()->IsSet());
+ // Verify deadline does not change.
+ EXPECT_EQ(expected_deadline, GetClearResetAddressesAlarm()->deadline());
+ // Verify reset gets throttled since there are too many recent addresses.
+ EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
+ .Times(0);
ProcessPacket(client_address3, connection_id, /*has_version_flag=*/false,
"data");
mock_helper_.AdvanceTime(QuicTime::Delta::FromMilliseconds(5));
- if (GetQuicRestartFlag(quic_use_recent_reset_addresses)) {
- GetClearResetAddressesAlarm()->Fire();
- EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
- .Times(2);
- } else {
- EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
- .Times(3);
- }
+ GetClearResetAddressesAlarm()->Fire();
+ EXPECT_CALL(*time_wait_list_manager_, SendPublicReset(_, _, _, _, _, _))
+ .Times(2);
ProcessPacket(client_address, connection_id, /*has_version_flag=*/false,
"data");
ProcessPacket(client_address2, connection_id, /*has_version_flag=*/false,
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index cc89134..b38510b 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -75,8 +75,6 @@
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_add_stream_info_to_idle_close_detail, true)
// If true, quic server will send ENABLE_CONNECT_PROTOCOL setting and and endpoint will validate required request/response headers and extended CONNECT mechanism and update code counts of valid/invalid headers.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_verify_request_headers_2, true)
-// If true, record addresses that server has sent reset to recently, and do not send reset if the address lives in the set.
-QUIC_FLAG(FLAGS_quic_restart_flag_quic_use_recent_reset_addresses, true)
// If true, reject or send error response code upon receiving invalid request or response headers. This flag depends on --gfe2_reloadable_flag_quic_verify_request_headers_2.
QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_act_upon_invalid_header, false)
// If true, require handshake confirmation for QUIC connections, functionally disabling 0-rtt handshakes.