Repository: envoyproxy/envoy
File: api/envoy/extensions/filters/listener/proxy_protocol/v3/proxy_protocol.proto (Protocol Buffers)

Code before:
  //   which controls pass-through for the upstream.
  config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;

  // The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
  //
  // When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
  // By default, the filter will match all PROXY protocol versions.
  // See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
  //
  // .. attention::
  //
  //   When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
  //   the filter will not attempt to match signatures for the disallowed versions.
  //   For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
  //   and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
  //   The filter treats this request as if it did not have any PROXY protocol information.
  repeated config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;

  // The human readable prefix to use when emitting statistics for the filter.
  // If not configured, statistics will be emitted without the prefix segment.
  // See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
  // more information.
  string stat_prefix = 5;

  // Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
  TlvStorageLocation tlv_storage_location = 6;
}


Review comment (suggestion):
```suggestion
  TlvLocation tlv_location = 6;
```

Code after:
  //   which controls pass-through for the upstream.
  config.core.v3.ProxyProtocolPassThroughTLVs pass_through_tlvs = 3;

  // The PROXY protocol versions that won't be matched. Useful to limit the scope and attack surface of the filter.
  //
  // When the filter receives PROXY protocol data that is disallowed, it will reject the connection.
  // By default, the filter will match all PROXY protocol versions.
  // See https://www.haproxy.org/download/2.1/doc/proxy-protocol.txt for details.
  //
  // .. attention::
  //
  //   When used in conjunction with the :ref:`allow_requests_without_proxy_protocol <envoy_v3_api_field_extensions.filters.listener.proxy_protocol.v3.ProxyProtocol.allow_requests_without_proxy_protocol>`,
  //   the filter will not attempt to match signatures for the disallowed versions.
  //   For example, when ``disallowed_versions=V2``, ``allow_requests_without_proxy_protocol=true``,
  //   and an incoming request matches the V2 signature, the filter will allow the request through without any modification.
  //   The filter treats this request as if it did not have any PROXY protocol information.
  repeated config.core.v3.ProxyProtocolConfig.Version disallowed_versions = 4;

  // The human readable prefix to use when emitting statistics for the filter.
  // If not configured, statistics will be emitted without the prefix segment.
  // See the :ref:`filter's statistics documentation <config_listener_filters_proxy_protocol>` for
  // more information.
  string stat_prefix = 5;

  // Controls where TLV values are stored when rules match. Defaults to DYNAMIC_METADATA.
  TlvLocation tlv_location = 6;
}