There's a short blurb in the
architecture overview section
"
Envoy supports local (non-distributed) rate limiting of L4 connections via the local rate limit listener filter and local rate limit network filter. The difference is local rate limit listener filter <config_listener_filters_local_rate_limit> processes the sockets before TLS handshake and filter chain matching."
I assume "sockets" here is supposed to be "packets"? Doing my own testing, I found that when rate limited at the listener filter level envoy responds to a Client Hello with a RST. When rate limited at the network filter level envoy responds to a Client Hello with a Fin, then a RST. So it seems that both short circuit before the TLS handshake and filter chain matching, the difference is in the response. Listener terminates the connection immediately with a RST, while Network terminates gracefully with a FIN (Is it really graceful though if a RST is sent immediately afterwards? I'm not familiar with this.)
Am I correct, or am I totally off the mark? Where can I find more on the difference between these two levels and how rate limiting works in them?