From ce31fd38b3fbe1385d4f4b8fb42c757900b445b6 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 28 May 2009 14:36:05 -0700 Subject: Abort transaction on delete of neighbor in peer group The new CLI doesn't fail transaction automatically when one command fails. (cherry picked from commit a50404c259bcbb424743d80a18bf87319666bce8) --- templates/protocols/bgp/node.tag/neighbor/node.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/protocols/bgp/node.tag/neighbor/node.def b/templates/protocols/bgp/node.tag/neighbor/node.def index c9001078..8e464dba 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.def @@ -16,7 +16,7 @@ create: if /opt/vyatta/sbin/vyatta-bgp.pl --check-if-peer-group \ fi; delete: /opt/vyatta/sbin/vyatta-bgp.pl --check-peer-groups \ - --peergroup $VAR(@) --as $VAR(../@); + --peergroup $VAR(@) --as $VAR(../@) || exit 1 vyatta-vtysh -c "configure terminal" \ -c "router bgp $VAR(../@)" \ -c "no neighbor $VAR(@)" -- cgit v1.2.3 From 5ab430b8eb02da9e105e127404677e68c25fb84e Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 28 May 2009 14:45:09 -0700 Subject: Convert template to new syntax Use same syntax as other nodes Precursor to automated edit of nodes for other bugfix. (cherry picked from commit 435e80791de6b051ab88c7eaa7c47265bbef3be5) --- .../node.tag/capability/orf/prefix-list/send/node.def | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/capability/orf/prefix-list/send/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/capability/orf/prefix-list/send/node.def index 73f1768f..8edd77c8 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/capability/orf/prefix-list/send/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/capability/orf/prefix-list/send/node.def @@ -1,14 +1,13 @@ help: Set capability to send the ORF commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../../@) --neighbor $VAR(../../../../@)" commit:expression: $VAR(../../../../peer-group/) == ""; "You can't set capability orf send for neighbor $VAR(../../../../@) in peer-group $VAR(../../../../peer-group/@)" -update:expression: "if [ -n \"$VAR(../../../../remote-as/@)\" ]; then \ - peer=\"remote-as $VAR(../../../../remote-as/@)\"; \ - else \ - peer=\"peer-group $VAR(../../../../peer-group/@)\"; \ - fi; \ - vyatta-vtysh -c \"configure terminal\" -c \"router bgp $VAR(../../../../../@)\" \ - -c \"neighbor $VAR(../../../../@) $peer\" \ - -c \"neighbor $VAR(../../../../@) capability orf prefix-list send\" " -delete:expression: "vyatta-vtysh --noerror -c \"configure terminal\" -c \"router bgp $VAR(../../../../../@)\" \ - -c \"no neighbor $VAR(../../../../@) capability orf prefix-list send\" " +update: if [ -n "$VAR(../../../../remote-as/@)" ] + then peer="remote-as $VAR(../../../../remote-as/@)" + else peer="peer-group $VAR(../../../../peer-group/@)" + fi + vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(../../../../../@)" \ + -c "neighbor $VAR(../../../../@) $peer" \ + -c "neighbor $VAR(../../../../@) capability orf prefix-list send" " +delete: vyatta-vtysh --noerror -c "configure terminal" -c "router bgp $VAR(../../../../../@)" \ + -c "no neighbor $VAR(../../../../@) capability orf prefix-list send" " -- cgit v1.2.3 From 6f0d0febd81bd05f5d4a70e1663e26a7dfd38c35 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 1 Jun 2009 16:26:55 -0700 Subject: Fix setup of protocols on boot New CLI appears to require 'update:' rather than 'create:' on tag nodes in order for them to get applied correctly. Workaround this by changing all the create: to update: in Quagga config Bug 4486 (cherry picked from commit 84536c188e359a9f046bc8f1c5a3180b3e03ee8b) --- templates/protocols/bgp/node.def | 1 - templates/protocols/bgp/node.tag/neighbor/node.def | 2 +- templates/protocols/ospf/area/node.tag/virtual-link/node.def | 2 +- templates/protocols/ospf/neighbor/node.def | 2 +- templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/templates/protocols/bgp/node.def b/templates/protocols/bgp/node.def index 8e21f914..074388bc 100644 --- a/templates/protocols/bgp/node.def +++ b/templates/protocols/bgp/node.def @@ -5,7 +5,6 @@ comp_help: \1 <1-4294967294>\tAS number syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294 ; \ "AS number must be between 1 and 4294967294" begin: sudo /opt/vyatta/sbin/quagga-manager start bgpd -create: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(@)" # we need to set default parameters in BGP here since we can't do it in # startup scripts as we don't know the AS number at that point update: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(@)" \ diff --git a/templates/protocols/bgp/node.tag/neighbor/node.def b/templates/protocols/bgp/node.tag/neighbor/node.def index 8e464dba..b6278e28 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.def @@ -8,7 +8,7 @@ comp_help: syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl \ --check-peer-name $VAR(@)" -create: if /opt/vyatta/sbin/vyatta-bgp.pl --check-if-peer-group \ +update: if /opt/vyatta/sbin/vyatta-bgp.pl --check-if-peer-group \ --peergroup $VAR(@); then vyatta-vtysh -c "configure terminal" \ -c "router bgp $VAR(../@)" \ diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.def index 614a50cd..b13181b7 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.def @@ -2,7 +2,7 @@ tag: type: ipv4 help: Set a virtual link syntax:expression: ! $VAR(../@) in "0", "0.0.0.0"; "Can't configure VL over area $VAR(../@)" -create:expression: "vyatta-vtysh -c \"configure terminal\" \ +update:expression: "vyatta-vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"area $VAR(../@) virtual-link $VAR(@)\"; " delete:expression: "vyatta-vtysh -c \"configure terminal\" \ diff --git a/templates/protocols/ospf/neighbor/node.def b/templates/protocols/ospf/neighbor/node.def index e1c9e9e9..dc90d99e 100644 --- a/templates/protocols/ospf/neighbor/node.def +++ b/templates/protocols/ospf/neighbor/node.def @@ -1,7 +1,7 @@ tag: type: ipv4 help: Set neighbor IP address -create:expression: "vyatta-vtysh -c \"configure terminal\" \ +update:expression: "vyatta-vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"neighbor $VAR(@)\"; " delete:expression: "vyatta-vtysh -c \"configure terminal\" \ diff --git a/templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def b/templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def index eb63a9c2..e04587e1 100644 --- a/templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def +++ b/templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def @@ -2,7 +2,7 @@ tag: type: txt help: Set direction of filter (in|out) allowed: echo "in out" -create:expression: "vyatta-vtysh -c \"configure terminal\" \ +update:expression: "vyatta-vtysh -c \"configure terminal\" \ -c \"router ospf6 \" \ -c \"area $VAR(../../@) filter-list $VAR(../@) $VAR(@) \"; " delete:expression: "vyatta-vtysh -c \"configure terminal\" \ -- cgit v1.2.3 From 753d4aaca9b0e0ffe21b0c02106ce8bfe03b803a Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 2 Jun 2009 10:06:42 -0700 Subject: Convert update: on mulitnodes to create: This is what CLI Primer says is supposed to work. (cherry picked from commit 4cb6efba141b1e54ee78077410dd027a8fcf1a39) --- templates/protocols/bgp/node.def | 2 +- templates/protocols/bgp/node.tag/neighbor/node.def | 2 +- templates/protocols/ospf/area/node.tag/virtual-link/node.def | 2 +- templates/protocols/ospf/neighbor/node.def | 2 +- templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/templates/protocols/bgp/node.def b/templates/protocols/bgp/node.def index 074388bc..9a430834 100644 --- a/templates/protocols/bgp/node.def +++ b/templates/protocols/bgp/node.def @@ -7,7 +7,7 @@ syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294 ; \ begin: sudo /opt/vyatta/sbin/quagga-manager start bgpd # we need to set default parameters in BGP here since we can't do it in # startup scripts as we don't know the AS number at that point -update: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(@)" \ +create: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(@)" \ -c "bgp network import-check" delete: vyatta-vtysh -c "configure terminal" -c "no router bgp $VAR(@)" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.def b/templates/protocols/bgp/node.tag/neighbor/node.def index b6278e28..8e464dba 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.def @@ -8,7 +8,7 @@ comp_help: syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl \ --check-peer-name $VAR(@)" -update: if /opt/vyatta/sbin/vyatta-bgp.pl --check-if-peer-group \ +create: if /opt/vyatta/sbin/vyatta-bgp.pl --check-if-peer-group \ --peergroup $VAR(@); then vyatta-vtysh -c "configure terminal" \ -c "router bgp $VAR(../@)" \ diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.def index b13181b7..614a50cd 100644 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.def +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.def @@ -2,7 +2,7 @@ tag: type: ipv4 help: Set a virtual link syntax:expression: ! $VAR(../@) in "0", "0.0.0.0"; "Can't configure VL over area $VAR(../@)" -update:expression: "vyatta-vtysh -c \"configure terminal\" \ +create:expression: "vyatta-vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"area $VAR(../@) virtual-link $VAR(@)\"; " delete:expression: "vyatta-vtysh -c \"configure terminal\" \ diff --git a/templates/protocols/ospf/neighbor/node.def b/templates/protocols/ospf/neighbor/node.def index dc90d99e..e1c9e9e9 100644 --- a/templates/protocols/ospf/neighbor/node.def +++ b/templates/protocols/ospf/neighbor/node.def @@ -1,7 +1,7 @@ tag: type: ipv4 help: Set neighbor IP address -update:expression: "vyatta-vtysh -c \"configure terminal\" \ +create:expression: "vyatta-vtysh -c \"configure terminal\" \ -c \"router ospf\" \ -c \"neighbor $VAR(@)\"; " delete:expression: "vyatta-vtysh -c \"configure terminal\" \ diff --git a/templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def b/templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def index e04587e1..eb63a9c2 100644 --- a/templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def +++ b/templates/protocols/ospfv3/area/node.tag/.filter-list/node.tag/node.def @@ -2,7 +2,7 @@ tag: type: txt help: Set direction of filter (in|out) allowed: echo "in out" -update:expression: "vyatta-vtysh -c \"configure terminal\" \ +create:expression: "vyatta-vtysh -c \"configure terminal\" \ -c \"router ospf6 \" \ -c \"area $VAR(../../@) filter-list $VAR(../@) $VAR(@) \"; " delete:expression: "vyatta-vtysh -c \"configure terminal\" \ -- cgit v1.2.3 From 69db53b3ad7495759ef94066f94c6dff8b628a95 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 2 Jun 2009 16:08:45 -0700 Subject: Add pseudo-ethernet Should be able to set ospf/rip values on pseudo-ethernet devices. (cherry picked from commit e7e5fcbeb15a85cb61e85ca7d42f2cd7306b09b3) --- gen-interface-templates.pl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gen-interface-templates.pl b/gen-interface-templates.pl index 5e17fa0c..8a5e12af 100755 --- a/gen-interface-templates.pl +++ b/gen-interface-templates.pl @@ -34,6 +34,8 @@ my %interface_hash = ( 'ethernet/node.tag/pppoe/node.tag' => 'pppoe$VAR(@)', 'ethernet/node.tag/vif/node.tag' => '$VAR(../@).$VAR(@)', 'ethernet/node.tag/vif/node.tag/pppoe/node.tag' => 'pppoe$VAR(@)', + 'pseudo-ethernet/node.tag' => '$VAR(@)', + 'pseudo-ethernet/node.tag/vif/node.tag' => '$VAR(../@).$VAR(@)', 'bonding/node.tag' => '$VAR(@)', 'bonding/node.tag/vif/node.tag' => '$VAR(../@).$VAR(@)', 'tunnel/node.tag' => '$VAR(@)', -- cgit v1.2.3 From 85f38872d097ac5162dea2e8e75abbeceb76534b Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 2 Jun 2009 17:12:23 -0700 Subject: Replace update tag on multi-nodes Multiple value nodes are never updated, only created or deleted. (cherry picked from commit 909452cdb631577aed7b9a7aed6613c2756f4e33) --- templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def | 1 - .../protocols/bgp/node.tag/parameters/confederation/peers/node.def | 2 +- templates/protocols/ospf/area/node.tag/network/node.def | 2 +- templates/protocols/ospf/passive-interface/node.def | 2 +- templates/protocols/rip/passive-interface/node.def | 2 +- templates/protocols/ripng/passive-interface/node.def | 2 +- 6 files changed, 5 insertions(+), 6 deletions(-) diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def index 0381d22b..3813e3c8 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def @@ -1,5 +1,4 @@ type: u32 -priority: 1 help: Set neighbor BGP AS number comp_help: <1-4294967294> AS number diff --git a/templates/protocols/bgp/node.tag/parameters/confederation/peers/node.def b/templates/protocols/bgp/node.tag/parameters/confederation/peers/node.def index 1f043d41..2a763ae2 100644 --- a/templates/protocols/bgp/node.tag/parameters/confederation/peers/node.def +++ b/templates/protocols/bgp/node.tag/parameters/confederation/peers/node.def @@ -3,7 +3,7 @@ type: u32 help: Set the peer ASs in the BGP confederation comp_help: \1 <1-4294967294>\tpeer AS number numbers (ex: "435 234") syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294; "confederation AS id must be between 1 and 4294967294" -update: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(../../../@)" \ +create: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(../../../@)" \ -c "bgp confederation peers $VAR(@)" delete: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(../../../@)" \ -c "no bgp confederation peers $VAR(@)" diff --git a/templates/protocols/ospf/area/node.tag/network/node.def b/templates/protocols/ospf/area/node.tag/network/node.def index 6f8e69d6..99e6cf7e 100644 --- a/templates/protocols/ospf/area/node.tag/network/node.def +++ b/templates/protocols/ospf/area/node.tag/network/node.def @@ -2,7 +2,7 @@ multi: type: ipv4net help: Set OSPF network syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" -update:vyatta-vtysh -c "configure terminal" \ +create:vyatta-vtysh -c "configure terminal" \ -c "router ospf" -c "network $VAR(@) area $VAR(../@)" delete:vyatta-vtysh -c "configure terminal" \ -c "router ospf" -c "no network $VAR(@) area $VAR(../@)" diff --git a/templates/protocols/ospf/passive-interface/node.def b/templates/protocols/ospf/passive-interface/node.def index b469f1c7..09321d9f 100644 --- a/templates/protocols/ospf/passive-interface/node.def +++ b/templates/protocols/ospf/passive-interface/node.def @@ -2,7 +2,7 @@ multi: type: txt help: Set to suppress routing updates on an interface allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show all && echo default -update: if [ -z $VAR(@) ] +create: if [ -z $VAR(@) ] then vyatta-vtysh -c "configure terminal" -c "router ospf" \ -c "passive-interface default"; else vyatta-vtysh -c "configure terminal" -c "router ospf" \ diff --git a/templates/protocols/rip/passive-interface/node.def b/templates/protocols/rip/passive-interface/node.def index 09039331..b3674afe 100644 --- a/templates/protocols/rip/passive-interface/node.def +++ b/templates/protocols/rip/passive-interface/node.def @@ -6,7 +6,7 @@ syntax:expression: exec " \ echo ethernet interface $VAR(@) doesn\\'t exist on this system ; \ exit 1 ; \ fi ; " -update: if [ x$VAR(x) == xdefault ] +create: if [ x$VAR(x) == xdefault ] then vyatta-vtysh -c "configure terminal" -c "router rip" \ -c "passive-interface default" else vyatta-vtysh -c "configure terminal" -c "router rip" \ diff --git a/templates/protocols/ripng/passive-interface/node.def b/templates/protocols/ripng/passive-interface/node.def index 4fe2e16b..c3b1feed 100644 --- a/templates/protocols/ripng/passive-interface/node.def +++ b/templates/protocols/ripng/passive-interface/node.def @@ -8,7 +8,7 @@ syntax:expression: exec " \ exit 1; \ fi ; " -update: if [ x$VAR(x) == xdefault ]; then +create: if [ x$VAR(x) == xdefault ]; then vyatta-vtysh -c "configure terminal" \ -c "router ripng" \ -c "passive-interface default"; -- cgit v1.2.3 From 67ab58c6668dce8af9b98eb96bfe1b714409e08f Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 2 Jun 2009 19:34:32 -0700 Subject: Use create to get remote-as to go first need remote-as to be highest priority sibling Bug 4486 (cherry picked from commit cf0f8def872cf356f10e14c5ac0956022eab9d0b) --- .../bgp/node.tag/neighbor/node.tag/remote-as/node.def | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def index 3813e3c8..10804af4 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def @@ -6,6 +6,19 @@ comp_help: syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294; \ "remote-as must be between 1 and 4294967294" +# Create action so this leaf is done before others +create: vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../@)" \ + -c "neighbor $VAR(../@) remote-as $VAR(@)"; + if /opt/vyatta/sbin/vyatta-validate-type.pl -q ipv6 $VAR(../@) + then + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../@)" \ + -c "no neighbor $VAR(../@) activate" \ + -c "address-family ipv6" \ + -c "neighbor $VAR(../@) activate"; + fi + update: vyatta-vtysh -c "configure terminal" \ -c "router bgp $VAR(../../@)" \ -c "neighbor $VAR(../@) remote-as $VAR(@)"; -- cgit v1.2.3 From 16d65ac258ef19fb80c2f7b01030a87d185fd3e1 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 3 Jun 2009 09:39:46 -0700 Subject: Allow status operations as non-root user (cherry picked from commit 466426dba5880bf469b22172769c552cf6aaaab0) --- scripts/quagga-manager | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/scripts/quagga-manager b/scripts/quagga-manager index ff0c7f88..220a5fba 100755 --- a/scripts/quagga-manager +++ b/scripts/quagga-manager @@ -15,11 +15,6 @@ if [ $# -lt 1 ]; then usage fi -if [ $EUID -ne 0 ]; then - echo "must be root!" - exit 1 -fi - pid_dir=/var/run/vyatta/quagga log_dir=/var/log/vyatta/quagga @@ -37,6 +32,11 @@ start() { local pidfile=${pid_dir}/${daemon}.pid local binpath=/usr/sbin/vyatta-$daemon + if [ $EUID -ne 0 ]; then + echo "must be root!" + exit 1 + fi + if [ ! -x $binpath ]; then echo "Unknown daemon $daemon" return 1 @@ -57,6 +57,10 @@ stop() { local pidfile=${pid_dir}/${daemon}.pid local binpath=/usr/sbin/vyatta-$daemon + if [ $EUID -ne 0 ]; then + echo "must be root!" + exit 1 + fi start-stop-daemon --stop --quiet --oknodo --retry 5 \ --exec $binpath --pidfile=$pidfile rm -f $pidfile -- cgit v1.2.3 From ad613a41773adf48e909fd13af26e63aaaf1488b Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 3 Jun 2009 10:57:21 -0700 Subject: Start bgpd earlier in process BGPD needs to be started when parameters and neighbors are set. Bug 4486 (cherry picked from commit c600f91dee1ed705648eff626f8fd090a28720b5) --- templates/protocols/bgp/node.tag/neighbor/node.def | 2 ++ templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def | 1 + templates/protocols/bgp/node.tag/parameters/node.def | 1 + 3 files changed, 4 insertions(+) diff --git a/templates/protocols/bgp/node.tag/neighbor/node.def b/templates/protocols/bgp/node.tag/neighbor/node.def index 8e464dba..6b30f7cd 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.def @@ -8,6 +8,8 @@ comp_help: syntax:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl \ --check-peer-name $VAR(@)" +begin: sudo /opt/vyatta/sbin/quagga-manager start bgpd + create: if /opt/vyatta/sbin/vyatta-bgp.pl --check-if-peer-group \ --peergroup $VAR(@); then vyatta-vtysh -c "configure terminal" \ diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def index 10804af4..453527aa 100644 --- a/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/remote-as/node.def @@ -5,6 +5,7 @@ comp_help: syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294; \ "remote-as must be between 1 and 4294967294" +begin: sudo /opt/vyatta/sbin/quagga-manager start bgpd # Create action so this leaf is done before others create: vyatta-vtysh -c "configure terminal" \ diff --git a/templates/protocols/bgp/node.tag/parameters/node.def b/templates/protocols/bgp/node.tag/parameters/node.def index 6bb752b5..6711aac1 100644 --- a/templates/protocols/bgp/node.tag/parameters/node.def +++ b/templates/protocols/bgp/node.tag/parameters/node.def @@ -1 +1,2 @@ help: Set BGP parameters +begin: sudo /opt/vyatta/sbin/quagga-manager start bgpd -- cgit v1.2.3 From 3b3fc34c6d6cb71b1cb00edee2cd12a96ee772ec Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 3 Jun 2009 11:30:57 -0700 Subject: Use bgpd default import-check flag Move the default import-check enabled from template to command line option in bgpd. This resolves some of the startup issues. (cherry picked from commit a1d23a42ef83968222b0744505986db3e02b0ae8) --- scripts/quagga-manager | 7 ++++--- templates/protocols/bgp/node.def | 6 ++---- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/scripts/quagga-manager b/scripts/quagga-manager index 220a5fba..be0435b9 100755 --- a/scripts/quagga-manager +++ b/scripts/quagga-manager @@ -43,9 +43,10 @@ start() { fi local -a args=( -d -P 0 -i $pidfile ) - if [ "$daemon" = "zebra" ]; then - args+=( -l -S -s 1048576 ) - fi + case $daemon in + zebra) args+=( -l -S -s 1048576 );; + bgpd) args+=( -I );; + esac exec start-stop-daemon --start --oknodo --quiet \ --chdir $log_dir --exec $binpath --pidfile $pidfile \ diff --git a/templates/protocols/bgp/node.def b/templates/protocols/bgp/node.def index 9a430834..27d29523 100644 --- a/templates/protocols/bgp/node.def +++ b/templates/protocols/bgp/node.def @@ -5,9 +5,7 @@ comp_help: \1 <1-4294967294>\tAS number syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 4294967294 ; \ "AS number must be between 1 and 4294967294" begin: sudo /opt/vyatta/sbin/quagga-manager start bgpd -# we need to set default parameters in BGP here since we can't do it in -# startup scripts as we don't know the AS number at that point -create: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(@)" \ - -c "bgp network import-check" +create: vyatta-vtysh -c "configure terminal" -c "router bgp $VAR(@)" delete: vyatta-vtysh -c "configure terminal" -c "no router bgp $VAR(@)" + -- cgit v1.2.3 From b3bbd1b2f09df81fedbb59cec44e7f6dca16704e Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 3 Jun 2009 11:54:38 -0700 Subject: Fix OSPFv3 filter list node Node was marked as 'tag:' but was a leaf node. (cherry picked from commit 31368eec9b7dd25e248140a8732fd4c814de52b9) --- templates/protocols/ospfv3/area/node.tag/.filter-list/node.def | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/templates/protocols/ospfv3/area/node.tag/.filter-list/node.def b/templates/protocols/ospfv3/area/node.tag/.filter-list/node.def index 358fa36c..791b3f5a 100644 --- a/templates/protocols/ospfv3/area/node.tag/.filter-list/node.def +++ b/templates/protocols/ospfv3/area/node.tag/.filter-list/node.def @@ -1,3 +1,2 @@ -tag: type: txt -help: Set filter-list \ No newline at end of file +help: Set filter-list -- cgit v1.2.3 From 930756f2fe63a7f03ce5a68d1b1e8f1a549224ff Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Mon, 8 Jun 2009 17:09:12 -0700 Subject: Remove bogus templates node.def below node.tag is meaningless (cherry picked from commit b606ac1a7f1120d5203a581d85e9953401d02b07) --- interface-templates/ip/ospf/authentication/md5/key-id/node.tag/node.def | 1 - interface-templates/ip/rip/authentication/md5/node.tag/node.def | 1 - templates/protocols/bgp/node.tag/node.def | 0 3 files changed, 2 deletions(-) delete mode 100644 interface-templates/ip/ospf/authentication/md5/key-id/node.tag/node.def delete mode 100644 interface-templates/ip/rip/authentication/md5/node.tag/node.def delete mode 100644 templates/protocols/bgp/node.tag/node.def diff --git a/interface-templates/ip/ospf/authentication/md5/key-id/node.tag/node.def b/interface-templates/ip/ospf/authentication/md5/key-id/node.tag/node.def deleted file mode 100644 index d14a2583..00000000 --- a/interface-templates/ip/ospf/authentication/md5/key-id/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set md5 key diff --git a/interface-templates/ip/rip/authentication/md5/node.tag/node.def b/interface-templates/ip/rip/authentication/md5/node.tag/node.def deleted file mode 100644 index 488acd8c..00000000 --- a/interface-templates/ip/rip/authentication/md5/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set authentication password diff --git a/templates/protocols/bgp/node.tag/node.def b/templates/protocols/bgp/node.tag/node.def deleted file mode 100644 index e69de29b..00000000 -- cgit v1.2.3 From 9d3dcc9040c0af33adceb85dc413833ac4716329 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Tue, 9 Jun 2009 15:56:02 -0700 Subject: Remove hidden templates Templates in */node.tag/node.def are meaningless in current CLI. Remove all the templates that are intermediat help text. (cherry picked from commit ebd628b2b2a93d78a60c1d0ed41d0ab793c0efdf) --- templates/protocols/ospf/area/node.tag/node.def | 3 --- .../virtual-link/node.tag/authentication/md5/key-id/node.tag/node.def | 1 - templates/protocols/ospf/area/node.tag/virtual-link/node.tag/node.def | 1 - templates/protocols/ospfv3/area/node.tag/node.def | 1 - templates/protocols/rip/network-distance/node.tag/node.def | 1 - .../interface-route/node.tag/next-hop-interface/node.tag/node.def | 1 - templates/protocols/static/interface-route/node.tag/node.def | 1 - .../interface-route6/node.tag/next-hop-interface/node.tag/node.def | 1 - templates/protocols/static/interface-route6/node.tag/node.def | 2 -- templates/protocols/static/route/node.tag/next-hop/node.tag/node.def | 2 -- templates/protocols/static/route/node.tag/node.def | 2 -- templates/protocols/static/route6/node.tag/next-hop/node.tag/node.def | 2 -- templates/protocols/static/route6/node.tag/node.def | 3 --- 13 files changed, 21 deletions(-) delete mode 100644 templates/protocols/ospf/area/node.tag/node.def delete mode 100644 templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/node.def delete mode 100644 templates/protocols/ospf/area/node.tag/virtual-link/node.tag/node.def delete mode 100644 templates/protocols/ospfv3/area/node.tag/node.def delete mode 100644 templates/protocols/rip/network-distance/node.tag/node.def delete mode 100644 templates/protocols/static/interface-route/node.tag/next-hop-interface/node.tag/node.def delete mode 100644 templates/protocols/static/interface-route/node.tag/node.def delete mode 100644 templates/protocols/static/interface-route6/node.tag/next-hop-interface/node.tag/node.def delete mode 100644 templates/protocols/static/interface-route6/node.tag/node.def delete mode 100644 templates/protocols/static/route/node.tag/next-hop/node.tag/node.def delete mode 100644 templates/protocols/static/route/node.tag/node.def delete mode 100644 templates/protocols/static/route6/node.tag/next-hop/node.tag/node.def delete mode 100644 templates/protocols/static/route6/node.tag/node.def diff --git a/templates/protocols/ospf/area/node.tag/node.def b/templates/protocols/ospf/area/node.tag/node.def deleted file mode 100644 index 7d080287..00000000 --- a/templates/protocols/ospf/area/node.tag/node.def +++ /dev/null @@ -1,3 +0,0 @@ -help: Set IPv4 network - - diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/node.def deleted file mode 100644 index 3d83feec..00000000 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set MD5 key diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/node.def deleted file mode 100644 index 6eb2820b..00000000 --- a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set virtual link diff --git a/templates/protocols/ospfv3/area/node.tag/node.def b/templates/protocols/ospfv3/area/node.tag/node.def deleted file mode 100644 index 03cac4e1..00000000 --- a/templates/protocols/ospfv3/area/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set OSPFv3 area parameters \ No newline at end of file diff --git a/templates/protocols/rip/network-distance/node.tag/node.def b/templates/protocols/rip/network-distance/node.tag/node.def deleted file mode 100644 index 7e9c8d59..00000000 --- a/templates/protocols/rip/network-distance/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set distance for a given network diff --git a/templates/protocols/static/interface-route/node.tag/next-hop-interface/node.tag/node.def b/templates/protocols/static/interface-route/node.tag/next-hop-interface/node.tag/node.def deleted file mode 100644 index 5bd7d7c7..00000000 --- a/templates/protocols/static/interface-route/node.tag/next-hop-interface/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set next-hop interface diff --git a/templates/protocols/static/interface-route/node.tag/node.def b/templates/protocols/static/interface-route/node.tag/node.def deleted file mode 100644 index a628b753..00000000 --- a/templates/protocols/static/interface-route/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set IP network diff --git a/templates/protocols/static/interface-route6/node.tag/next-hop-interface/node.tag/node.def b/templates/protocols/static/interface-route6/node.tag/next-hop-interface/node.tag/node.def deleted file mode 100644 index 5bd7d7c7..00000000 --- a/templates/protocols/static/interface-route6/node.tag/next-hop-interface/node.tag/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set next-hop interface diff --git a/templates/protocols/static/interface-route6/node.tag/node.def b/templates/protocols/static/interface-route6/node.tag/node.def deleted file mode 100644 index f5c3f487..00000000 --- a/templates/protocols/static/interface-route6/node.tag/node.def +++ /dev/null @@ -1,2 +0,0 @@ -help: Set IP network - diff --git a/templates/protocols/static/route/node.tag/next-hop/node.tag/node.def b/templates/protocols/static/route/node.tag/next-hop/node.tag/node.def deleted file mode 100644 index 08dff1a9..00000000 --- a/templates/protocols/static/route/node.tag/next-hop/node.tag/node.def +++ /dev/null @@ -1,2 +0,0 @@ -help: Set next-hop router - diff --git a/templates/protocols/static/route/node.tag/node.def b/templates/protocols/static/route/node.tag/node.def deleted file mode 100644 index f5c3f487..00000000 --- a/templates/protocols/static/route/node.tag/node.def +++ /dev/null @@ -1,2 +0,0 @@ -help: Set IP network - diff --git a/templates/protocols/static/route6/node.tag/next-hop/node.tag/node.def b/templates/protocols/static/route6/node.tag/next-hop/node.tag/node.def deleted file mode 100644 index 08dff1a9..00000000 --- a/templates/protocols/static/route6/node.tag/next-hop/node.tag/node.def +++ /dev/null @@ -1,2 +0,0 @@ -help: Set next-hop router - diff --git a/templates/protocols/static/route6/node.tag/node.def b/templates/protocols/static/route6/node.tag/node.def deleted file mode 100644 index ecc2c12f..00000000 --- a/templates/protocols/static/route6/node.tag/node.def +++ /dev/null @@ -1,3 +0,0 @@ -help: Set IP network - - -- cgit v1.2.3 From 1727949b57428d94569130e84c77a12d7a2a71fb Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 9 Jul 2009 16:50:32 -0700 Subject: 0.18.27 --- debian/changelog | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/debian/changelog b/debian/changelog index 9cc77845..0b9800dd 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,21 @@ +vyatta-cfg-quagga (0.18.27) unstable; urgency=low + + * Abort transaction on delete of neighbor in peer group + * Convert template to new syntax + * Fix setup of protocols on boot + * Convert update: on mulitnodes to create: + * Add pseudo-ethernet + * Replace update tag on multi-nodes + * Use create to get remote-as to go first + * Allow status operations as non-root user + * Start bgpd earlier in process + * Use bgpd default import-check flag + * Fix OSPFv3 filter list node + * Remove bogus templates + * Remove hidden templates + + -- Stephen Hemminger Thu, 09 Jul 2009 16:50:32 -0700 + vyatta-cfg-quagga (0.18.26) unstable; urgency=low * Bugfix 4546: Re-structure to avoid nested "end" field. -- cgit v1.2.3