summaryrefslogtreecommitdiff
path: root/scripts/vyatta-tunnel-cleanup
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/vyatta-tunnel-cleanup')
-rwxr-xr-xscripts/vyatta-tunnel-cleanup8
1 files changed, 6 insertions, 2 deletions
diff --git a/scripts/vyatta-tunnel-cleanup b/scripts/vyatta-tunnel-cleanup
index 6094818c..979fb7bd 100755
--- a/scripts/vyatta-tunnel-cleanup
+++ b/scripts/vyatta-tunnel-cleanup
@@ -15,13 +15,17 @@ my %encapsulation = (
'sit' => 'sit',
);
+# interface being deleted
+my $interface = $ARGV[0];
+
# Create map of encapsulations still in use
my $config = new Vyatta::Config;
$config->setLevel("interfaces tunnel");
my %tunnel;
-foreach my $tun ( $config->listNodes() ) {
- my $mode = $config->returnValue("$tun encapsulation");
+foreach my $tun ( $config->listEffectiveNodes() ) {
+ my $mode = $config->returnEffectiveValue("$tun encapsulation");
+ next if ($interface eq $tun); # don't count the one being deleted
$tunnel{$mode} = 1;
}