diff options
author | Stig Thormodsrud <stig@uffda.(none)> | 2007-10-17 20:27:11 -0700 |
---|---|---|
committer | Stig Thormodsrud <stig@uffda.(none)> | 2007-10-17 20:27:11 -0700 |
commit | 70ad82f7cd762ddfd34534197ca1a4c1d7ee5b6c (patch) | |
tree | 45a2450617fb109d338a42c361bbc324e7db381d /scripts | |
parent | 281fcfb8dad9b66f027c39476a05aa5eff89fce1 (diff) | |
download | vyatta-cfg-quagga-70ad82f7cd762ddfd34534197ca1a4c1d7ee5b6c.tar.gz vyatta-cfg-quagga-70ad82f7cd762ddfd34534197ca1a4c1d7ee5b6c.zip |
Add missing vyatta_quagga_utils.pl.
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/vyatta_quagga_utils.pl | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/scripts/vyatta_quagga_utils.pl b/scripts/vyatta_quagga_utils.pl new file mode 100644 index 00000000..2b5b05ac --- /dev/null +++ b/scripts/vyatta_quagga_utils.pl @@ -0,0 +1,54 @@ +#!/usr/bin/perl +use lib "/opt/vyatta/share/perl5/"; +use VyattaConfig; +use VyattaMisc; +use NetAddr::IP; +use Getopt::Long; + +GetOptions("check-prefix-boundry=s" => \$prefix, + "not-exists=s" => \$notexists, + "exists=s" => \$exists, +); + +if (defined $prefix) { check_prefix_boundry($prefix); } +if (defined $notexists) { check_not_exists($notexists); } +if (defined $exists) { check_exists($exists); } + +exit 0; + +sub check_prefix_boundry() { + my $prefix = shift; + my $net, $cidr; + + $net = new NetAddr::IP $prefix; + $cidr = $net->network(); + if ( "$cidr" ne "$prefix" ) { + print "Your prefix must fall on a natural network boundry. Did you mean $cidr?\n"; + exit 1; + } + + exit 0; +} + +sub check_exists() { + my $node = shift; + my $config = new VyattaConfig; + + if ( $config->exists("$node") ) { + exit 0; + } + + exit 1; +} + +sub check_not_exists() { + my $node = shift; + my $config = new VyattaConfig; + + if (! $config->exists("$node") ) { + exit 0; + } + + exit 1; +} + |