In GFE simple clients, change the socket fd configurators to run before bind(), because some socket options(e.g. Enable AnyIp and DualStack) must be set before it.

PiperOrigin-RevId: 607856194
diff --git a/quiche/quic/test_tools/quic_test_client.cc b/quiche/quic/test_tools/quic_test_client.cc
index d3c26bb..edfa0a0 100644
--- a/quiche/quic/test_tools/quic_test_client.cc
+++ b/quiche/quic/test_tools/quic_test_client.cc
@@ -147,15 +147,18 @@
   }
 }
 
-bool MockableQuicClientDefaultNetworkHelper::CreateUDPSocketAndBind(
-    QuicSocketAddress server_address, QuicIpAddress bind_to_address,
-    int bind_to_port) {
-  bool result = QuicClientDefaultNetworkHelper::CreateUDPSocketAndBind(
-      server_address, bind_to_address, bind_to_port);
-  if (result && socket_fd_configurator_ != nullptr) {
-    socket_fd_configurator_(GetLatestFD());
+SocketFd MockableQuicClientDefaultNetworkHelper::CreateUDPSocket(
+    QuicSocketAddress server_address, bool* overflow_supported) {
+  SocketFd fd = QuicClientDefaultNetworkHelper::CreateUDPSocket(
+      server_address, overflow_supported);
+  if (fd < 0) {
+    return fd;
   }
-  return result;
+
+  if (socket_fd_configurator_ != nullptr) {
+    socket_fd_configurator_(fd);
+  }
+  return fd;
 }
 
 QuicPacketWriter*
diff --git a/quiche/quic/test_tools/quic_test_client.h b/quiche/quic/test_tools/quic_test_client.h
index 4cf4ae7..4920187 100644
--- a/quiche/quic/test_tools/quic_test_client.h
+++ b/quiche/quic/test_tools/quic_test_client.h
@@ -38,9 +38,8 @@
                      const QuicSocketAddress& peer_address,
                      const QuicReceivedPacket& packet) override;
 
-  bool CreateUDPSocketAndBind(QuicSocketAddress server_address,
-                              QuicIpAddress bind_to_address,
-                              int bind_to_port) override;
+  SocketFd CreateUDPSocket(QuicSocketAddress server_address,
+                           bool* overflow_supported) override;
 
   QuicPacketWriter* CreateQuicPacketWriter() override;