envoyproxy/envoy

filter chain match extensibility

Open

#18,685 opened on Oct 19, 2021

View on GitHub
 (6 comments) (0 reactions) (0 assignees)C++ (5,373 forks)batch import
area/listenerarea/metadatahelp wanted

Repository metrics

Stars
 (27,997 stars)
PR merge metrics
 (Avg merge 8d) (378 merged PRs in 30d)

Description

Filter chain matching algorithm is fairly rigid and has some flaws (e.g. the fixed ordering requires duplication of chains causing complexity in xDS code). It is also not extensible since it forces the use of real stream properties (like destination IP).

The proposal is to add a match condition based on dynamic metadata. We also propose to make metadata match first priority before destination port match so that it can be added incrementally. If a listener chooses to use metadata matching, that would take effect by overriding existing matching.

Contributor guide