diff options
author | Stig Thormodsrud <stig@io.vyatta.com> | 2009-02-19 14:15:15 -0800 |
---|---|---|
committer | Stig Thormodsrud <stig@io.vyatta.com> | 2009-02-19 14:15:15 -0800 |
commit | 94f29c51c3f71f022071321970b11580d0b1f699 (patch) | |
tree | e57c21c2b42ab7634de615286de885d98ec01ff2 /scripts/vyatta-show-protocols | |
parent | c45f7b9f8daae3b96c76fac3363a507c22b9d9f3 (diff) | |
parent | 2e3fcceeb92aad18ba5eb62fb2403ce035493d12 (diff) | |
download | vyatta-cfg-quagga-94f29c51c3f71f022071321970b11580d0b1f699.tar.gz vyatta-cfg-quagga-94f29c51c3f71f022071321970b11580d0b1f699.zip |
Merge branch 'jenner' of http://git.vyatta.com/vyatta-cfg-quagga into jenner
Diffstat (limited to 'scripts/vyatta-show-protocols')
-rwxr-xr-x | scripts/vyatta-show-protocols | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/scripts/vyatta-show-protocols b/scripts/vyatta-show-protocols new file mode 100755 index 00000000..c81dcb82 --- /dev/null +++ b/scripts/vyatta-show-protocols @@ -0,0 +1,51 @@ +#! /usr/bin/perl +# Author: Stephen Hemminger +# Date: 2009 +# Description: Helper script to display configured protocols + +# **** License **** +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# This code was originally developed by Vyatta, Inc. +# Portions created by Vyatta are Copyright (C) 2006, 2007, 2008 Vyatta, Inc. +# All Rights Reserved. +# **** End License **** + +use lib "/opt/vyatta/share/perl5"; +use Vyatta::Config; +use strict; +use warnings; + +# Map from command line to config->XXX() function +my %actions = ( + 'configured' => 'exists', + 'added' => 'isAdded', + 'changed' => 'isChanged', + 'deleted' => 'isDeleted', +); + +my @protocols = qw(bgp isis ospf ospf6 rip ripng); + +sub usage { + die "Usage: $0 {",join('|',keys %actions),"}\n" +} + +usage if ($#ARGV == -1); +my $match = $actions{$ARGV[0]}; +usage unless $match; + +my $config = new Vyatta::Config; +$config->setLevel('protocols'); + +# Avoid the urge to do Perl Golf here... +my @found = grep { $config->$match($_) } @protocols; +my @daemons = map { $_ . 'd' } @found; +print join(' ', @daemons), "\n"; + |