diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 1a39ec5..1599d10 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -4000,7 +4000,7 @@
   // Cancel the alarms so they don't trigger any action now that the
   // connection is closed.
   CancelAllAlarms();
-  path_validator_.CancelPathValidation();
+  CancelPathValidation();
 }
 
 void QuicConnection::CancelAllAlarms() {
@@ -5447,6 +5447,14 @@
   return path_validator_.HasPendingPathValidation();
 }
 
+QuicPathValidationContext* QuicConnection::GetPathValidationContext() const {
+  return path_validator_.GetContext();
+}
+
+void QuicConnection::CancelPathValidation() {
+  path_validator_.CancelPathValidation();
+}
+
 void QuicConnection::MigratePath(const QuicSocketAddress& self_address,
                                  const QuicSocketAddress& peer_address,
                                  QuicPacketWriter* writer,
diff --git a/quic/core/quic_connection.h b/quic/core/quic_connection.h
index 3424735..f272a6a 100644
--- a/quic/core/quic_connection.h
+++ b/quic/core/quic_connection.h
@@ -1156,6 +1156,10 @@
 
   bool HasPendingPathValidation() const;
 
+  QuicPathValidationContext* GetPathValidationContext() const;
+
+  void CancelPathValidation();
+
   void MigratePath(const QuicSocketAddress& self_address,
                    const QuicSocketAddress& peer_address,
                    QuicPacketWriter* writer,
diff --git a/quic/core/quic_path_validator.cc b/quic/core/quic_path_validator.cc
index e24e053..fe9e046 100644
--- a/quic/core/quic_path_validator.cc
+++ b/quic/core/quic_path_validator.cc
@@ -94,6 +94,10 @@
   return path_context_ != nullptr;
 }
 
+QuicPathValidationContext* QuicPathValidator::GetContext() const {
+  return path_context_.get();
+}
+
 const QuicPathFrameBuffer& QuicPathValidator::GeneratePathChallengePayload() {
   probing_data_.push_back(QuicPathFrameBuffer());
   random_->RandBytes(probing_data_.back().data(), sizeof(QuicPathFrameBuffer));
diff --git a/quic/core/quic_path_validator.h b/quic/core/quic_path_validator.h
index 2f30579..b9c9c5d 100644
--- a/quic/core/quic_path_validator.h
+++ b/quic/core/quic_path_validator.h
@@ -106,6 +106,8 @@
 
   bool HasPendingPathValidation() const;
 
+  QuicPathValidationContext* GetContext() const;
+
   // Send another PATH_CHALLENGE on the same path. After retrying
   // |kMaxRetryTimes| times, fail the current path validation.
   void OnRetryTimeout();
