From 6ff1f71b7254fe89f03b386d1131c2531d2cbe16 Mon Sep 17 00:00:00 2001 From: Gaurav Sinha Date: Mon, 27 Aug 2012 14:41:22 -0700 Subject: fix order passed to deleteRecursive to avoid area deletion before interface --- scripts/ospfv3/vyatta-ospfv3.pl | 13 ++++++++----- 1 file 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. -- cgit v1.2.3