route_client
This escaper chooses the next escaper from the client IP address.
There is no path selection support for this escaper.
The following common keys are supported:
Selection order is fixed by the runtime:
exact IP match first
then longest-prefix subnet match
then
default_next
The config loader rejects duplicate IPs or subnets across different next escapers.
exact_match
optional, type: seq, alias: exact_rules
If the client IP exactly matches an entry in the rules, the corresponding escaper is selected.
Each rule is in map format, with two keys:
next
required, type: metric node name
Set the next escaper.
ips
optional, type: seq, alias: ip
Each element should be ip addr str.
An IP must not appear in rules for different next escapers.
subnet_match
optional, type: seq, alias: subnet_rules
If the client IP matches multiple subnets, the longest-prefix match is used.
Each rule is in map format, with two keys:
next
required, type: metric node name
Set the next escaper.
subnets
optional, type: seq, alias: subnet
Each element should be ip network str.
A subnet must not appear in rules for different next escapers.
Example
default_next: direct
exact_match:
- next: office-egress
ips:
- 192.0.2.10
- 192.0.2.11
subnet_match:
- next: vpn-egress
subnets:
- 10.0.0.0/8
- 2001:db8::/32