Allow 5% gQUIC Q046 traffic based on IP hash and send X-CLIENT-DATA with new Youtube experiment IDs to Cobalt AFE.

Note:
* Control: exp_id: 51007994, X-Client-Data: CgT6o6kY
* Experiment: exp_id: 51007995, X-Client-Data: CgT7o6kY

Protected by FLAGS_gfe2_restart_flag_enable_gquic_for_cobalt_experiment.

PiperOrigin-RevId: 558892183
diff --git a/quiche/quic/core/quic_dispatcher.cc b/quiche/quic/core/quic_dispatcher.cc
index 9fb397e..83e4437 100644
--- a/quiche/quic/core/quic_dispatcher.cc
+++ b/quiche/quic/core/quic_dispatcher.cc
@@ -529,7 +529,7 @@
   // processing using our preferred version.
   if (packet_info.version_flag) {
     if (!IsSupportedVersion(packet_info.version)) {
-      if (ShouldCreateSessionForUnknownVersion(packet_info.version_label)) {
+      if (ShouldCreateSessionForUnknownVersion(packet_info)) {
         return false;
       }
       // Since the version is not supported, send a version negotiation
@@ -1057,7 +1057,7 @@
 }
 
 bool QuicDispatcher::ShouldCreateSessionForUnknownVersion(
-    QuicVersionLabel /*version_label*/) {
+    const ReceivedPacketInfo& /*packet_info*/) {
   return false;
 }
 
diff --git a/quiche/quic/core/quic_dispatcher.h b/quiche/quic/core/quic_dispatcher.h
index 9279fcb..f9fd543 100644
--- a/quiche/quic/core/quic_dispatcher.h
+++ b/quiche/quic/core/quic_dispatcher.h
@@ -259,9 +259,9 @@
   QuicPacketWriter* writer() { return writer_.get(); }
 
   // Returns true if a session should be created for a connection with an
-  // unknown version identified by |version_label|.
+  // unknown version.
   virtual bool ShouldCreateSessionForUnknownVersion(
-      QuicVersionLabel version_label);
+      const ReceivedPacketInfo& packet_info);
 
   void SetLastError(QuicErrorCode error);