From 7a0b917df20b324aac90679fe3a1a599b1799fd5 Mon Sep 17 00:00:00 2001 From: Alyssa Wilk Date: Wed, 8 Sep 2021 09:44:16 -0400 Subject: [PATCH 1/6] quic: attempting to fix non-linux QUIC builds Signed-off-by: Alyssa Wilk --- source/common/quic/BUILD | 6 ++++-- source/common/quic/udp_gso_batch_writer.h | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/source/common/quic/BUILD b/source/common/quic/BUILD index fed592a8ddb11..0addc9c527789 100644 --- a/source/common/quic/BUILD +++ b/source/common/quic/BUILD @@ -459,8 +459,10 @@ envoy_cc_library( "//source/common/network:io_socket_error_lib", "//source/common/protobuf:utility_lib", "//source/common/runtime:runtime_lib", - "@com_github_google_quiche//:quic_core_batch_writer_gso_batch_writer_lib", - ], + ] + select({ + "//bazel:linux": ["@com_github_google_quiche//:quic_core_batch_writer_gso_batch_writer_lib"], + "//conditions:default": [], + }), ) envoy_cc_library( diff --git a/source/common/quic/udp_gso_batch_writer.h b/source/common/quic/udp_gso_batch_writer.h index 367f248bd7b4e..21a821b70726b 100644 --- a/source/common/quic/udp_gso_batch_writer.h +++ b/source/common/quic/udp_gso_batch_writer.h @@ -18,8 +18,11 @@ #pragma GCC diagnostic ignored "-Wsuggest-override" #endif +#if defined(__linux__) #include "quiche/quic/core/batch_writer/quic_gso_batch_writer.h" +#endif + #ifdef __clang__ #pragma clang diagnostic pop #endif From a8fdbdd857b47176a8e78746e9ed77cd06ac87a6 Mon Sep 17 00:00:00 2001 From: Alyssa Wilk Date: Thu, 9 Sep 2021 09:10:17 -0400 Subject: [PATCH 2/6] take two Signed-off-by: Alyssa Wilk --- source/common/quic/BUILD | 29 ++++++++++++++++------- source/common/quic/gso_defines.h | 8 +++++++ source/common/quic/udp_gso_batch_writer.h | 11 +++------ source/server/BUILD | 1 + source/server/listener_impl.cc | 6 ++++- 5 files changed, 37 insertions(+), 18 deletions(-) create mode 100644 source/common/quic/gso_defines.h diff --git a/source/common/quic/BUILD b/source/common/quic/BUILD index 0addc9c527789..0b3a5e278a578 100644 --- a/source/common/quic/BUILD +++ b/source/common/quic/BUILD @@ -444,23 +444,34 @@ envoy_cc_library( ], ) +envoy_cc_library( + name = "envoy_quic_gso_defines_lib", + hdrs = ["gso_defines.h"], + tags = ["nofips"], +) + envoy_cc_library( name = "udp_gso_batch_writer_lib", srcs = select({ "//bazel:linux": ["udp_gso_batch_writer.cc"], "//conditions:default": [], }), - hdrs = ["udp_gso_batch_writer.h"], + hdrs = select({ + "//bazel:linux": ["udp_gso_batch_writer.h"], + "//conditions:default": [], + }), external_deps = ["quiche_quic_platform"], tags = ["nofips"], - deps = [ - ":envoy_quic_utils_lib", - "//envoy/network:udp_packet_writer_handler_interface", - "//source/common/network:io_socket_error_lib", - "//source/common/protobuf:utility_lib", - "//source/common/runtime:runtime_lib", - ] + select({ - "//bazel:linux": ["@com_github_google_quiche//:quic_core_batch_writer_gso_batch_writer_lib"], + deps = select({ + "//bazel:linux": [ + ":envoy_quic_utils_lib", + ":envoy_quic_gso_defines_lib", + "//envoy/network:udp_packet_writer_handler_interface", + "//source/common/network:io_socket_error_lib", + "//source/common/protobuf:utility_lib", + "//source/common/runtime:runtime_lib", + "@com_github_google_quiche//:quic_core_batch_writer_gso_batch_writer_lib", + ], "//conditions:default": [], }), ) diff --git a/source/common/quic/gso_defines.h b/source/common/quic/gso_defines.h new file mode 100644 index 0000000000000..0897220a2df3b --- /dev/null +++ b/source/common/quic/gso_defines.h @@ -0,0 +1,8 @@ +// NOLINT(namespace-envoy) +#pragma once + +#if !defined(__linux__) +#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 0 +#else +#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 1 +#endif diff --git a/source/common/quic/udp_gso_batch_writer.h b/source/common/quic/udp_gso_batch_writer.h index 21a821b70726b..6fefb8b4deb9e 100644 --- a/source/common/quic/udp_gso_batch_writer.h +++ b/source/common/quic/udp_gso_batch_writer.h @@ -1,10 +1,6 @@ #pragma once -#if !defined(__linux__) -#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 0 -#else -#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 1 - +#if defined(__linux__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Winvalid-offsetof" @@ -18,10 +14,9 @@ #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#if defined(__linux__) -#include "quiche/quic/core/batch_writer/quic_gso_batch_writer.h" +#include "source/common/quic/gso_defines.h" -#endif +#include "quiche/quic/core/batch_writer/quic_gso_batch_writer.h" #ifdef __clang__ #pragma clang diagnostic pop diff --git a/source/server/BUILD b/source/server/BUILD index b29bb1a84e333..161623cadddd3 100644 --- a/source/server/BUILD +++ b/source/server/BUILD @@ -490,6 +490,7 @@ envoy_cc_library( "//source/common/quic:client_connection_factory_lib", "//source/common/quic:quic_factory_lib", "//source/common/quic:quic_transport_socket_factory_lib", + "//source/common/quic:envoy_quic_gso_defines_lib", "//source/common/quic:udp_gso_batch_writer_lib", ]), ) diff --git a/source/server/listener_impl.cc b/source/server/listener_impl.cc index c6a666477ce35..ec8fe7b181d4b 100644 --- a/source/server/listener_impl.cc +++ b/source/server/listener_impl.cc @@ -32,8 +32,12 @@ #ifdef ENVOY_ENABLE_QUIC #include "source/common/quic/active_quic_listener.h" +#include "source/common/quic/gso_defines.h" +#endif // ENVOY_ENABLE_QUIC + +#ifdef UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT #include "source/common/quic/udp_gso_batch_writer.h" -#endif +#endif // UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT namespace Envoy { namespace Server { From 9f8e0b54ae9e75db22033f033e1b8c42ad27e0d1 Mon Sep 17 00:00:00 2001 From: Alyssa Wilk Date: Thu, 9 Sep 2021 10:57:05 -0400 Subject: [PATCH 3/6] spelling Signed-off-by: Alyssa Wilk --- source/server/listener_impl.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/server/listener_impl.cc b/source/server/listener_impl.cc index ec8fe7b181d4b..fa5ad4cc2b3bf 100644 --- a/source/server/listener_impl.cc +++ b/source/server/listener_impl.cc @@ -37,7 +37,7 @@ #ifdef UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT #include "source/common/quic/udp_gso_batch_writer.h" -#endif // UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT +#endif namespace Envoy { namespace Server { From e46c320587cfa7d470867e5c448ac83d8edc6965 Mon Sep 17 00:00:00 2001 From: Alyssa Wilk Date: Thu, 9 Sep 2021 11:50:27 -0400 Subject: [PATCH 4/6] hopefully adding windows clarity Signed-off-by: Alyssa Wilk --- source/common/quic/gso_defines.h | 6 +++--- source/server/listener_impl.cc | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/source/common/quic/gso_defines.h b/source/common/quic/gso_defines.h index 0897220a2df3b..8e54fbb68b7ad 100644 --- a/source/common/quic/gso_defines.h +++ b/source/common/quic/gso_defines.h @@ -1,8 +1,8 @@ // NOLINT(namespace-envoy) #pragma once -#if !defined(__linux__) -#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 0 -#else +#if defined(__linux__) #define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 1 +#else +#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 0 #endif diff --git a/source/server/listener_impl.cc b/source/server/listener_impl.cc index fa5ad4cc2b3bf..381f9b4d09729 100644 --- a/source/server/listener_impl.cc +++ b/source/server/listener_impl.cc @@ -33,12 +33,13 @@ #ifdef ENVOY_ENABLE_QUIC #include "source/common/quic/active_quic_listener.h" #include "source/common/quic/gso_defines.h" -#endif // ENVOY_ENABLE_QUIC #ifdef UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT #include "source/common/quic/udp_gso_batch_writer.h" #endif +#endif // ENVOY_ENABLE_QUIC + namespace Envoy { namespace Server { From 68c1a128f3c84bf00eec9ef372deb0b9dea82b01 Mon Sep 17 00:00:00 2001 From: Alyssa Wilk Date: Thu, 9 Sep 2021 11:52:57 -0400 Subject: [PATCH 5/6] windows fix Signed-off-by: Alyssa Wilk --- source/server/listener_impl.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/server/listener_impl.cc b/source/server/listener_impl.cc index 381f9b4d09729..f924e8e34704c 100644 --- a/source/server/listener_impl.cc +++ b/source/server/listener_impl.cc @@ -33,12 +33,12 @@ #ifdef ENVOY_ENABLE_QUIC #include "source/common/quic/active_quic_listener.h" #include "source/common/quic/gso_defines.h" +#endif // ENVOY_ENABLE_QUIC -#ifdef UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT +#if UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT #include "source/common/quic/udp_gso_batch_writer.h" #endif -#endif // ENVOY_ENABLE_QUIC namespace Envoy { namespace Server { From 0824b90bac81c2066e78dbfaf40f0f8a33879cb1 Mon Sep 17 00:00:00 2001 From: Alyssa Wilk Date: Thu, 9 Sep 2021 15:54:19 -0400 Subject: [PATCH 6/6] take 3 Signed-off-by: Alyssa Wilk --- source/common/quic/BUILD | 31 +++++++---------------- source/common/quic/gso_defines.h | 8 ------ source/common/quic/udp_gso_batch_writer.h | 8 +++--- source/server/BUILD | 1 - source/server/listener_impl.cc | 5 ---- 5 files changed, 14 insertions(+), 39 deletions(-) delete mode 100644 source/common/quic/gso_defines.h diff --git a/source/common/quic/BUILD b/source/common/quic/BUILD index 0b3a5e278a578..fed592a8ddb11 100644 --- a/source/common/quic/BUILD +++ b/source/common/quic/BUILD @@ -444,36 +444,23 @@ envoy_cc_library( ], ) -envoy_cc_library( - name = "envoy_quic_gso_defines_lib", - hdrs = ["gso_defines.h"], - tags = ["nofips"], -) - envoy_cc_library( name = "udp_gso_batch_writer_lib", srcs = select({ "//bazel:linux": ["udp_gso_batch_writer.cc"], "//conditions:default": [], }), - hdrs = select({ - "//bazel:linux": ["udp_gso_batch_writer.h"], - "//conditions:default": [], - }), + hdrs = ["udp_gso_batch_writer.h"], external_deps = ["quiche_quic_platform"], tags = ["nofips"], - deps = select({ - "//bazel:linux": [ - ":envoy_quic_utils_lib", - ":envoy_quic_gso_defines_lib", - "//envoy/network:udp_packet_writer_handler_interface", - "//source/common/network:io_socket_error_lib", - "//source/common/protobuf:utility_lib", - "//source/common/runtime:runtime_lib", - "@com_github_google_quiche//:quic_core_batch_writer_gso_batch_writer_lib", - ], - "//conditions:default": [], - }), + deps = [ + ":envoy_quic_utils_lib", + "//envoy/network:udp_packet_writer_handler_interface", + "//source/common/network:io_socket_error_lib", + "//source/common/protobuf:utility_lib", + "//source/common/runtime:runtime_lib", + "@com_github_google_quiche//:quic_core_batch_writer_gso_batch_writer_lib", + ], ) envoy_cc_library( diff --git a/source/common/quic/gso_defines.h b/source/common/quic/gso_defines.h deleted file mode 100644 index 8e54fbb68b7ad..0000000000000 --- a/source/common/quic/gso_defines.h +++ /dev/null @@ -1,8 +0,0 @@ -// NOLINT(namespace-envoy) -#pragma once - -#if defined(__linux__) -#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 1 -#else -#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 0 -#endif diff --git a/source/common/quic/udp_gso_batch_writer.h b/source/common/quic/udp_gso_batch_writer.h index 6fefb8b4deb9e..06dfc06cf4620 100644 --- a/source/common/quic/udp_gso_batch_writer.h +++ b/source/common/quic/udp_gso_batch_writer.h @@ -1,6 +1,10 @@ #pragma once -#if defined(__linux__) +#if !defined(__linux__) || defined(__ANDROID_API__) +#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 0 +#else +#define UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT 1 + #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" #pragma GCC diagnostic ignored "-Winvalid-offsetof" @@ -14,8 +18,6 @@ #pragma GCC diagnostic ignored "-Wsuggest-override" #endif -#include "source/common/quic/gso_defines.h" - #include "quiche/quic/core/batch_writer/quic_gso_batch_writer.h" #ifdef __clang__ diff --git a/source/server/BUILD b/source/server/BUILD index 161623cadddd3..b29bb1a84e333 100644 --- a/source/server/BUILD +++ b/source/server/BUILD @@ -490,7 +490,6 @@ envoy_cc_library( "//source/common/quic:client_connection_factory_lib", "//source/common/quic:quic_factory_lib", "//source/common/quic:quic_transport_socket_factory_lib", - "//source/common/quic:envoy_quic_gso_defines_lib", "//source/common/quic:udp_gso_batch_writer_lib", ]), ) diff --git a/source/server/listener_impl.cc b/source/server/listener_impl.cc index f924e8e34704c..c6a666477ce35 100644 --- a/source/server/listener_impl.cc +++ b/source/server/listener_impl.cc @@ -32,14 +32,9 @@ #ifdef ENVOY_ENABLE_QUIC #include "source/common/quic/active_quic_listener.h" -#include "source/common/quic/gso_defines.h" -#endif // ENVOY_ENABLE_QUIC - -#if UDP_GSO_BATCH_WRITER_COMPILETIME_SUPPORT #include "source/common/quic/udp_gso_batch_writer.h" #endif - namespace Envoy { namespace Server {