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

Code before:
  //
  // .. attention::
  //   This field is deprecated in favor of
  //   :ref:`access_log_flush_interval
  //   <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.access_log_flush_interval>`.
  google.protobuf.Duration access_log_flush_interval = 15 [
    deprecated = true,
    (validate.rules).duration = {gte {nanos: 1000000}},
    (envoy.annotations.deprecated_at_minor_version) = "3.0"
  ];

  // If both this field and :ref:`flush_access_log_on_connected
  // <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.flush_access_log_on_connected>`
  // are specified, the former (deprecated field) is ignored.
  //
  // .. attention::
  //   This field is deprecated in favor of
  //   :ref:`flush_access_log_on_connected
  //   <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.flush_access_log_on_connected>`.
  bool flush_access_log_on_connected = 16
      [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];

  // Additional access log options for the TCP proxy.
  TcpAccessLogOptions access_log_options = 17;

  // If set, the specified PROXY protocol TLVs (Type-Length-Value) are added to the PROXY protocol state
  // created by the TCP proxy filter. These TLVs are sent in the PROXY protocol v2 header to the upstream.
  //
  // This field only takes effect when the TCP proxy filter is creating new PROXY protocol state and an
  // upstream proxy protocol transport socket is configured in the cluster. If the connection already
  // contains PROXY protocol state (including any TLVs) parsed by a downstream proxy protocol listener
  // filter, the TLVs specified here are ignored.
  //
  // .. note::
  //   To ensure the specified TLVs are allowed in the upstream PROXY protocol header, you must also
  //   configure passthrough TLVs on the upstream proxy protocol transport. See
  //   :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`
  //   for details.
  repeated config.core.v3.TlvEntry proxy_protocol_tlvs = 19;
}


Review comment (suggestion):
```suggestion
  // If set, the specified ``PROXY`` protocol TLVs (Type-Length-Value) are added to the ``PROXY`` protocol state
```

Code after:
  //
  // .. attention::
  //   This field is deprecated in favor of
  //   :ref:`access_log_flush_interval
  //   <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.access_log_flush_interval>`.
  google.protobuf.Duration access_log_flush_interval = 15 [
    deprecated = true,
    (validate.rules).duration = {gte {nanos: 1000000}},
    (envoy.annotations.deprecated_at_minor_version) = "3.0"
  ];

  // If both this field and :ref:`flush_access_log_on_connected
  // <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.flush_access_log_on_connected>`
  // are specified, the former (deprecated field) is ignored.
  //
  // .. attention::
  //   This field is deprecated in favor of
  //   :ref:`flush_access_log_on_connected
  //   <envoy_v3_api_field_extensions.filters.network.tcp_proxy.v3.TcpProxy.TcpAccessLogOptions.flush_access_log_on_connected>`.
  bool flush_access_log_on_connected = 16
      [deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];

  // Additional access log options for the TCP proxy.
  TcpAccessLogOptions access_log_options = 17;

  // If set, the specified ``PROXY`` protocol TLVs (Type-Length-Value) are added to the ``PROXY`` protocol state
  // created by the TCP proxy filter. These TLVs are sent in the PROXY protocol v2 header to the upstream.
  //
  // This field only takes effect when the TCP proxy filter is creating new ``PROXY`` protocol state and an
  // upstream proxy protocol transport socket is configured in the cluster. If the connection already
  // contains ``PROXY`` protocol state (including any TLVs) parsed by a downstream proxy protocol listener
  // upstream proxy protocol transport socket is configured in the cluster. If the connection already
  // contains PROXY protocol state (including any TLVs) parsed by a downstream proxy protocol listener
  // filter, the TLVs specified here are ignored.
  //
  // .. note::
  //   To ensure the specified TLVs are allowed in the upstream ``PROXY`` protocol header, you must also
  //   configure passthrough TLVs on the upstream proxy protocol transport. See
  //   :ref:`core.v3.ProxyProtocolConfig.pass_through_tlvs <envoy_v3_api_field_config.core.v3.ProxyProtocolConfig.pass_through_tlvs>`
  //   for details.
  repeated config.core.v3.TlvEntry proxy_protocol_tlvs = 19;
}