diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-02-18 12:54:35 -0800 |
---|---|---|
committer | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-02-18 15:40:25 -0800 |
commit | 358846aef34e08817dbc7d7eefcffb2f075f786b (patch) | |
tree | 6ef2c5a65fcaec19ea6035efadccd1390b732e7d /scripts/vyatta-show-protocols | |
parent | 5205f4cd0d68a78c86fce6588f9c276861bb9cdd (diff) | |
download | vyatta-cfg-quagga-358846aef34e08817dbc7d7eefcffb2f075f786b.tar.gz vyatta-cfg-quagga-358846aef34e08817dbc7d7eefcffb2f075f786b.zip |
Rework of protocol startup
Use scripts to do start/stop (instead of disable template).
Integrate reload into new quagga-manager script
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"; + |