local_ratelimit: allow sharing token bucket between filter chains (#20340)

Signed-off-by: Greg Greenway <ggreenway@apple.com>

Mirrored from https://github.com/envoyproxy/envoy @ 5f8860ba5dbc96942de09b33bf8701e2046c9035
pull/626/head
data-plane-api(Azure Pipelines) 3 years ago
parent 4500e6c4cd
commit 2e15cc26ed
  1. 9
      envoy/extensions/filters/network/local_ratelimit/v3/local_rate_limit.proto

@ -33,7 +33,8 @@ message LocalRateLimit {
// the connection will be immediately closed.
//
// .. note::
// In the current implementation each filter and filter chain has an independent rate limit.
// In the current implementation each filter and filter chain has an independent rate limit, unless
// a shared rate limit is configured via :ref:`share_key <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.share_key>`.
//
// .. note::
// In the current implementation the token bucket's :ref:`fill_interval
@ -44,4 +45,10 @@ message LocalRateLimit {
// Runtime flag that controls whether the filter is enabled or not. If not specified, defaults
// to enabled.
config.core.v3.RuntimeFeatureFlag runtime_enabled = 3;
// Specifies that the token bucket used for rate limiting should be shared with other local_rate_limit filters
// with a matching :ref:`token_bucket <envoy_v3_api_field_extensions.filters.network.local_ratelimit.v3.LocalRateLimit.token_bucket>`
// and `share_key` configuration. All fields of `token_bucket` must match exactly for the token bucket to be shared. If this
// field is empty, this filter will not share a token bucket with any other filter.
string share_key = 4;
}

Loading…
Cancel
Save