aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs
index 57bca23..c2862a1 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -116,7 +116,9 @@ fn create_vlans(conn: &Connection) -> Result<()> {
let vlan_id = 10 * (i + 1);
let vlan_name = format!("eth0.{}", vlan_id);
- conn.link_add_vlan(vlan_name.clone(), "eth0".to_string(), vlan_id as u16)?;
+ if !conn.link_exists(vlan_name.clone())? {
+ conn.link_add_vlan(vlan_name.clone(), "eth0".to_string(), vlan_id as u16)?;
+ }
conn.link_set(vlan_name.clone(), true)?;
conn.address_flush(vlan_name.clone())?;