From 70ad82f7cd762ddfd34534197ca1a4c1d7ee5b6c Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Wed, 17 Oct 2007 20:27:11 -0700 Subject: Add missing vyatta_quagga_utils.pl. --- scripts/vyatta_quagga_utils.pl | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 scripts/vyatta_quagga_utils.pl (limited to 'scripts/vyatta_quagga_utils.pl') 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; +} + -- cgit v1.2.3