diff options
Diffstat (limited to 'templates/protocols/ospf/passive-interface/node.def')
-rw-r--r-- | templates/protocols/ospf/passive-interface/node.def | 46 |
1 files changed, 36 insertions, 10 deletions
diff --git a/templates/protocols/ospf/passive-interface/node.def b/templates/protocols/ospf/passive-interface/node.def index 2ee24c93..bd66993e 100644 --- a/templates/protocols/ospf/passive-interface/node.def +++ b/templates/protocols/ospf/passive-interface/node.def @@ -1,19 +1,45 @@ multi: type: txt help: Set to suppress routing updates on an interface + allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show all && echo default -create: if [ -z $VAR(@) ] - then vtysh -c "configure terminal" -c "router ospf" \ - -c "passive-interface default"; - else vtysh -c "configure terminal" -c "router ospf" \ - -c "passive-interface $VAR(@)" - fi + + + +create: sudo /opt/vyatta/sbin/vyatta_quagga_utils.pl \ + --check-ospf-passive="$VAR(@)" + if [ $? != 0 ] ; then + exit 1; + fi + if [ -z $VAR(@) ] || [ "$VAR(@)" == "default" ] ; then + vtysh -c "configure terminal" \ + -c "router ospf" \ + -c "passive-interface default"; + else + vtysh -c "configure terminal" \ + -c "router ospf" \ + -c "passive-interface $VAR(@)" + fi + delete: if [ -z $VAR(@) ] - then vtysh -c "configure terminal" -c "router ospf" \ - -c "no passive-interface default" - else vtysh -c "configure terminal" -c "router ospf" \ - -c "no passive-interface $VAR(@)" + then + vtysh -c "configure terminal" \ + -c "router ospf" \ + -c "no passive-interface default" + else + if [ "$VAR(@)" == "default" ] + then + if [ $VAR(../passive-interface-exclude/@) ] + then + echo "Error: delete passive-interface-exclude before deleting passive-interface default"; + exit 1; + fi + fi + vtysh -c "configure terminal" \ + -c "router ospf" \ + -c "no passive-interface $VAR(@)" fi + comp_help: possible completions: <interface> Set an interface to be passive (i.e. suppress routing updates) default Set default to suppress routing updates on all interfaces |