dns_filter: Add request parsing (#10697)
This change adds DNS Request Parsing to the DNS filter. The filter will parse and decode DNS requests for A and AAAA records. Tests simply validate that the filter can consume queries. Signed-off-by: Alvin Baptiste <alvinsb@gmail.com> Mirrored from https://github.com/envoyproxy/envoy @ 54cd4d49e895befb8ecb10ebb14585cd8fc71ee7master-ci-test
parent
594536496f
commit
df4157e2f9
6 changed files with 31 additions and 77 deletions
@ -1,13 +0,0 @@ |
||||
# 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 = [ |
||||
"//envoy/api/v2/core:pkg", |
||||
"//envoy/data/dns/v2alpha:pkg", |
||||
"@com_github_cncf_udpa//udpa/annotations:pkg", |
||||
], |
||||
) |
@ -1,48 +0,0 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.config.filter.udp.dns_filter.v2alpha; |
||||
|
||||
import "envoy/api/v2/core/base.proto"; |
||||
import "envoy/data/dns/v2alpha/dns_table.proto"; |
||||
|
||||
import "udpa/annotations/migrate.proto"; |
||||
import "udpa/annotations/status.proto"; |
||||
import "validate/validate.proto"; |
||||
|
||||
option java_package = "io.envoyproxy.envoy.config.filter.udp.dns_filter.v2alpha"; |
||||
option java_outer_classname = "DnsFilterProto"; |
||||
option java_multiple_files = true; |
||||
option (udpa.annotations.file_migrate).move_to_package = |
||||
"envoy.extensions.filter.udp.dns_filter.v3alpha"; |
||||
option (udpa.annotations.file_status).work_in_progress = true; |
||||
option (udpa.annotations.file_status).package_version_status = FROZEN; |
||||
|
||||
// [#protodoc-title: DNS Filter] |
||||
// DNS Filter :ref:`configuration overview <config_udp_listener_filters_dns_filter>`. |
||||
// [#extension: envoy.filters.udp_listener.dns_filter] |
||||
|
||||
// Configuration for the DNS filter. |
||||
message DnsFilterConfig { |
||||
// This message contains the configuration for the Dns Filter operating |
||||
// in a server context. This message will contain the virtual hosts and |
||||
// associated addresses with which Envoy will respond to queries |
||||
message ServerContextConfig { |
||||
oneof config_source { |
||||
option (validate.required) = true; |
||||
|
||||
// Load the configuration specified from the control plane |
||||
data.dns.v2alpha.DnsTable inline_dns_table = 1; |
||||
|
||||
// Seed the filter configuration from an external path. This source |
||||
// is a yaml formatted file that contains the DnsTable driving Envoy's |
||||
// responses to DNS queries |
||||
api.v2.core.DataSource external_dns_table = 2; |
||||
} |
||||
} |
||||
|
||||
// The stat prefix used when emitting DNS filter statistics |
||||
string stat_prefix = 1 [(validate.rules).string = {min_len: 1}]; |
||||
|
||||
// Server context configuration |
||||
ServerContextConfig server_config = 2; |
||||
} |
Loading…
Reference in new issue