src/config/network.rs: parse bond-slaves
This commit is contained in:
@ -34,6 +34,7 @@ impl Interface {
|
||||
options_v6: Vec::new(),
|
||||
mtu: None,
|
||||
bridge_ports: None,
|
||||
bond_slaves: None,
|
||||
}
|
||||
}
|
||||
|
||||
@ -112,6 +113,15 @@ impl Interface {
|
||||
}
|
||||
}
|
||||
}
|
||||
NetworkInterfaceType::Bond => {
|
||||
if let Some(ref slaves) = self.bond_slaves {
|
||||
if slaves.is_empty() {
|
||||
writeln!(w, " bond-slaves none")?;
|
||||
} else {
|
||||
writeln!(w, " bond-slaves {}", slaves.join(" "))?;
|
||||
}
|
||||
}
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
||||
@ -178,6 +188,7 @@ impl Interface {
|
||||
gateway_v6: _gateway_v6,
|
||||
mtu: _mtu,
|
||||
bridge_ports: _bridge_ports,
|
||||
bond_slaves: _bond_slaves,
|
||||
} => {
|
||||
method_v4 == method_v6
|
||||
&& options_v4.is_empty()
|
||||
|
@ -23,6 +23,7 @@ pub enum Token {
|
||||
Attribute,
|
||||
MTU,
|
||||
BridgePorts,
|
||||
BondSlaves,
|
||||
EOF,
|
||||
}
|
||||
|
||||
@ -43,6 +44,8 @@ lazy_static! {
|
||||
map.insert("mtu", Token::MTU);
|
||||
map.insert("bridge-ports", Token::BridgePorts);
|
||||
map.insert("bridge_ports", Token::BridgePorts);
|
||||
map.insert("bond-slaves", Token::BondSlaves);
|
||||
map.insert("bond_slaves", Token::BondSlaves);
|
||||
map
|
||||
};
|
||||
}
|
||||
|
@ -196,6 +196,12 @@ impl <R: BufRead> NetworkParser<R> {
|
||||
interface.bridge_ports = Some(ports);
|
||||
interface.interface_type = NetworkInterfaceType::Bridge;
|
||||
}
|
||||
Token::BondSlaves => {
|
||||
self.eat(Token::BondSlaves)?;
|
||||
let slaves = self.parse_iface_list()?;
|
||||
interface.bond_slaves = Some(slaves);
|
||||
interface.interface_type = NetworkInterfaceType::Bond;
|
||||
}
|
||||
Token::Netmask => bail!("netmask is deprecated and no longer supported"),
|
||||
_ => {
|
||||
self.parse_iface_addon_attribute(interface)?;
|
||||
|
Reference in New Issue
Block a user