From d879c3cb6af73e7ab01d2900b7b77c784a754425 Mon Sep 17 00:00:00 2001 From: Vignesh Babu Date: Mon, 1 Jul 2024 09:04:40 -0700 Subject: [PATCH] Allow SetSocketDualStack to be overridden internally. PiperOrigin-RevId: 648387426 --- .../lib/event_engine/posix_engine/tcp_socket_utils.cc | 10 ++++++++-- .../lib/event_engine/posix_engine/tcp_socket_utils.h | 2 ++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc b/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc index 46c41263bfb..4495d650994 100644 --- a/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +++ b/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc @@ -148,15 +148,21 @@ absl::Status PrepareTcpClientSocket(PosixSocketWrapper sock, return absl::OkStatus(); } +#endif // GRPC_POSIX_SOCKET_UTILS_COMMON + +} // namespace + +#ifdef GRPC_POSIX_SOCKET_UTILS_COMMON +#ifndef GRPC_SET_SOCKET_DUALSTACK_CUSTOM + bool SetSocketDualStack(int fd) { const int off = 0; return 0 == setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &off, sizeof(off)); } +#endif // GRPC_SET_SOCKET_DUALSTACK_CUSTOM #endif // GRPC_POSIX_SOCKET_UTILS_COMMON -} // namespace - PosixTcpOptions TcpOptionsFromEndpointConfig(const EndpointConfig& config) { void* value; PosixTcpOptions options; diff --git a/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h b/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h index 5bc53dbd391..15f6c5d88d7 100644 --- a/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +++ b/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h @@ -323,6 +323,8 @@ struct PosixSocketWrapper::PosixSocketCreateResult { EventEngine::ResolvedAddress mapped_target_addr; }; +bool SetSocketDualStack(int fd); + } // namespace experimental } // namespace grpc_event_engine