diff options
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) |