udp_session_filters: add API for session filters and apply in UDP proxy (#29366)

Signed-off-by: ohadvano <ohadvano@gmail.com>

Mirrored from https://github.com/envoyproxy/envoy @ 83a7d934cdb98ca8779a9c72795ef2da0345f61c
main
update-envoy[bot] 1 year ago
parent c5b7519392
commit fc90f1b72c
  1. 18
      envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto

@ -5,6 +5,7 @@ package envoy.extensions.filters.udp.udp_proxy.v3;
import "envoy/config/accesslog/v3/accesslog.proto";
import "envoy/config/core/v3/udp_socket_config.proto";
import "google/protobuf/any.proto";
import "google/protobuf/duration.proto";
import "xds/annotations/v3/status.proto";
@ -26,7 +27,7 @@ option (udpa.annotations.file_status).package_version_status = ACTIVE;
// [#extension: envoy.filters.udp_listener.udp_proxy]
// Configuration for the UDP proxy filter.
// [#next-free-field: 11]
// [#next-free-field: 12]
message UdpProxyConfig {
option (udpa.annotations.versioning).previous_message_type =
"envoy.config.filter.udp.udp_proxy.v2alpha.UdpProxyConfig";
@ -49,6 +50,18 @@ message UdpProxyConfig {
}
}
// Configuration for UDP session filters.
message SessionFilter {
// The name of the filter configuration.
string name = 1 [(validate.rules).string = {min_len: 1}];
oneof config_type {
// Filter specific configuration which depends on the filter being
// instantiated. See the supported filters for further documentation.
google.protobuf.Any typed_config = 2;
}
}
// The stat prefix used when emitting UDP proxy filter stats.
string stat_prefix = 1 [(validate.rules).string = {min_len: 1}];
@ -110,4 +123,7 @@ message UdpProxyConfig {
// Configuration for proxy access logs emitted by the UDP proxy. Note that certain UDP specific data is emitted as :ref:`Dynamic Metadata <config_access_log_format_dynamic_metadata>`.
repeated config.accesslog.v3.AccessLog proxy_access_log = 10;
// Optional session filters that will run for each UDP session.
repeated SessionFilter session_filters = 11;
}

Loading…
Cancel
Save