1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// This file is @generated by prost-build.
/// This input matcher matches IPv4 or IPv6 addresses against a list of CIDR
/// ranges. It returns true if and only if the input IP belongs to at least one
/// of these CIDR ranges. Internally, it uses a Level-Compressed trie, as
/// described in the paper `IP-address lookup using LC-tries <<https://www.nada.kth.se/~snilsson/publications/IP-address-lookup-using-LC-tries/>`\_>
/// by S. Nilsson and G. Karlsson. For "big" lists of IPs, this matcher is more
/// efficient than multiple single IP matcher, that would have a linear cost.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Ip {
/// Match if the IP belongs to any of these CIDR ranges.
#[prost(message, repeated, tag = "1")]
pub cidr_ranges: ::prost::alloc::vec::Vec<
super::super::super::super::super::config::core::v3::CidrRange,
>,
/// The human readable prefix to use when emitting statistics for the IP input
/// matcher. Names in the table below are concatenated to this prefix.
///
/// .. csv-table::
/// :header: Name, Type, Description
/// :widths: 1, 1, 2
///
/// ```text
/// ip_parsing_failed, Counter, Total number of IP addresses the matcher was unable to parse
/// ```
#[prost(string, tag = "2")]
pub stat_prefix: ::prost::alloc::string::String,
}
impl ::prost::Name for Ip {
const NAME: &'static str = "Ip";
const PACKAGE: &'static str = "envoy.extensions.matching.input_matchers.ip.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.extensions.matching.input_matchers.ip.v3.Ip".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.extensions.matching.input_matchers.ip.v3.Ip".into()
}
}