This patch adds a function to clean up duplicate config info
on Ubuntu.

Signed-off-by: Haiyang Zhang <haiya...@microsoft.com>
---
 tools/hv/bondvf.sh |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/tools/hv/bondvf.sh b/tools/hv/bondvf.sh
index 4aa5369..d85968c 100755
--- a/tools/hv/bondvf.sh
+++ b/tools/hv/bondvf.sh
@@ -101,9 +101,25 @@ function create_bond_cfg_redhat {
        echo BONDING_OPTS=\"mode=active-backup miimon=100 primary=$2\" >>$fn
 }
 
+function del_eth_cfg_ubuntu {
+       local fn=$cfgdir/interfaces
+       local tmpfl=$(mktemp)
+
+       local nic_start='^[ \t]*(auto|iface|mapping|allow-.*)[ \t]+'$1
+       local nic_end='^[ \t]*(auto|iface|mapping|allow-.*|source)'
+
+       awk "/$nic_end/{x=0} x{next} /$nic_start/{x=1;next} 1"  $fn >$tmpfl
+
+       cp $tmpfl $fn
+
+       rm $tmpfl
+}
+
 function create_eth_cfg_ubuntu {
        local fn=$cfgdir/interfaces
 
+       del_eth_cfg_ubuntu $1
+
        echo $'\n'auto $1 >>$fn
        echo iface $1 inet manual >>$fn
        echo bond-master $2 >>$fn
@@ -119,6 +135,8 @@ function create_eth_cfg_pri_ubuntu {
 function create_bond_cfg_ubuntu {
        local fn=$cfgdir/interfaces
 
+       del_eth_cfg_ubuntu $1
+
        echo $'\n'auto $1 >>$fn
        echo iface $1 inet dhcp >>$fn
        echo bond-mode active-backup >>$fn
-- 
1.7.1

Reply via email to