Escaper

Escapers are the outbound side of vey-proxy. A server hands a request to an escaper, and the escaper decides how that request leaves the daemon.

Each escaper configuration item is a map with two required keys:

  • name, which defines the escaper name

  • type, which selects the concrete escaper type and therefore determines how the remaining keys are interpreted

The pages below are split between direct/proxy escapers and routing wrappers.

Escapers

Common Keys

These keys show up on many escaper types and control the shared outbound transport behavior.

name

required, type: metric node name

The escaper name.

type

required, type: str

The escaper type.

shared_logger

optional, type: ascii

Makes this escaper use a logger that runs on a shared thread.

default: not set

resolver

type: metric node name

The resolver used by this escaper.

If the referenced resolver does not exist in the configuration, a default DenyAll resolver is used.

resolve_strategy

optional, type: resolve strategy

DNS resolution strategy.

tcp_sock_speed_limit

optional, type: tcp socket speed limit

Per-TCP-socket speed limit.

default: no limit

tcp_conn_speed_limit

deprecated

Changed in version 1.11.8: deprecated, use tcp_sock_speed_limit instead

tcp_conn_limit

deprecated

Changed in version 1.11.8: deprecated, use tcp_sock_speed_limit instead

conn_limit

deprecated

Changed in version 1.11.8: deprecated, use tcp_sock_speed_limit instead

udp_sock_speed_limit

optional, type: udp socket speed limit

Per-UDP-socket speed limit.

default: no limit

udp_relay_speed_limit

deprecated

Changed in version 1.11.8: deprecated, use udp_sock_speed_limit instead

udp_relay_limit

deprecated

Changed in version 1.11.8: deprecated, use udp_sock_speed_limit instead

relay_limit

deprecated

Changed in version 1.11.8: deprecated, use udp_sock_speed_limit instead

udp_socket_buffer

optional, type: socket buffer config

Socket-buffer configuration for new created UDP socket.

default: not set

Added in version 1.13.5.

bind_interface

optional: type: interface name

Binds the outgoing socket to a particular interface such as eth0.

default: not set

Added in version 1.9.9.

no_ipv4

optional, type: bool

Disables IPv4. This setting should remain compatible with resolve_strategy.

default: false

no_ipv6

optional, type: bool

Disables IPv6. This setting should remain compatible with resolve_strategy.

default: false

tcp_connect

optional, type: tcp connect

TCP connect parameters.

Note

For direct escapers, user-level TCP connect parameters further limit the final effective values.

happy_eyeballs

optional, type: happy eyeballs

Happy Eyeballs configuration.

default: default HappyEyeballs config

tcp_misc_opts

optional, type: tcp misc sock opts

Miscellaneous TCP socket options.

default: not set, nodelay is default enabled

udp_misc_opts

optional, type: udp misc sock opts

Miscellaneous UDP socket options.

default: not set

default_next

required, type: str

Default next-hop escaper for route escapers.

pass_proxy_userid

optional, type: bool

Controls whether the user ID (username) is forwarded to the next proxy.

If enabled, native Basic authentication is used when negotiating with the next proxy. The username field contains the real username, and the password field is set to the package name (vey-proxy unless forked).

default: false

Note

This will conflict with the real auth of next proxy.

peer_negotiation_timeout

optional, type: humanize duration

Set the negotiation timeout for next proxy peers.

default: 10s

extra_metrics_tags

optional, type: static metrics tags

Set extra metrics tags that should be added to escaper stats and user stats already with escaper tags added.

default: not set