network: add socket interface factory and config option (#11630)

Add bootstrap config option that allows startup injection of a custom
SocketInterface.

Risk Level: Low
Testing: n/a
Docs Changes: n/a
Release Notes: n/a

Signed-off-by: Florin Coras <fcoras@cisco.com>

Mirrored from https://github.com/envoyproxy/envoy @ 13da8f415c372e7fde3b0105f58f57348e84acb5
master-ci-test
data-plane-api(CircleCI) 4 years ago
parent 2087799887
commit 5570d1eab3
  1. 1
      BUILD
  2. 6
      envoy/config/bootstrap/v3/bootstrap.proto
  3. 6
      envoy/config/bootstrap/v4alpha/bootstrap.proto
  4. 9
      envoy/extensions/network/socket_interface/v3/BUILD
  5. 17
      envoy/extensions/network/socket_interface/v3/default_socket_interface.proto
  6. 1
      versioning/BUILD

@ -227,6 +227,7 @@ proto_library(
"//envoy/extensions/internal_redirect/allow_listed_routes/v3:pkg", "//envoy/extensions/internal_redirect/allow_listed_routes/v3:pkg",
"//envoy/extensions/internal_redirect/previous_routes/v3:pkg", "//envoy/extensions/internal_redirect/previous_routes/v3:pkg",
"//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg", "//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg",
"//envoy/extensions/network/socket_interface/v3:pkg",
"//envoy/extensions/retry/host/omit_host_metadata/v3:pkg", "//envoy/extensions/retry/host/omit_host_metadata/v3:pkg",
"//envoy/extensions/retry/priority/previous_priorities/v3:pkg", "//envoy/extensions/retry/priority/previous_priorities/v3:pkg",
"//envoy/extensions/transport_sockets/alts/v3:pkg", "//envoy/extensions/transport_sockets/alts/v3:pkg",

@ -39,7 +39,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// <config_overview_bootstrap>` for more detail. // <config_overview_bootstrap>` for more detail.
// Bootstrap :ref:`configuration overview <config_overview_bootstrap>`. // Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
// [#next-free-field: 24] // [#next-free-field: 25]
message Bootstrap { message Bootstrap {
option (udpa.annotations.versioning).previous_message_type = option (udpa.annotations.versioning).previous_message_type =
"envoy.config.bootstrap.v2.Bootstrap"; "envoy.config.bootstrap.v2.Bootstrap";
@ -222,6 +222,10 @@ message Bootstrap {
// other resolution fails. // other resolution fails.
// [#not-implemented-hide:] // [#not-implemented-hide:]
core.v3.ConfigSource default_config_source = 23; core.v3.ConfigSource default_config_source = 23;
// Optional overriding of default socket interface. The value must be the name of one of the
// socket interface factories initialized through a bootstrap extension
string default_socket_interface = 24;
} }
// Administration interface :ref:`operations documentation // Administration interface :ref:`operations documentation

@ -37,7 +37,7 @@ option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSIO
// <config_overview_bootstrap>` for more detail. // <config_overview_bootstrap>` for more detail.
// Bootstrap :ref:`configuration overview <config_overview_bootstrap>`. // Bootstrap :ref:`configuration overview <config_overview_bootstrap>`.
// [#next-free-field: 24] // [#next-free-field: 25]
message Bootstrap { message Bootstrap {
option (udpa.annotations.versioning).previous_message_type = option (udpa.annotations.versioning).previous_message_type =
"envoy.config.bootstrap.v3.Bootstrap"; "envoy.config.bootstrap.v3.Bootstrap";
@ -213,6 +213,10 @@ message Bootstrap {
// other resolution fails. // other resolution fails.
// [#not-implemented-hide:] // [#not-implemented-hide:]
core.v4alpha.ConfigSource default_config_source = 23; core.v4alpha.ConfigSource default_config_source = 23;
// Optional overriding of default socket interface. The value must be the name of one of the
// socket interface factories initialized through a bootstrap extension
string default_socket_interface = 24;
} }
// Administration interface :ref:`operations documentation // Administration interface :ref:`operations documentation

@ -0,0 +1,9 @@
# DO NOT EDIT. This file is generated by tools/proto_sync.py.
load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package")
licenses(["notice"]) # Apache 2
api_proto_package(
deps = ["@com_github_cncf_udpa//udpa/annotations:pkg"],
)

@ -0,0 +1,17 @@
syntax = "proto3";
package envoy.extensions.network.socket_interface.v3;
import "udpa/annotations/status.proto";
option java_package = "io.envoyproxy.envoy.extensions.network.socket_interface.v3";
option java_outer_classname = "DefaultSocketInterfaceProto";
option java_multiple_files = true;
option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#protodoc-title: Default Socket Interface configuration]
// Configuration for default socket interface that relies on OS dependent syscall to create
// sockets.
message DefaultSocketInterface {
}

@ -110,6 +110,7 @@ proto_library(
"//envoy/extensions/internal_redirect/allow_listed_routes/v3:pkg", "//envoy/extensions/internal_redirect/allow_listed_routes/v3:pkg",
"//envoy/extensions/internal_redirect/previous_routes/v3:pkg", "//envoy/extensions/internal_redirect/previous_routes/v3:pkg",
"//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg", "//envoy/extensions/internal_redirect/safe_cross_scheme/v3:pkg",
"//envoy/extensions/network/socket_interface/v3:pkg",
"//envoy/extensions/retry/host/omit_host_metadata/v3:pkg", "//envoy/extensions/retry/host/omit_host_metadata/v3:pkg",
"//envoy/extensions/retry/priority/previous_priorities/v3:pkg", "//envoy/extensions/retry/priority/previous_priorities/v3:pkg",
"//envoy/extensions/transport_sockets/alts/v3:pkg", "//envoy/extensions/transport_sockets/alts/v3:pkg",

Loading…
Cancel
Save