Get desktop application:
View/edit binary Protocol Buffers messages
The Network External Processing filter allows an external service to process raw TCP/UDP traffic in a flexible way using a bidirectional gRPC stream. Unlike the HTTP External Processing filter, this filter operates at the L4 (transport) layer, giving access to raw network traffic. The filter communicates with an external gRPC service that can: * Inspect traffic in both directions * Modify the network traffic * Control connection lifecycle (continue, close, or reset) By using the filter's processing mode, you can selectively choose which data directions to process (read, write or both), allowing for efficient processing.
The gRPC service that will process network traffic. This service must implement the NetworkExternalProcessor service defined in the proto file /envoy/service/network_ext_proc/v3/external_processor.proto.
By default, if the gRPC stream cannot be established, or if it is closed prematurely with an error, the filter will fail, leading to the close of connection. With this parameter set to true, however, then if the gRPC stream is prematurely closed or could not be opened, processing continues without error. [#not-implemented-hide:]
Options for controlling processing behavior. [#not-implemented-hide:]
Specifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode. Whenever the proxy sends a message on the stream that requires a response, it will reset this timer, and will stop processing and return an error (subject to the processing mode) if the timer expires. Default is 200 ms. [#not-implemented-hide:]
Options for controlling processing behavior. Filter will reject the config if both read and write are SKIP mode.
Used in:
Controls whether inbound (read) data from the client is sent to the external processor. Default: STREAMED
Controls whether outbound (write) data to the client is sent to the external processor. Default: STREAMED
Defines how traffic should be handled by the external processor.
Used in:
Send the data to the external processor for processing whenever the data is ready.
Skip sending the data to the external processor.