diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-05-20 09:02:17 -0700 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-05-20 09:02:17 -0700 |
commit | a06df028b102d595e09b784920cd18c03f5bda7c (patch) | |
tree | 95d56e21bc3359ea58e627fcacdedd6006e00658 | |
parent | 3935d8058ff6b7158e8f4e8a407cbabe63f25ee4 (diff) | |
parent | 8e3b81d1a13f35d4b419fe9af6da2e0b7fa64a64 (diff) | |
download | vyatta-cfg-a06df028b102d595e09b784920cd18c03f5bda7c.tar.gz vyatta-cfg-a06df028b102d595e09b784920cd18c03f5bda7c.zip |
Merge branch 'jenner' of suva.vyatta.com:/git/vyatta-cfg into jenner
-rwxr-xr-x | lib/Vyatta/ConfigLoad.pm | 9 | ||||
-rwxr-xr-x | scripts/vyatta-load-config.pl | 13 |
2 files changed, 19 insertions, 3 deletions
diff --git a/lib/Vyatta/ConfigLoad.pm b/lib/Vyatta/ConfigLoad.pm index a1c0b8f..09bd627 100755 --- a/lib/Vyatta/ConfigLoad.pm +++ b/lib/Vyatta/ConfigLoad.pm @@ -232,10 +232,13 @@ sub loadConfigHierarchy { my $xcp = new XorpConfigParser(); $xcp->parse($load_cfg); my $root; + my @root_path; if (defined($root_node)) { - my $tmp = [$root_node]; + my $tmp = [split("/",$root_node)]; $root = $xcp->get_node($tmp); - #root_path= --except last node and needs to be passed to enumerate_branch + my @tmp2 = split("/",$root_node); + @root_path = pop(@tmp2); + @root_path = @tmp2; } else { $root = $xcp->get_node( () ); @@ -243,7 +246,7 @@ sub loadConfigHierarchy { if (!defined($root)) { return (); } - enumerate_branch($root, ( )); + enumerate_branch($root, @root_path); return generateHierarchy(\@all_naked_nodes); } diff --git a/scripts/vyatta-load-config.pl b/scripts/vyatta-load-config.pl index 6755015..a3cf6ef 100755 --- a/scripts/vyatta-load-config.pl +++ b/scripts/vyatta-load-config.pl @@ -38,6 +38,19 @@ my $load_file = $bootpath . "/config.boot"; my $url_tmp_file = $bootpath . "/config.boot.$$"; +# +# Note: to get merge to work on arbitrary nodes +# within the configuration multinodes need to be escaped. +# i.e.: +# load --merge='load-balancing/wan/interface-health\ eth0' +# +# will start loading of the configuration node from: +# +# load-balancing/wan/interface-health:eth0 +# +# Note current loading is limited to first new +# multinode. +# sub usage() { print "Usage: $0 --merge=<root>\n"; exit 0; |