From 67dc2ec9155d524321d154390ea62c223a5ca11d Mon Sep 17 00:00:00 2001 From: Naredula Janardhana Reddy Date: Tue, 26 Jul 2011 15:28:01 +0530 Subject: [PATCH] bug 10800: Load balancer - deleted settings from UI not removed from the Iptables --- .../systemvm/debian/config/root/loadbalancer.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/patches/systemvm/debian/config/root/loadbalancer.sh b/patches/systemvm/debian/config/root/loadbalancer.sh index f4405b3a813..be4cc24fd8f 100755 --- a/patches/systemvm/debian/config/root/loadbalancer.sh +++ b/patches/systemvm/debian/config/root/loadbalancer.sh @@ -60,6 +60,16 @@ fw_entry() { local a=$(echo $added | cut -d, -f1- --output-delimiter=" ") local r=$(echo $removed | cut -d, -f1- --output-delimiter=" ") + +# Flush all the load balancer rules. + for vif in $VIF_LIST; do + iptables -F load_balancer_$vif 2> /dev/null + iptables -D INPUT -i $vif -p tcp -j load_balancer_$vif 2> /dev/null + iptables -X load_balancer_$vif 2> /dev/null + iptables -N load_balancer_$vif + iptables -A INPUT -i $vif -p tcp -j load_balancer_$vif + done + for i in $a do @@ -68,8 +78,7 @@ fw_entry() { local cidrs=$(echo $i | cut -d: -f3 | sed 's/-/,/') for vif in $VIF_LIST; do - iptables -D INPUT -i $vif -s $cidrs -p tcp -d $pubIp --dport $dport -j ACCEPT 2> /dev/null - iptables -A INPUT -i $vif -s $cidrs -p tcp -d $pubIp --dport $dport -j ACCEPT + iptables -A load_balancer_$vif -s $cidrs -p tcp -d $pubIp --dport $dport -j ACCEPT if [ $? -gt 0 ] then @@ -84,9 +93,6 @@ fw_entry() { local dport=$(echo $i | cut -d: -f2) local cidrs=$(echo $i | cut -d: -f3 | sed 's/-/,/') - for vif in $VIF_LIST; do - iptables -D INPUT -i $vif -s $cidrs -p tcp -d $pubIp --dport $dport -j ACCEPT - done done return 0