aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Alexander Polcyn <apolcyn@google.com>2018-12-28 15:54:43 -0800
committerGravatar Alexander Polcyn <apolcyn@google.com>2019-01-03 13:19:41 -0800
commitcab4774d95b9fa53f3cfe3bf58fb07dbc8f7650f (patch)
tree220938df992d9e1dbad540f496f3a1a1ae9c0c14
parent00763bc3eaff1523a70e5e791924c16abd2fe526 (diff)
Add a way to avoid if_nametoindex function for non-posix linux platforms that don't support it
-rw-r--r--include/grpc/impl/codegen/port_platform.h4
-rw-r--r--src/core/lib/iomgr/grpc_if_nametoindex_posix.cc5
-rw-r--r--src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc5
-rw-r--r--src/core/lib/iomgr/port.h1
4 files changed, 11 insertions, 4 deletions
diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h
index 031c0c36ae..bd81635f58 100644
--- a/include/grpc/impl/codegen/port_platform.h
+++ b/include/grpc/impl/codegen/port_platform.h
@@ -465,6 +465,10 @@ typedef unsigned __int64 uint64_t;
#define GRPC_ARES 1
#endif
+#ifndef GRPC_IF_NAMETOINDEX
+#define GRPC_IF_NAMETOINDEX 1
+#endif
+
#ifndef GRPC_MUST_USE_RESULT
#if defined(__GNUC__) && !defined(__MINGW32__)
#define GRPC_MUST_USE_RESULT __attribute__((warn_unused_result))
diff --git a/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc b/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
index 8f9137455d..f1ba20dcec 100644
--- a/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
+++ b/src/core/lib/iomgr/grpc_if_nametoindex_posix.cc
@@ -20,7 +20,7 @@
#include "src/core/lib/iomgr/port.h"
-#ifdef GRPC_POSIX_SOCKET
+#if GRPC_IF_NAMETOINDEX == 1 && defined(GRPC_POSIX_SOCKET_IF_NAMETOINDEX)
#include "src/core/lib/iomgr/grpc_if_nametoindex.h"
@@ -38,4 +38,5 @@ uint32_t grpc_if_nametoindex(char* name) {
return out;
}
-#endif /* GRPC_POSIX_SOCKET */
+#endif /* GRPC_IF_NAMETOINDEX == 1 && \
+ defined(GRPC_POSIX_SOCKET_IF_NAMETOINDEX) */
diff --git a/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc b/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
index 1faaaa6e42..08644cccf3 100644
--- a/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
+++ b/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.cc
@@ -20,7 +20,7 @@
#include "src/core/lib/iomgr/port.h"
-#ifndef GRPC_POSIX_SOCKET
+#if GRPC_IF_NAMETOINDEX == 0 || !defined(GRPC_POSIX_SOCKET_IF_NAMETOINDEX)
#include "src/core/lib/iomgr/grpc_if_nametoindex.h"
@@ -34,4 +34,5 @@ uint32_t grpc_if_nametoindex(char* name) {
return 0;
}
-#endif /* GRPC_POSIX_SOCKET */
+#endif /* GRPC_IF_NAMETOINDEX == 0 || \
+ !defined(GRPC_POSIX_SOCKET_IF_NAMETOINDEX) */
diff --git a/src/core/lib/iomgr/port.h b/src/core/lib/iomgr/port.h
index c8046b21dc..7b6ca1bc0e 100644
--- a/src/core/lib/iomgr/port.h
+++ b/src/core/lib/iomgr/port.h
@@ -184,6 +184,7 @@
#define GRPC_POSIX_SOCKET_EV_EPOLLEX 1
#define GRPC_POSIX_SOCKET_EV_POLL 1
#define GRPC_POSIX_SOCKET_EV_EPOLL1 1
+#define GRPC_POSIX_SOCKET_IF_NAMETOINDEX 1
#define GRPC_POSIX_SOCKET_IOMGR 1
#define GRPC_POSIX_SOCKET_RESOLVE_ADDRESS 1
#define GRPC_POSIX_SOCKET_SOCKADDR 1