.. _envoy_v3_api_file_envoy/extensions/health_checkers/udp/v3/udp.proto: UDP Health Checker (proto) ========================== .. _extension_envoy.health_checkers.udp: This extension has the qualified name ``envoy.health_checkers.udp`` .. note:: This extension is functional but has not had substantial production burn time, use only with this caveat. This extension is intended to be robust against untrusted downstream traffic. It assumes that the upstream is trusted. .. tip:: This extension extends and can be used with the following extension category: - :ref:`envoy.health_checkers ` This extension must be configured with one of the following type URLs: - :ref:`type.googleapis.com/envoy.extensions.health_checkers.udp.v3.UdpHealthCheck ` .. _envoy_v3_api_msg_extensions.health_checkers.udp.v3.UdpHealthCheck: extensions.health_checkers.udp.v3.UdpHealthCheck ------------------------------------------------ :repo:`[extensions.health_checkers.udp.v3.UdpHealthCheck proto] ` Configuration for the UDP health checker. For every health-check attempt, Envoy creates a fresh connected UDP socket targeting the host's :ref:`health check address `. UDP ``connect()`` only selects the peer; it does not establish connectivity and does not count as a successful health check. The :ref:`reuse_connection ` setting does not apply. Attempts for a host are serialized so that only one attempt is active at a time. Envoy sends exactly one datagram containing ``send`` and waits for a response until the enclosing :ref:`HealthCheck.timeout ` expires. The connected socket accepts datagrams only from the configured peer. Each complete response datagram is compared byte-for-byte with ``receive``. A matching datagram completes the attempt successfully. Non-matching datagrams do not satisfy the check; Envoy continues waiting until a matching datagram arrives or the attempt times out. A timeout or local socket error completes the attempt unsuccessfully. The enclosing :ref:`HealthCheck ` controls thresholds, intervals, jitter, statistics, and event logging. .. code-block:: json :force: { "send": {...}, "receive": {...} } .. _envoy_v3_api_field_extensions.health_checkers.udp.v3.UdpHealthCheck.send: send (:ref:`config.core.v3.HealthCheck.Payload `, *REQUIRED*) Payload sent as exactly one UDP datagram at the start of each health-check attempt. The decoded payload must not exceed 65,507 bytes. A smaller payload may be required to avoid IP fragmentation along the network path. .. _envoy_v3_api_field_extensions.health_checkers.udp.v3.UdpHealthCheck.receive: receive (:ref:`config.core.v3.HealthCheck.Payload `, *REQUIRED*) Expected response payload. A response datagram must match the entire payload exactly to make the health-check attempt successful. The decoded payload must not exceed 65,507 bytes. A smaller payload may be required to avoid IP fragmentation along the network path.