summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaurav Sinha <gaurav.sinha@vyatta.com>2012-08-27 14:41:22 -0700
committerGaurav Sinha <gaurav.sinha@vyatta.com>2012-08-27 14:41:22 -0700
commit6ff1f71b7254fe89f03b386d1131c2531d2cbe16 (patch)
treeecb07ce6aa3aaa292e2f22501116e4a1fba86687
parent1e981aec04b10bab35af6841686be002c61d6258 (diff)
downloadvyatta-cfg-quagga-v3BackendRewrite.tar.gz
vyatta-cfg-quagga-v3BackendRewrite.zip
fix order passed to deleteRecursive to avoid area deletion before interfacev3BackendRewrite
-rwxr-xr-xscripts/ospfv3/vyatta-ospfv3.pl13
1 files changed, 8 insertions, 5 deletions
diff --git a/scripts/ospfv3/vyatta-ospfv3.pl b/scripts/ospfv3/vyatta-ospfv3.pl
index c359d348..d7f6d548 100755
--- a/scripts/ospfv3/vyatta-ospfv3.pl
+++ b/scripts/ospfv3/vyatta-ospfv3.pl
@@ -131,11 +131,14 @@ sub main {
# Create a Vyatta Quagga Config object initialized by commands mapping
my $quagga_config = new Vyatta::Quagga::Config('protocols', \%quagga_commands);
#$quagga_config->setDebugLevel('3');
-
- $quagga_config->deleteConfigTreeRecursive('protocols ospfv3') || die "exiting $?\n";
-
- $quagga_config->setConfigTreeRecursive('protocols ospfv3 parameters') || die "exiting $?\n"; # Priority 630
- $quagga_config->setConfigTreeRecursive('protocols ospfv3') || die "exiting $?\n"; # Priority 640
+ my @order = ('range', 'export-list', 'import-list', 'interface');
+ $quagga_config->deleteConfigTreeRecursive('protocols ospfv3 area var ', undef, \@order) || die "exiting $?\n";
+ $quagga_config->deleteConfigTreeRecursive('protocols ospfv3 parameters ') || die "exiting $?\n";
+ $quagga_config->deleteConfigTreeRecursive('protocols ospfv3 redistribute ') || die "exiting $?\n";
+
+ $quagga_config->setConfigTreeRecursive('protocols ospfv3 parameters ') || die "exiting $?\n"; # Priority 630
+ $quagga_config->setConfigTreeRecursive('protocols ospfv3 redistribute ') || die "exiting $?\n"; # Priority 630
+ $quagga_config->setConfigTreeRecursive('protocols ospfv3 area var ') || die "exiting $?\n"; # Priority 640
}
# Quagga ospf6d doesn't accept numeric area id, but requires dotted decimal. Bug 4172.