Add bind to interface socket option support to QuicClientDefaultNetworkHelper. Similar to cl/468270056, but as per cl/470077005, Bonnet no longer uses QuicClientEpollNetworkHelper (which is being deprecated). PiperOrigin-RevId: 473049356
diff --git a/quiche/quic/tools/quic_client_default_network_helper.cc b/quiche/quic/tools/quic_client_default_network_helper.cc index a408a8f..2db9768 100644 --- a/quiche/quic/tools/quic_client_default_network_helper.cc +++ b/quiche/quic/tools/quic_client_default_network_helper.cc
@@ -233,6 +233,17 @@ *overflow_supported = api.EnableDroppedPacketCount(fd); api.EnableReceiveTimestamp(fd); + + std::string interface_name = client_->interface_name(); + if (!interface_name.empty()) { + if (!api.BindInterface(fd, interface_name)) { + QUIC_DLOG(WARNING) << "Failed to bind socket (" << fd + << ") to interface (" << interface_name << ")."; + CleanUpUDPSocket(fd); + return kQuicInvalidSocketFd; + } + } + return fd; }