src/config/network.rs: read/write /etc/network/interfaces

Start implementing a recursive descent parser.
This commit is contained in:
Dietmar Maurer
2020-04-20 14:15:57 +02:00
parent 6e695960ca
commit f34d4401f7
5 changed files with 764 additions and 0 deletions

View File

@ -0,0 +1,48 @@
use std::collections::HashMap;
use lazy_static::lazy_static;
pub static IPV4_REVERSE_MASK: &[&'static str] = &[
"0.0.0.0",
"128.0.0.0",
"192.0.0.0",
"224.0.0.0",
"240.0.0.0",
"248.0.0.0",
"252.0.0.0",
"254.0.0.0",
"255.0.0.0",
"255.128.0.0",
"255.192.0.0",
"255.224.0.0",
"255.240.0.0",
"255.248.0.0",
"255.252.0.0",
"255.254.0.0",
"255.255.0.0",
"255.255.128.0",
"255.255.192.0",
"255.255.224.0",
"255.255.240.0",
"255.255.248.0",
"255.255.252.0",
"255.255.254.0",
"255.255.255.0",
"255.255.255.128",
"255.255.255.192",
"255.255.255.224",
"255.255.255.240",
"255.255.255.248",
"255.255.255.252",
"255.255.255.254",
"255.255.255.255",
];
lazy_static! {
pub static ref IPV4_MASK_HASH_LOCALNET: HashMap<&'static str, u8> = {
let mut map = HashMap::new();
for i in 8..32 {
map.insert(IPV4_REVERSE_MASK[i], i as u8);
}
map
};
}