1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
#! @PERLV_PATH@
##
## $Id: rancid-fe.in,v 1.37 2005/06/14 20:20:44 heas Exp $
##
## Copyright (C) 1997-2004 by Terrapin Communications, Inc.
## All rights reserved.
##
## This software may be freely copied, modified and redistributed
## without fee for non-commerical purposes provided that this license
## remains intact and unmodified with any RANCID distribution.
##
## There is no warranty or other guarantee of fitness of this software.
## It is provided solely "as is". The author(s) disclaim(s) all
## responsibility and liability with respect to this software's usage
## or its effect upon hardware, computer systems, other software, or
## anything else.
##
## Except where noted otherwise, rancid was written by and is maintained by
## Henry Kilmer, John Heasley, Andrew Partan, Pete Whiting, and Austin Schutz.
##
#
# rancid-FE - front-end to rancid/jrancid/etc. for use with par.
#
# usage: rancid-fe <router>:<vendor>
#
require 5;
($router, $vendor) = split('\:', $ARGV[0]);
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 {
printf(STDERR "unknown router manufacturer for $router: $vendor\n");
exit(-1);
}
printf(STDERR "exec failed router manufacturer $vendor: $!\n");
exit(-1);
|