Implement QUIC server validates the new peer address upon receiving PATH_CHALLENGE or peer migration.
Protected by FLAGS_quic_reloadable_flag_quic_server_reverse_validate_new_path.
PiperOrigin-RevId: 358462375
Change-Id: I3cf20ee7297cc35e784f52d4d7d474045243ef70
diff --git a/quic/core/quic_connection_stats.h b/quic/core/quic_connection_stats.h
index a50ba83..0cf3489 100644
--- a/quic/core/quic_connection_stats.h
+++ b/quic/core/quic_connection_stats.h
@@ -192,6 +192,23 @@
bool address_validated_via_token = false;
size_t ping_frames_sent = 0;
+
+ // Number of detected peer address changes which changes to a peer address
+ // validated by earlier path validation.
+ size_t num_peer_migration_to_proactively_validated_address = 0;
+ // Number of detected peer address changes which triggers reverse path
+ // validation.
+ size_t num_reverse_path_validtion_upon_migration = 0;
+ // Number of detected peer migrations which either succeed reverse path
+ // validation or no need to be validated.
+ size_t num_validated_peer_migration = 0;
+ // Number of detected peer migrations which triggered reverse path validation
+ // and failed and fell back to the old path.
+ size_t num_invalid_peer_migration = 0;
+ // Number of detected peer migrations which triggered reverse path validation
+ // which was canceled because the peer migrated again. Such migration is also
+ // counted as invalid peer migration.
+ size_t num_peer_migration_while_validating_default_path = 0;
};
} // namespace quic