Class UdpProxyConfig

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, UdpProxyConfigOrBuilder, Serializable

    public final class UdpProxyConfig
    extends com.google.protobuf.GeneratedMessageV3
    implements UdpProxyConfigOrBuilder
     Configuration for the UDP proxy filter.
     [#next-free-field: 10]
     
    Protobuf type envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig
    See Also:
    Serialized Form
    • Field Detail

      • STAT_PREFIX_FIELD_NUMBER

        public static final int STAT_PREFIX_FIELD_NUMBER
        See Also:
        Constant Field Values
      • IDLE_TIMEOUT_FIELD_NUMBER

        public static final int IDLE_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • USE_ORIGINAL_SRC_IP_FIELD_NUMBER

        public static final int USE_ORIGINAL_SRC_IP_FIELD_NUMBER
        See Also:
        Constant Field Values
      • HASH_POLICIES_FIELD_NUMBER

        public static final int HASH_POLICIES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • UPSTREAM_SOCKET_CONFIG_FIELD_NUMBER

        public static final int UPSTREAM_SOCKET_CONFIG_FIELD_NUMBER
        See Also:
        Constant Field Values
      • USE_PER_PACKET_LOAD_BALANCING_FIELD_NUMBER

        public static final int USE_PER_PACKET_LOAD_BALANCING_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ACCESS_LOG_FIELD_NUMBER

        public static final int ACCESS_LOG_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getStatPrefix

        public String getStatPrefix()
         The stat prefix used when emitting UDP proxy filter stats.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Specified by:
        getStatPrefix in interface UdpProxyConfigOrBuilder
        Returns:
        The statPrefix.
      • getStatPrefixBytes

        public com.google.protobuf.ByteString getStatPrefixBytes()
         The stat prefix used when emitting UDP proxy filter stats.
         
        string stat_prefix = 1 [(.validate.rules) = { ... }
        Specified by:
        getStatPrefixBytes in interface UdpProxyConfigOrBuilder
        Returns:
        The bytes for statPrefix.
      • hasCluster

        @Deprecated
        public boolean hasCluster()
        Deprecated.
        envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.cluster is deprecated. See envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto;l=60
         The upstream cluster to connect to.
         This field is deprecated in favor of
         :ref:`matcher <envoy_v3_api_field_extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.matcher>`.
         
        string cluster = 2 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        hasCluster in interface UdpProxyConfigOrBuilder
        Returns:
        Whether the cluster field is set.
      • getCluster

        @Deprecated
        public String getCluster()
        Deprecated.
        envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.cluster is deprecated. See envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto;l=60
         The upstream cluster to connect to.
         This field is deprecated in favor of
         :ref:`matcher <envoy_v3_api_field_extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.matcher>`.
         
        string cluster = 2 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getCluster in interface UdpProxyConfigOrBuilder
        Returns:
        The cluster.
      • getClusterBytes

        @Deprecated
        public com.google.protobuf.ByteString getClusterBytes()
        Deprecated.
        envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.cluster is deprecated. See envoy/extensions/filters/udp/udp_proxy/v3/udp_proxy.proto;l=60
         The upstream cluster to connect to.
         This field is deprecated in favor of
         :ref:`matcher <envoy_v3_api_field_extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.matcher>`.
         
        string cluster = 2 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getClusterBytes in interface UdpProxyConfigOrBuilder
        Returns:
        The bytes for cluster.
      • hasMatcher

        public boolean hasMatcher()
         The match tree to use when resolving route actions for incoming requests.
         See :ref:`Routing <config_udp_listener_filters_udp_proxy_routing>` for more information.
         
        .xds.type.matcher.v3.Matcher matcher = 9 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        hasMatcher in interface UdpProxyConfigOrBuilder
        Returns:
        Whether the matcher field is set.
      • getMatcher

        public Matcher getMatcher()
         The match tree to use when resolving route actions for incoming requests.
         See :ref:`Routing <config_udp_listener_filters_udp_proxy_routing>` for more information.
         
        .xds.type.matcher.v3.Matcher matcher = 9 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        getMatcher in interface UdpProxyConfigOrBuilder
        Returns:
        The matcher.
      • getMatcherOrBuilder

        public MatcherOrBuilder getMatcherOrBuilder()
         The match tree to use when resolving route actions for incoming requests.
         See :ref:`Routing <config_udp_listener_filters_udp_proxy_routing>` for more information.
         
        .xds.type.matcher.v3.Matcher matcher = 9 [(.xds.annotations.v3.field_status) = { ... }
        Specified by:
        getMatcherOrBuilder in interface UdpProxyConfigOrBuilder
      • hasIdleTimeout

        public boolean hasIdleTimeout()
         The idle timeout for sessions. Idle is defined as no datagrams between received or sent by
         the session. The default if not specified is 1 minute.
         
        .google.protobuf.Duration idle_timeout = 3;
        Specified by:
        hasIdleTimeout in interface UdpProxyConfigOrBuilder
        Returns:
        Whether the idleTimeout field is set.
      • getIdleTimeout

        public com.google.protobuf.Duration getIdleTimeout()
         The idle timeout for sessions. Idle is defined as no datagrams between received or sent by
         the session. The default if not specified is 1 minute.
         
        .google.protobuf.Duration idle_timeout = 3;
        Specified by:
        getIdleTimeout in interface UdpProxyConfigOrBuilder
        Returns:
        The idleTimeout.
      • getIdleTimeoutOrBuilder

        public com.google.protobuf.DurationOrBuilder getIdleTimeoutOrBuilder()
         The idle timeout for sessions. Idle is defined as no datagrams between received or sent by
         the session. The default if not specified is 1 minute.
         
        .google.protobuf.Duration idle_timeout = 3;
        Specified by:
        getIdleTimeoutOrBuilder in interface UdpProxyConfigOrBuilder
      • getUseOriginalSrcIp

        public boolean getUseOriginalSrcIp()
         Use the remote downstream IP address as the sender IP address when sending packets to upstream hosts.
         This option requires Envoy to be run with the ``CAP_NET_ADMIN`` capability on Linux.
         And the IPv6 stack must be enabled on Linux kernel.
         This option does not preserve the remote downstream port.
         If this option is enabled, the IP address of sent datagrams will be changed to the remote downstream IP address.
         This means that Envoy will not receive packets that are sent by upstream hosts because the upstream hosts
         will send the packets with the remote downstream IP address as the destination. All packets will be routed
         to the remote downstream directly if there are route rules on the upstream host side.
         There are two options to return the packets back to the remote downstream.
         The first one is to use DSR (Direct Server Return).
         The other one is to configure routing rules on the upstream hosts to forward
         all packets back to Envoy and configure iptables rules on the host running Envoy to
         forward all packets from upstream hosts to the Envoy process so that Envoy can forward the packets to the downstream.
         If the platform does not support this option, Envoy will raise a configuration error.
         
        bool use_original_src_ip = 4;
        Specified by:
        getUseOriginalSrcIp in interface UdpProxyConfigOrBuilder
        Returns:
        The useOriginalSrcIp.
      • getHashPoliciesList

        public List<UdpProxyConfig.HashPolicy> getHashPoliciesList()
         Optional configuration for UDP proxy hash policies. If hash_policies is not set, the hash-based
         load balancing algorithms will select a host randomly. Currently the number of hash policies is
         limited to 1.
         
        repeated .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.HashPolicy hash_policies = 5 [(.validate.rules) = { ... }
        Specified by:
        getHashPoliciesList in interface UdpProxyConfigOrBuilder
      • getHashPoliciesOrBuilderList

        public List<? extends UdpProxyConfig.HashPolicyOrBuilder> getHashPoliciesOrBuilderList()
         Optional configuration for UDP proxy hash policies. If hash_policies is not set, the hash-based
         load balancing algorithms will select a host randomly. Currently the number of hash policies is
         limited to 1.
         
        repeated .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.HashPolicy hash_policies = 5 [(.validate.rules) = { ... }
        Specified by:
        getHashPoliciesOrBuilderList in interface UdpProxyConfigOrBuilder
      • getHashPoliciesCount

        public int getHashPoliciesCount()
         Optional configuration for UDP proxy hash policies. If hash_policies is not set, the hash-based
         load balancing algorithms will select a host randomly. Currently the number of hash policies is
         limited to 1.
         
        repeated .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.HashPolicy hash_policies = 5 [(.validate.rules) = { ... }
        Specified by:
        getHashPoliciesCount in interface UdpProxyConfigOrBuilder
      • getHashPolicies

        public UdpProxyConfig.HashPolicy getHashPolicies​(int index)
         Optional configuration for UDP proxy hash policies. If hash_policies is not set, the hash-based
         load balancing algorithms will select a host randomly. Currently the number of hash policies is
         limited to 1.
         
        repeated .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.HashPolicy hash_policies = 5 [(.validate.rules) = { ... }
        Specified by:
        getHashPolicies in interface UdpProxyConfigOrBuilder
      • getHashPoliciesOrBuilder

        public UdpProxyConfig.HashPolicyOrBuilder getHashPoliciesOrBuilder​(int index)
         Optional configuration for UDP proxy hash policies. If hash_policies is not set, the hash-based
         load balancing algorithms will select a host randomly. Currently the number of hash policies is
         limited to 1.
         
        repeated .envoy.extensions.filters.udp.udp_proxy.v3.UdpProxyConfig.HashPolicy hash_policies = 5 [(.validate.rules) = { ... }
        Specified by:
        getHashPoliciesOrBuilder in interface UdpProxyConfigOrBuilder
      • hasUpstreamSocketConfig

        public boolean hasUpstreamSocketConfig()
         UDP socket configuration for upstream sockets. The default for
         :ref:`prefer_gro <envoy_v3_api_field_config.core.v3.UdpSocketConfig.prefer_gro>` is true for upstream
         sockets as the assumption is datagrams will be received from a single source.
         
        .envoy.config.core.v3.UdpSocketConfig upstream_socket_config = 6;
        Specified by:
        hasUpstreamSocketConfig in interface UdpProxyConfigOrBuilder
        Returns:
        Whether the upstreamSocketConfig field is set.
      • getUpstreamSocketConfig

        public UdpSocketConfig getUpstreamSocketConfig()
         UDP socket configuration for upstream sockets. The default for
         :ref:`prefer_gro <envoy_v3_api_field_config.core.v3.UdpSocketConfig.prefer_gro>` is true for upstream
         sockets as the assumption is datagrams will be received from a single source.
         
        .envoy.config.core.v3.UdpSocketConfig upstream_socket_config = 6;
        Specified by:
        getUpstreamSocketConfig in interface UdpProxyConfigOrBuilder
        Returns:
        The upstreamSocketConfig.
      • getUpstreamSocketConfigOrBuilder

        public UdpSocketConfigOrBuilder getUpstreamSocketConfigOrBuilder()
         UDP socket configuration for upstream sockets. The default for
         :ref:`prefer_gro <envoy_v3_api_field_config.core.v3.UdpSocketConfig.prefer_gro>` is true for upstream
         sockets as the assumption is datagrams will be received from a single source.
         
        .envoy.config.core.v3.UdpSocketConfig upstream_socket_config = 6;
        Specified by:
        getUpstreamSocketConfigOrBuilder in interface UdpProxyConfigOrBuilder
      • getUsePerPacketLoadBalancing

        public boolean getUsePerPacketLoadBalancing()
         Perform per packet load balancing (upstream host selection) on each received data chunk.
         The default if not specified is false, that means each data chunk is forwarded
         to upstream host selected on first chunk receival for that "session" (identified by source IP/port and local IP/port).
         
        bool use_per_packet_load_balancing = 7;
        Specified by:
        getUsePerPacketLoadBalancing in interface UdpProxyConfigOrBuilder
        Returns:
        The usePerPacketLoadBalancing.
      • getAccessLogList

        public List<AccessLog> getAccessLogList()
         Configuration for 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 .envoy.config.accesslog.v3.AccessLog access_log = 8;
        Specified by:
        getAccessLogList in interface UdpProxyConfigOrBuilder
      • getAccessLogOrBuilderList

        public List<? extends AccessLogOrBuilder> getAccessLogOrBuilderList()
         Configuration for 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 .envoy.config.accesslog.v3.AccessLog access_log = 8;
        Specified by:
        getAccessLogOrBuilderList in interface UdpProxyConfigOrBuilder
      • getAccessLogCount

        public int getAccessLogCount()
         Configuration for 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 .envoy.config.accesslog.v3.AccessLog access_log = 8;
        Specified by:
        getAccessLogCount in interface UdpProxyConfigOrBuilder
      • getAccessLog

        public AccessLog getAccessLog​(int index)
         Configuration for 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 .envoy.config.accesslog.v3.AccessLog access_log = 8;
        Specified by:
        getAccessLog in interface UdpProxyConfigOrBuilder
      • getAccessLogOrBuilder

        public AccessLogOrBuilder getAccessLogOrBuilder​(int index)
         Configuration for 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 .envoy.config.accesslog.v3.AccessLog access_log = 8;
        Specified by:
        getAccessLogOrBuilder in interface UdpProxyConfigOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static UdpProxyConfig parseFrom​(ByteBuffer data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UdpProxyConfig parseFrom​(ByteBuffer data,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UdpProxyConfig parseFrom​(com.google.protobuf.ByteString data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UdpProxyConfig parseFrom​(com.google.protobuf.ByteString data,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UdpProxyConfig parseFrom​(byte[] data)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UdpProxyConfig parseFrom​(byte[] data,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static UdpProxyConfig parseFrom​(com.google.protobuf.CodedInputStream input,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws IOException
        Throws:
        IOException
      • newBuilderForType

        public UdpProxyConfig.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public UdpProxyConfig.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected UdpProxyConfig.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static UdpProxyConfig getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<UdpProxyConfig> parser()
      • getParserForType

        public com.google.protobuf.Parser<UdpProxyConfig> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public UdpProxyConfig getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder