src/config/network.rs: implement bond_mode
and rename bond_slaves to slaves to make it compatible with pve.
This commit is contained in:
@ -25,6 +25,7 @@ pub enum Token {
|
||||
BridgePorts,
|
||||
BridgeVlanAware,
|
||||
BondSlaves,
|
||||
BondMode,
|
||||
EOF,
|
||||
}
|
||||
|
||||
@ -49,6 +50,8 @@ lazy_static! {
|
||||
map.insert("bridge_vlan_aware", Token::BridgeVlanAware);
|
||||
map.insert("bond-slaves", Token::BondSlaves);
|
||||
map.insert("bond_slaves", Token::BondSlaves);
|
||||
map.insert("bond-mode", Token::BondMode);
|
||||
map.insert("bond_mode", Token::BondMode);
|
||||
map
|
||||
};
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ use regex::Regex;
|
||||
use super::helper::*;
|
||||
use super::lexer::*;
|
||||
|
||||
use super::{NetworkConfig, NetworkOrderEntry, Interface, NetworkConfigMethod, NetworkInterfaceType};
|
||||
use super::{NetworkConfig, NetworkOrderEntry, Interface, NetworkConfigMethod, NetworkInterfaceType, bond_mode_from_str};
|
||||
|
||||
pub struct NetworkParser<R: BufRead> {
|
||||
input: Peekable<Lexer<R>>,
|
||||
@ -236,9 +236,15 @@ impl <R: BufRead> NetworkParser<R> {
|
||||
Token::BondSlaves => {
|
||||
self.eat(Token::BondSlaves)?;
|
||||
let slaves = self.parse_iface_list()?;
|
||||
interface.bond_slaves = Some(slaves);
|
||||
interface.slaves = Some(slaves);
|
||||
interface.set_interface_type(NetworkInterfaceType::Bond)?;
|
||||
}
|
||||
Token::BondMode => {
|
||||
self.eat(Token::BondMode)?;
|
||||
let mode = self.next_text()?;
|
||||
interface.bond_mode = Some(bond_mode_from_str(&mode)?);
|
||||
self.eat(Token::Newline)?;
|
||||
}
|
||||
Token::Netmask => bail!("netmask is deprecated and no longer supported"),
|
||||
|
||||
_ => { // parse addon attributes
|
||||
|
Reference in New Issue
Block a user