summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--templates/protocols/ospf/area/node.tag/area-type/nssa/no-summary/node.def6
-rw-r--r--templates/protocols/ospf/area/node.tag/area-type/nssa/node.def27
-rw-r--r--templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def7
3 files changed, 24 insertions, 16 deletions
diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/no-summary/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/no-summary/node.def
index fa1f76e4..4999ff7a 100644
--- a/templates/protocols/ospf/area/node.tag/area-type/nssa/no-summary/node.def
+++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/no-summary/node.def
@@ -1,7 +1 @@
help: Do not inject inter-area routes into stub
-create:expression: "${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" \
- -c \"router ospf\" \
- -c \"area $VAR(../../../@) nssa no-summary \"; "
-delete:expression: "${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" \
- -c \"router ospf\" \
- -c \"no area $VAR(../../../@) nssa no-summary \"; "
diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/node.def
index 9ac0569f..b27f0b3a 100644
--- a/templates/protocols/ospf/area/node.tag/area-type/nssa/node.def
+++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/node.def
@@ -2,7 +2,26 @@ help: nssa OSPF area
syntax:expression: ! $VAR(../../@) in "0", "0.0.0.0"; "Backbone can't be NSSA"
syntax:expression: $VAR(../normal/) == "" ; "Must delete normal area type first"
syntax:expression: $VAR(../stub/) == "" ; "Must delete stub area type first"
-update:expression: "${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" \
- -c \"router ospf\" -c \"area $VAR(../../@) nssa\"; "
-delete:expression: "${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" \
- -c \"router ospf\" -c \"no area $VAR(../../@) nssa\"; "
+
+delete: touch /tmp/ospf-area-nssa.$PPID
+end: if [ -f "/tmp/ospf-area-nssa.$PPID" ]; then
+ ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \
+ -c "router ospf" -c "no area $VAR(../../@) nssa";
+ rm /tmp/ospf-area-nssa.$PPID;
+ else
+ if [ -n "$VAR(translate/@)" ]; then
+ PARM="translate-$VAR(translate/@)";
+ fi;
+ # using workaround pending bug 2525
+ #
+ # if [ -n "$VAR(no-summary/)" ]; then
+ # PARM="$PARM no-summary";
+ # fi;
+ ${vyatta_sbindir}/vyatta-check-typeless-node.pl \
+ "protocols ospf area $VAR(../../@) area-type nssa no-summary";
+ if [ $? -eq 0 ] ; then
+ PARM="$PARM no-summary";
+ fi;
+ ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \
+ -c "router ospf" -c "area $VAR(../../@) nssa $PARM";
+ fi;
diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def
index ff32811f..9b6db051 100644
--- a/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def
+++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def
@@ -2,12 +2,7 @@ type: txt
help: Configure NSSA-ABR
default: "candidate"
syntax:expression: $VAR(@) in "always", "candidate", "never"; "Must be (always, candidate, or never)"
-update:expression: "${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" \
- -c \"router ospf\" \
- -c \"area $VAR(../../../@) nssa translate-$VAR(@) \"; "
-delete:expression: "${vyatta_sbindir}/vyatta-vtysh.pl -c \"configure terminal\" \
- -c \"router ospf\" \
- -c \"area $VAR(../../../@) nssa translate-candidate \"; "
+
comp_help: possible completions:
always Configure NSSA-ABR to always translate
candidate Configure NSSA-ABR for translate election (default)