Add more debug logs that were useful during interop
gfe-relnote: n/a, debug-only logs
PiperOrigin-RevId: 249631003
Change-Id: Ib510bca1f4f1cb010e6449849d326d0a20df834d
diff --git a/quic/core/crypto/crypto_utils.cc b/quic/core/crypto/crypto_utils.cc
index 57edda0..be12ad4 100644
--- a/quic/core/crypto/crypto_utils.cc
+++ b/quic/core/crypto/crypto_utils.cc
@@ -101,6 +101,10 @@
QuicTransportVersion version,
QuicConnectionId connection_id,
CrypterPair* crypters) {
+ QUIC_DLOG(INFO) << "Creating "
+ << (perspective == Perspective::IS_CLIENT ? "client"
+ : "server")
+ << " TLS crypters for " << connection_id;
QUIC_BUG_IF(!QuicUtils::IsConnectionIdValidForVersion(connection_id, version))
<< "CreateTlsInitialCrypters: attempted to use connection ID "
<< connection_id << " which is invalid with version "
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 4e93fdf..db717b0 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -1809,10 +1809,15 @@
QUIC_DLOG(INFO) << ENDPOINT << "Sending version negotiation packet: {"
<< ParsedQuicVersionVectorToString(
framer_.supported_versions())
- << "}, ietf_quic: " << ietf_quic;
+ << "}, " << (ietf_quic ? "" : "!") << "ietf_quic";
std::unique_ptr<QuicEncryptedPacket> version_packet(
packet_generator_.SerializeVersionNegotiationPacket(
ietf_quic, framer_.supported_versions()));
+ QUIC_DVLOG(2) << ENDPOINT << "Sending version negotiation packet: {"
+ << ParsedQuicVersionVectorToString(framer_.supported_versions())
+ << "}, " << (ietf_quic ? "" : "!") << "ietf_quic:" << std::endl
+ << QuicTextUtils::HexDump(QuicStringPiece(
+ version_packet->data(), version_packet->length()));
WriteResult result = writer_->WritePacket(
version_packet->data(), version_packet->length(), self_address().host(),
peer_address(), per_packet_options_);
@@ -3652,6 +3657,12 @@
DCHECK_EQ(IsRetransmittable(*probing_packet), NO_RETRANSMITTABLE_DATA);
const QuicTime packet_send_time = clock_->Now();
+ QUIC_DVLOG(2) << ENDPOINT
+ << "Sending path probe packet for server connection ID "
+ << server_connection_id_ << std::endl
+ << QuicTextUtils::HexDump(
+ QuicStringPiece(probing_packet->encrypted_buffer,
+ probing_packet->encrypted_length));
WriteResult result = probing_writer->WritePacket(
probing_packet->encrypted_buffer, probing_packet->encrypted_length,
self_address().host(), peer_address, per_packet_options_);
@@ -4044,7 +4055,9 @@
}
if (sent_packet_manager_.handshake_confirmed()) {
// A forward secure packet has been received.
- QUIC_BUG_IF(encryption_level_ != ENCRYPTION_FORWARD_SECURE);
+ QUIC_BUG_IF(encryption_level_ != ENCRYPTION_FORWARD_SECURE)
+ << ENDPOINT << "Unexpected connection close encryption level "
+ << QuicUtils::EncryptionLevelToString(encryption_level_);
return ENCRYPTION_FORWARD_SECURE;
}
if (framer_.HasEncrypterOfEncryptionLevel(ENCRYPTION_ZERO_RTT)) {
diff --git a/quic/core/quic_dispatcher.cc b/quic/core/quic_dispatcher.cc
index 049a63f..0833a27 100644
--- a/quic/core/quic_dispatcher.cc
+++ b/quic/core/quic_dispatcher.cc
@@ -22,6 +22,7 @@
#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_stack_trace.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_string_piece.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_text_utils.h"
namespace quic {
@@ -331,6 +332,10 @@
void QuicDispatcher::ProcessPacket(const QuicSocketAddress& self_address,
const QuicSocketAddress& peer_address,
const QuicReceivedPacket& packet) {
+ QUIC_DVLOG(2) << "Dispatcher received encrypted " << packet.length()
+ << " bytes:" << std::endl
+ << QuicTextUtils::HexDump(
+ QuicStringPiece(packet.data(), packet.length()));
current_self_address_ = self_address;
current_peer_address_ = peer_address;
// GetClientAddress must be called after current_peer_address_ is set.
diff --git a/quic/core/quic_framer.cc b/quic/core/quic_framer.cc
index eff8f49..6ebdc78 100644
--- a/quic/core/quic_framer.cc
+++ b/quic/core/quic_framer.cc
@@ -4432,8 +4432,7 @@
}
if (!success) {
- QUIC_DVLOG(1) << ENDPOINT << "DecryptPacket failed for packet_number:"
- << header.packet_number;
+ QUIC_DVLOG(1) << ENDPOINT << "DecryptPacket failed for: " << header;
return false;
}
diff --git a/quic/core/quic_time_wait_list_manager.cc b/quic/core/quic_time_wait_list_manager.cc
index fa62fc5..56cd70a 100644
--- a/quic/core/quic_time_wait_list_manager.cc
+++ b/quic/core/quic_time_wait_list_manager.cc
@@ -22,6 +22,7 @@
#include "net/third_party/quiche/src/quic/platform/api/quic_map_util.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_ptr_util.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_socket_address.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_text_utils.h"
namespace quic {
@@ -206,10 +207,16 @@
const QuicSocketAddress& self_address,
const QuicSocketAddress& peer_address,
std::unique_ptr<QuicPerPacketContext> packet_context) {
- SendOrQueuePacket(QuicMakeUnique<QueuedPacket>(
- self_address, peer_address,
- QuicFramer::BuildVersionNegotiationPacket(
- connection_id, ietf_quic, supported_versions)),
+ std::unique_ptr<QuicEncryptedPacket> version_packet =
+ QuicFramer::BuildVersionNegotiationPacket(connection_id, ietf_quic,
+ supported_versions);
+ QUIC_DVLOG(2) << "Dispatcher sending version negotiation packet: {"
+ << ParsedQuicVersionVectorToString(supported_versions) << "}, "
+ << (ietf_quic ? "" : "!") << "ietf_quic:" << std::endl
+ << QuicTextUtils::HexDump(QuicStringPiece(
+ version_packet->data(), version_packet->length()));
+ SendOrQueuePacket(QuicMakeUnique<QueuedPacket>(self_address, peer_address,
+ std::move(version_packet)),
packet_context.get());
}
@@ -226,10 +233,17 @@
bool ietf_quic,
std::unique_ptr<QuicPerPacketContext> packet_context) {
if (ietf_quic) {
- SendOrQueuePacket(QuicMakeUnique<QueuedPacket>(
- self_address, peer_address,
- BuildIetfStatelessResetPacket(connection_id)),
- packet_context.get());
+ std::unique_ptr<QuicEncryptedPacket> ietf_reset_packet =
+ BuildIetfStatelessResetPacket(connection_id);
+ QUIC_DVLOG(2) << "Dispatcher sending IETF reset packet for "
+ << connection_id << std::endl
+ << QuicTextUtils::HexDump(
+ QuicStringPiece(ietf_reset_packet->data(),
+ ietf_reset_packet->length()));
+ SendOrQueuePacket(
+ QuicMakeUnique<QueuedPacket>(self_address, peer_address,
+ std::move(ietf_reset_packet)),
+ packet_context.get());
return;
}
QuicPublicResetPacket packet;
@@ -240,8 +254,13 @@
packet.client_address = peer_address;
GetEndpointId(&packet.endpoint_id);
// Takes ownership of the packet.
+ std::unique_ptr<QuicEncryptedPacket> reset_packet = BuildPublicReset(packet);
+ QUIC_DVLOG(2) << "Dispatcher sending reset packet for " << connection_id
+ << std::endl
+ << QuicTextUtils::HexDump(QuicStringPiece(
+ reset_packet->data(), reset_packet->length()));
SendOrQueuePacket(QuicMakeUnique<QueuedPacket>(self_address, peer_address,
- BuildPublicReset(packet)),
+ std::move(reset_packet)),
packet_context.get());
}