ip.proto

Package: xds.type.matcher.v3

Types:

Source File: github.com/solo-io/gloo/projects/gloo/api/external/xds/type/matcher/v3/ip.proto

IPMatcher

Matches a specific IP address against a set of possibly overlapping subnets using a trie.

"rangeMatchers": []xds.type.matcher.v3.IPMatcher.IPRangeMatcher

Field Type Description
rangeMatchers []xds.type.matcher.v3.IPMatcher.IPRangeMatcher Match IP address by CIDR ranges.

IPRangeMatcher

Specifies a list of IP address ranges and a match action.

"ranges": []xds.core.v3.CidrRange
"onMatch": .xds.type.matcher.v3.Matcher.OnMatch
"exclusive": bool

Field Type Description
ranges []xds.core.v3.CidrRange A non-empty set of CIDR ranges.
onMatch .xds.type.matcher.v3.Matcher.OnMatch Match action to apply when the IP address is within one of the CIDR ranges.
exclusive bool Indicates whether this match option should be considered if there is a more specific matcher. Exclusive matchers are not selected whenever a more specific matcher exists (e.g. matcher with a longer prefix) even when the more specific matcher fails its nested match condition. Non-exclusive matchers are considered if the more specific matcher exists but its nested match condition does not entirely match. Non-exclusive matchers are selected in the order of their specificity first (longest prefix first), then the order of declaration next. For example, consider two range matchers: an exclusive matcher X on 0.0.0.0/0 and a matcher Y on 192.0.0.0/2 with a nested match condition Z. For the input IP 192.168.0.1 matcher Y is the most specific. If its nested match condition Z does not accept the input, then the less specific matcher X does not apply either despite the input being within the range, because matcher X is exclusive. The opposite is true if matcher X is not marked as exclusive. In that case matcher X always matches whenever matcher “Y rejects the input.