From a0be206eb419f63eeb436631cc91b3456dff006f Mon Sep 17 00:00:00 2001 From: Tar Committer Date: Sat, 12 Aug 2006 02:59:43 +0000 Subject: Imported from rancid-2.3.2a5.tar.gz. --- bin/rancid-fe.in | 56 +++++++++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 25 deletions(-) (limited to 'bin/rancid-fe.in') diff --git a/bin/rancid-fe.in b/bin/rancid-fe.in index 3976253..604040d 100644 --- a/bin/rancid-fe.in +++ b/bin/rancid-fe.in @@ -1,8 +1,8 @@ #! @PERLV_PATH@ ## -## $Id: rancid-fe.in,v 1.37 2005/06/14 20:20:44 heas Exp $ +## $Id: rancid-fe.in,v 1.42 2006/08/12 00:44:53 heas Exp $ ## -## Copyright (C) 1997-2004 by Terrapin Communications, Inc. +## Copyright (C) 1997-2006 by Terrapin Communications, Inc. ## All rights reserved. ## ## This software may be freely copied, modified and redistributed @@ -27,32 +27,38 @@ require 5; ($router, $vendor) = split('\:', $ARGV[0]); +$vendor =~ tr/[A-Z]/[a-z]/; - if ($vendor =~ /^alteon$/i) { exec('arancid', $router); } -elsif ($vendor =~ /^baynet$/i) { exec('brancid', $router); } -elsif ($vendor =~ /^cat5$/i) { exec('cat5rancid', $router); } -elsif ($vendor =~ /^cisco$/i) { exec('rancid', $router); } -elsif ($vendor =~ /^css$/i) { exec('cssrancid', $router); } -elsif ($vendor =~ /^enterasys$/i) { exec('rivrancid', $router); } -elsif ($vendor =~ /^erx$/i) { exec('jerancid', $router); } -elsif ($vendor =~ /^extreme$/i) { exec('xrancid', $router); } -elsif ($vendor =~ /^ezt3$/i) { exec('erancid', $router); } -elsif ($vendor =~ /^force10$/i) { exec('f10rancid', $router); } -elsif ($vendor =~ /^foundry$/i) { exec('francid', $router); } -elsif ($vendor =~ /^hitachi$/i) { exec('htrancid', $router); } -elsif ($vendor =~ /^hp$/i) { exec('hrancid', $router); } -elsif ($vendor =~ /^juniper$/i) { exec('jrancid', $router); } -elsif ($vendor =~ /^mrtd$/i) { exec('mrancid', $router); } -elsif ($vendor =~ /^netscaler$/i) { exec('nsrancid', $router); } -elsif ($vendor =~ /^netscreen$/i) { exec('nrancid', $router); } -elsif ($vendor =~ /^procket$/i) { exec('prancid', $router); } -elsif ($vendor =~ /^redback$/i) { exec('rrancid', $router); } -elsif ($vendor =~ /^riverstone$/i) { exec('rivrancid', $router); } -elsif ($vendor =~ /^tnt$/i) { exec('tntrancid', $router); } -elsif ($vendor =~ /^zebra$/i) { exec('zrancid', $router); } -else { +%vendortable = ( + 'alteon' => 'arancid', + 'baynet' => 'brancid', + 'cat5' => 'cat5rancid', + 'cisco' => 'rancid', + 'css' => 'cssrancid', + 'enterasys' => 'rivrancid', + 'erx' => 'jerancid', + 'extreme' => 'xrancid', + 'ezt3' => 'erancid', + 'force10' => 'f10rancid', + 'foundry' => 'francid', + 'hitachi' => 'htrancid', + 'hp' => 'hrancid', + 'juniper' => 'jrancid', + 'mrtd' => 'mrancid', + 'netscaler' => 'nsrancid', + 'netscreen' => 'nrancid', + 'procket' => 'prancid', + 'redback' => 'rrancid', + 'riverstone' => 'rivrancid', + 'tnt' => 'tntrancid', + 'zebra' => 'zrancid' +); + +if ($vendortable{$vendor} eq "") { printf(STDERR "unknown router manufacturer for $router: $vendor\n"); exit(-1); +} else { + exec($vendortable{$vendor} . " $router"); } printf(STDERR "exec failed router manufacturer $vendor: $!\n"); -- cgit