From civicdre at hotmail.com Wed Apr 4 17:42:46 2012 From: civicdre at hotmail.com (Andres Ortiz) Date: Wed, 4 Apr 2012 13:42:46 -0400 Subject: [rancid] flooded with false config change notice Message-ID: Need some help with RANCID 2.3.4 I'm currently pulling Cisco devices running CATOS/IOS. I'm also using it to pull configs from Juniper devices, all works perfect. However the problem is when trying to pull configs from Cisco Nexus NX 7000 and HP Procruve 5200 series. Once I add them to the router.db, the script runs and downloads the current config as it should. My cronjob runs every hr and I get config changes every hr that are not happening. Not sure what to do. Any help is appreciated. Thanks CD -------------- next part -------------- An HTML attachment was scrubbed... URL: From mickey at greenglow.org Thu Apr 5 20:39:20 2012 From: mickey at greenglow.org (Mickey Everts) Date: Thu, 5 Apr 2012 15:39:20 -0500 Subject: [rancid] Extreme XOS and rancid-2.3.8 Message-ID: <064601cd136c$2ea7ff90$8bf7feb0$@greenglow.org> This is my first try at using rancid, but so far so good. We have quite a few Extreme X460-48t switches running ExtremeXOS version 12.5 and above. Things mostly work, but there is some annoying behavior that appears be random. Here is an example of the issue: In the "networking router config diffs" email, it looks like this: Index: configs/sw1-hq =================================================================== retrieving revision 1.2 diff -U 4 -r1.2 sw1-hq @@ -9,8 +9,10 @@ #Bootrom: 2.0.1.0 # # # + show configuration + # # Module devmgr configuration. # In the next email there would be a similar diff with this instead: - show configuration - # And here is a the log. Note that it's not always the same switches affected. starting: Thu Apr 5 14:51:52 CDT 2012 Trying to get all of the configs. sw1-lgtx: missed cmd(s): show configuration sw3-lgtx: missed cmd(s): show configuration sw4-lgtx: missed cmd(s): show configuration ===================================== Getting missed routers: round 1. sw4-lgtx: missed cmd(s): show configuration sw3-lgtx: missed cmd(s): show configuration sw1-lgtx: missed cmd(s): show configuration ===================================== Getting missed routers: round 2. sw4-lgtx: missed cmd(s): show configuration sw1-lgtx: missed cmd(s): show configuration ===================================== Getting missed routers: round 3. All routers sucessfully completed. cvs diff: Diffing . cvs diff: Diffing configs cvs commit: Examining . cvs commit: Examining configs Checking in configs/sw1-hq; /usr/local/rancid/var/CVS/networking/configs/sw1-hq,v <-- sw1-hq new revision: 1.4; previous revision: 1.3 done Checking in configs/sw4-lgtx; /usr/local/rancid/var/CVS/networking/configs/sw4-lgtx,v <-- sw4-lgtx new revision: 1.6; previous revision: 1.5 done ending: Thu Apr 5 14:53:46 CDT 2012 -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonmills at renci.org Mon Apr 9 20:07:49 2012 From: jonmills at renci.org (Jonathan Mills) Date: Mon, 9 Apr 2012 16:07:49 -0400 Subject: [rancid] BNT help? Message-ID: <4F834195.2050403@renci.org> Does anyone have experience using rancid with a Blade Network Technologies (BNT) switch? BNT is now owned by IBM, however. Running a 'show version' states the switch OS as: "IBM Networking Operating System RackSwitch G8052" Any advice would be much appreciated! -- Jonathan Mills Systems Administrator Renaissance Computing Institute UNC-Chapel Hill From jonmills at renci.org Mon Apr 9 20:23:55 2012 From: jonmills at renci.org (Jonathan Mills) Date: Mon, 9 Apr 2012 16:23:55 -0400 Subject: [rancid] BNT help? In-Reply-To: <4F834195.2050403@renci.org> References: <4F834195.2050403@renci.org> Message-ID: <4F83455B.8040209@renci.org> For instance, I can confirm that I am able to login to it, and get into enable mode, using /usr/libexec/rancid/clogin. So, it's kinda like Cisco. Where it fails, is that it can't answer all the commands that rancid wants to send. I'm new to rancid, and I don't get how to manage (or filter?) the commands I want it to run. Only things I really want it to do (all of which work, when I put them on the command like ( -c ) using clogin): show version show boot show vlans show running-config -- Jonathan Mills Systems Administrator Renaissance Computing Institute UNC-Chapel Hill On 04/09/2012 04:07 PM, Jonathan Mills wrote: > Does anyone have experience using rancid with a Blade Network > Technologies (BNT) switch? BNT is now owned by IBM, however. Running a > 'show version' states the switch OS as: > > "IBM Networking Operating System RackSwitch G8052" > > Any advice would be much appreciated! > From jbaldwin at antinode.net Mon Apr 9 20:31:21 2012 From: jbaldwin at antinode.net (James Baldwin) Date: Mon, 9 Apr 2012 15:31:21 -0500 Subject: [rancid] BNT help? In-Reply-To: <4F83455B.8040209@renci.org> References: <4F834195.2050403@renci.org> <4F83455B.8040209@renci.org> Message-ID: <4600AE14-A6EF-4CE3-A9AD-6F38258CDE34@antinode.net> You should be able to make a copy of rancid to, for instance, bntrancid and modify the @commandtable array to only include the commands you want then add it to the %vendortable in rancid-fe. On Apr 9, 2012, at 3:23 PM, Jonathan Mills wrote: > For instance, I can confirm that I am able to login to it, and get into enable mode, using /usr/libexec/rancid/clogin. So, it's kinda like Cisco. Where it fails, is that it can't answer all the commands that rancid wants to send. I'm new to rancid, and I don't get how to manage (or filter?) the commands I want it to run. Only things I really want it to do (all of which work, when I put them on the command like ( -c ) using clogin): > > show version > show boot > show vlans > show running-config > > -- > Jonathan Mills > Systems Administrator > Renaissance Computing Institute > UNC-Chapel Hill > > On 04/09/2012 04:07 PM, Jonathan Mills wrote: >> Does anyone have experience using rancid with a Blade Network >> Technologies (BNT) switch? BNT is now owned by IBM, however. Running a >> 'show version' states the switch OS as: >> >> "IBM Networking Operating System RackSwitch G8052" >> >> Any advice would be much appreciated! >> > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From jonmills at renci.org Mon Apr 9 21:32:26 2012 From: jonmills at renci.org (Jonathan Mills) Date: Mon, 9 Apr 2012 17:32:26 -0400 Subject: [rancid] BNT help? In-Reply-To: <4600AE14-A6EF-4CE3-A9AD-6F38258CDE34@antinode.net> References: <4F834195.2050403@renci.org> <4F83455B.8040209@renci.org> <4600AE14-A6EF-4CE3-A9AD-6F38258CDE34@antinode.net> Message-ID: <4F83556A.8090804@renci.org> James et al: So I created a file, /usr/libexec/rancid/bntrancid, a copy of /usr/libexec/rancid/rancid, with a modified commandtable, which looks like this: # Main @commandtable = ( {'show version' => 'ShowVersion'}, {'show vlan' => 'ShowVLAN'}, {'show running-config' => 'WriteTerm'}, {'write term' => 'WriteTerm'}, ); # Use an array to preserve the order of the commands and a hash for mapping # commands to the subroutine and track commands that have been completed. @commands = map(keys(%$_), @commandtable); %commands = map(%$_, @commandtable); I further edited /usr/libexec/rancid/rancid-fe thus: %vendortable = ( 'agm' => 'agmrancid', 'alteon' => 'arancid', 'arista' => 'arrancid', 'avocent' => 'avorancid', 'baynet' => 'brancid', 'ibmbnt' => 'bntrancid', And in /var/rancid/mygroup/router.db, I've added a line containing myhostname:ibmbnt:up It almost works, but something is snagging. The logs show the following: ===================================== Getting missed routers: round 1. 8052.renci.xo: End of run not found end 8264.renci.xo: End of run not found end 8052.bbn.xo: End of run not found end 8264.bbn.xo clogin error: Error: TIMEOUT reached 8264.bbn.xo: missed cmd(s): show version,write term,show running-config,show vlan 8264.bbn.xo: End of run not found ! ===================================== -- Jonathan Mills Systems Administrator Renaissance Computing Institute UNC-Chapel Hill On 04/09/2012 04:31 PM, James Baldwin wrote: > You should be able to make a copy of rancid to, for instance, bntrancid and modify the @commandtable array to only include the commands you want then add it to the %vendortable in rancid-fe. > > On Apr 9, 2012, at 3:23 PM, Jonathan Mills wrote: > >> For instance, I can confirm that I am able to login to it, and get into enable mode, using /usr/libexec/rancid/clogin. So, it's kinda like Cisco. Where it fails, is that it can't answer all the commands that rancid wants to send. I'm new to rancid, and I don't get how to manage (or filter?) the commands I want it to run. Only things I really want it to do (all of which work, when I put them on the command like ( -c ) using clogin): >> >> show version >> show boot >> show vlans >> show running-config >> >> -- >> Jonathan Mills >> Systems Administrator >> Renaissance Computing Institute >> UNC-Chapel Hill >> >> On 04/09/2012 04:07 PM, Jonathan Mills wrote: >>> Does anyone have experience using rancid with a Blade Network >>> Technologies (BNT) switch? BNT is now owned by IBM, however. Running a >>> 'show version' states the switch OS as: >>> >>> "IBM Networking Operating System RackSwitch G8052" >>> >>> Any advice would be much appreciated! >>> >> _______________________________________________ >> Rancid-discuss mailing list >> Rancid-discuss at shrubbery.net >> http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss > From jbaldwin at antinode.net Mon Apr 9 21:50:29 2012 From: jbaldwin at antinode.net (James Baldwin) Date: Mon, 9 Apr 2012 16:50:29 -0500 Subject: [rancid] BNT help? In-Reply-To: <4F83455B.8040209@renci.org> References: <4F834195.2050403@renci.org> <4F83455B.8040209@renci.org> Message-ID: <5B17DFA4-385A-4ED2-B455-4F8DAE8378C7@antinode.net> Is the shell terminator the same as a Cisco? That is, is it using a # mark or a different terminator? On Apr 9, 2012, at 3:23 PM, Jonathan Mills wrote: > For instance, I can confirm that I am able to login to it, and get into enable mode, using /usr/libexec/rancid/clogin. So, it's kinda like Cisco. Where it fails, is that it can't answer all the commands that rancid wants to send. I'm new to rancid, and I don't get how to manage (or filter?) the commands I want it to run. Only things I really want it to do (all of which work, when I put them on the command like ( -c ) using clogin): > > show version > show boot > show vlans > show running-config > > -- > Jonathan Mills > Systems Administrator > Renaissance Computing Institute > UNC-Chapel Hill > > On 04/09/2012 04:07 PM, Jonathan Mills wrote: >> Does anyone have experience using rancid with a Blade Network >> Technologies (BNT) switch? BNT is now owned by IBM, however. Running a >> 'show version' states the switch OS as: >> >> "IBM Networking Operating System RackSwitch G8052" >> >> Any advice would be much appreciated! >> > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From jonmills at renci.org Mon Apr 9 22:04:04 2012 From: jonmills at renci.org (Jonathan Mills) Date: Mon, 9 Apr 2012 22:04:04 +0000 Subject: [rancid] BNT help? In-Reply-To: <5B17DFA4-385A-4ED2-B455-4F8DAE8378C7@antinode.net> References: <4F834195.2050403@renci.org> <4F83455B.8040209@renci.org>, <5B17DFA4-385A-4ED2-B455-4F8DAE8378C7@antinode.net> Message-ID: It is using a # On Apr 9, 2012, at 5:50 PM, "James Baldwin" wrote: > Is the shell terminator the same as a Cisco? That is, is it using a # mark or a different terminator? > > On Apr 9, 2012, at 3:23 PM, Jonathan Mills wrote: > >> For instance, I can confirm that I am able to login to it, and get into enable mode, using /usr/libexec/rancid/clogin. So, it's kinda like Cisco. Where it fails, is that it can't answer all the commands that rancid wants to send. I'm new to rancid, and I don't get how to manage (or filter?) the commands I want it to run. Only things I really want it to do (all of which work, when I put them on the command like ( -c ) using clogin): >> >> show version >> show boot >> show vlans >> show running-config >> >> -- >> Jonathan Mills >> Systems Administrator >> Renaissance Computing Institute >> UNC-Chapel Hill >> >> On 04/09/2012 04:07 PM, Jonathan Mills wrote: >>> Does anyone have experience using rancid with a Blade Network >>> Technologies (BNT) switch? BNT is now owned by IBM, however. Running a >>> 'show version' states the switch OS as: >>> >>> "IBM Networking Operating System RackSwitch G8052" >>> >>> Any advice would be much appreciated! >>> >> _______________________________________________ >> Rancid-discuss mailing list >> Rancid-discuss at shrubbery.net >> http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss > From lind108 at hotmail.com Mon Apr 16 13:39:17 2012 From: lind108 at hotmail.com (Kenneth Lind) Date: Mon, 16 Apr 2012 09:39:17 -0400 Subject: [rancid] Ignore updates to "AC Revision" for Cisco uBR7200 In-Reply-To: References: Message-ID: Corrected/hushed constant updates by creating new version/copy of Rancid (rancid-noenv) which did not include the "ShowEnv" sub routine, updating rancid-fe to include new rancid version, and updating router.db to include host which was cycling "AC Revision": Hostname:rancid-noenv:up From lists at theatticnetwork.net Tue Apr 17 11:02:23 2012 From: lists at theatticnetwork.net (TAN Lists) Date: Tue, 17 Apr 2012 21:02:23 +1000 Subject: [rancid] Issue with HP Procurve 2910-48G al Message-ID: Hey All, I'm fairly new to Rancid and inherited a setup with mainly HP switches. All of them work fine but 2 new switches i just added which are HP Procurve 2910-48G al (J9147A) running version W.14.49 When i add them to RANCID i get timeout errors in the logs, but clogin works fine to log me in. A similar issue is described here http://www.gossamer-threads.com/lists/rancid/users/5203 (but its not exactly the same) In debug mode, i get a login prompt, then nothing Switches use TACACS on the same server as RANCID - all switches use SSH Troubleshooting: /usr/local/rancid/bin/clogin clswitch1 This works - logs me straight in as the RANCID user and i have full privileges and can run commands ---------------------------------------------------- /usr/local/rancid/bin/clogin -c "sh run" clswitch1 clswitch1# terminal length 0 Invalid input: 0 clswitch1# logout Error: TIMEOUT reached Then drops me back to a shell (I think this is where the whole issue lies) ---------------------------------------------------- When i add the switch to the main config of RANCID clswitch1:hp:up When i run /usr/local/rancid/bin/rancid-run i get Trying to get all of the configs. clswitch1 clogin error: Error: TIMEOUT reached clswitch1: missed cmd(s): show tech transceivers,show module,show config status,show system-inform Trying to get all of the configs. clswitch1 clogin error: Error: TIMEOUT reached ation,show system information,show stack,show version,show flash,write term,show config files clswitch1: End of run not found ; ===================================== Rinse repeat for all 4 rounds I looked into using hlogin and when specifying the password, it still hung at the enter password prompt I really could use some help on this, I've been researching all done and can't get anywhere I'm also finding that if i play with this too much, eventually the switch locks me out (SSH connection returns identification failure). If i reload it - its fine - if i dont initiate connections from RANCID its fine for over 72 hours, but the second i start doing logins through RANCID, the lockouts start - which is really weird I read some things about stacking being an issue, so i have changed the config to "no stack" (we dont need it anyway) Thoughts much appreciated guys, i look forward to your thoughts to get to the bottom of this one Thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.schmidt at wyo.gov Tue Apr 17 14:15:36 2012 From: daniel.schmidt at wyo.gov (Daniel Schmidt) Date: Tue, 17 Apr 2012 08:15:36 -0600 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: Message-ID: Off the top of my head - Perhaps you have your autoenable set wrong in cloginrc? 2012/4/17 TAN Lists : > Hey All, > > I'm fairly new to Rancid and inherited a setup with mainly HP switches. All > of them work fine but 2 new switches i just added which are HP Procurve > 2910-48G al (J9147A) running version W.14.49 > > When i add them to RANCID i get timeout errors in the logs, but clogin works > fine to log me in. > > A similar issue is described here > http://www.gossamer-threads.com/lists/rancid/users/5203 (but its not exactly > the same) > > In debug mode, i get a login prompt, then nothing > > Switches use TACACS on the same server as RANCID - all switches use SSH > > Troubleshooting: > /usr/local/rancid/bin/clogin clswitch1 > This works - logs me straight in as the RANCID user and i have full > privileges and can run commands > > ---------------------------------------------------- > > /usr/local/rancid/bin/clogin -c "sh run" clswitch1 > clswitch1# terminal length 0 > Invalid input: 0 > clswitch1# logout > Error: TIMEOUT reached > > Then drops me back to a shell (I think this is where the whole issue lies) > > ---------------------------------------------------- > > When i add the switch to the main config of RANCID > clswitch1:hp:up > > When i run /usr/local/rancid/bin/rancid-run i get > > > Trying to get all of the configs. > clswitch1 clogin error: Error: TIMEOUT reached > clswitch1: missed cmd(s): show tech transceivers,show module,show config > status,show system-inform > Trying to get all of the configs. > clswitch1 clogin error: Error: TIMEOUT reached > ation,show system information,show stack,show version,show flash,write > term,show config files > clswitch1: End of run not found > ; > ===================================== > > Rinse repeat for all 4 rounds > > I looked into using hlogin and when specifying the password, it still hung > at the enter password prompt > > I really could use some help on this, I've been researching all done and > can't get anywhere > > I'm also finding that if i play with this too much, eventually the switch > locks me out (SSH connection returns identification failure). If i reload it > - its fine - if i dont initiate connections from RANCID its fine for over 72 > hours, but the second i start doing logins through RANCID, the lockouts > start - which is really weird > > I read some things about stacking being an issue, so i have changed the > config to "no stack" (we dont need it anyway) > > Thoughts much appreciated guys, i look forward to your thoughts to get to > the bottom of this one > > Thanks > > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss E-Mail to and from me, in connection with the transaction of public business, is subject to the Wyoming Public Records Act and may be disclosed to third parties. From lists at theatticnetwork.net Tue Apr 17 22:50:31 2012 From: lists at theatticnetwork.net (TAN Lists) Date: Wed, 18 Apr 2012 08:50:31 +1000 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: Message-ID: Thanks for the ideas guys As mentioned i tried hlogin in my first post but couldn't get it to work it halted at the enter password clogin works for all our other HP gear Our .cloginrc file looks like: add user *.switchdomain.net rancid add password *.switchdomain.net add autoenable *.switchdomain.net 1 Thoughts? Thanks guys -------------- next part -------------- An HTML attachment was scrubbed... URL: From me_gogorza at hotmail.com Tue Apr 17 23:37:00 2012 From: me_gogorza at hotmail.com (Marito ...) Date: Tue, 17 Apr 2012 20:37:00 -0300 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: , Message-ID: Hi, Have you tried to login manually with the user/pass configured at .cloginrc ? Could you post the hlogin output when it gets halted ? In your previous post, you pasted the output of the logs: was it when you set up your device as "hp" ? It is supposed you should use hlogin instead of clogin when you setup the device as hp (hrancid). So it is OK that it fails, as the commands may not be the same (I've never seen an HP procurve) As for the autoenable, check whether you have full privileges or not when you log in (maybe you don't need it). Regards, Date: Wed, 18 Apr 2012 08:50:31 +1000 From: lists at theatticnetwork.net To: rancid-discuss at shrubbery.net Subject: Re: [rancid] Issue with HP Procurve 2910-48G al Thanks for the ideas guys As mentioned i tried hlogin in my first post but couldn't get it to work it halted at the enter password clogin works for all our other HP gear Our .cloginrc file looks like: add user *.switchdomain.net rancid add password *.switchdomain.net add autoenable *.switchdomain.net 1 Thoughts? Thanks guys _______________________________________________ Rancid-discuss mailing list Rancid-discuss at shrubbery.net http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at theatticnetwork.net Tue Apr 17 23:44:41 2012 From: lists at theatticnetwork.net (TAN Lists) Date: Wed, 18 Apr 2012 09:44:41 +1000 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: Message-ID: Hey guys, Thanks for the ideas I might try the patch to the hlogin and see what happens Yes i have tried logging into the device using the command in the cloginrc file and it works fine through a manual login or through clogin (as i mentioned) and i have full access to run the commands its trying to - only becomes and issue when i use hlogin or try to pass commands through clogin -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at theatticnetwork.net Wed Apr 18 08:51:21 2012 From: lists at theatticnetwork.net (TAN Lists) Date: Wed, 18 Apr 2012 18:51:21 +1000 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: Message-ID: Hey Guys, This is the output from /usr/local/rancid/bin/hlogin -f /usr/local/rancid/.cloginrc clswitch1 clswitch1 spawn hpuifilter -- telnet clswitch1 Trying 172.16.1.54... telnet: connect to address 172.16.1.54: Connection refused telnet: Unable to connect to remote host: Connection refused spawn hpuifilter -- ssh -c 3des -x -l rancid clswitch1 We'd like to keep you up to date about: * Software feature updates * New product announcements * Special events Please register your products now at: www.ProCurve.com rancid at clswitch1's password: Error: TIMEOUT reached [rancid at tacacs bin]$ Never moves beyond that I don't really want to recompile RANCID as it may mess with what is running now, would like to know it will 100% fix it before i change the code and recompile Any thoughts on whats causing this? -------------- next part -------------- An HTML attachment was scrubbed... URL: From lists at theatticnetwork.net Wed Apr 18 10:53:01 2012 From: lists at theatticnetwork.net (TAN Lists) Date: Wed, 18 Apr 2012 20:53:01 +1000 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: Message-ID: Hey guys, I recompiled the hpufilter on a test box - same issue exactly the same One thing i did find, its trying to run the command "terminal length 0" when i use clogin with a command, which is not supported on these HP's - minimum value is 2 not 0 hlogin just hangs at the password prompt Im really running out of ideas - is there any mroe debugging info i can get with these to get some more help? Please? -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonmills at renci.org Wed Apr 18 21:02:52 2012 From: jonmills at renci.org (Jonathan Mills) Date: Wed, 18 Apr 2012 17:02:52 -0400 Subject: [rancid] Rancid Script for IBM BNT Switches In-Reply-To: <20120418204557.869F9C69@control.exogeni.net> References: <20120418204557.869F9C69@control.exogeni.net> Message-ID: <4F8F2BFC.1010908@renci.org> I'm emailing the list with an update about IBM BNT switches. Specifically, the G8052 and G8264 (and maybe others). I've attached a tarball of my 'bntrancid' script, which is working just fine for me. It works with 'clogin', and I'm specifying RANCID-CONTENT-TYPE: ibmbnt to distinguish these from older BNT switches, prior to the IBM acquisition, which may have used Bladeos or other OS. The IBM BNT G8052 and G8264 run: ! version "6.8.1" switch-type "IBM Networking Operating System RackSwitch G8052" ! In my /usr/libexec/rancid/rancid-fe file, I update the %vendortable to include an entry like: 'ibmbnt' => 'bntrancid', and then, in my router.db file, I use 8052.example.com:ibmbnt:up ## ## ## One note on the script. These switches support a "strong password" mode, and if you enable it, then the root password will expire every X number of days. There's no way to prevent the expiration if you use "strong password enable". Worse, upon login, a password expiration warning dialogue will pop up, and it will break my 'bntrancid' script. I did not write any extra expect code to handle that. Upon the advice of IBM, we chose to disable the strong password enforcement mechanism. You can still choose to set a strong password, which we did ;-) ## ## ## My sincere thanks to all those who provided advice and got me moving in the right direction on this. Cheers, -- Jonathan Mills Systems Administrator Renaissance Computing Institute UNC-Chapel Hill ------------------------------------------------------------------------------- #! /usr/bin/perl ## ## $Id: rancid.in 2272 2011-01-10 20:01:58Z heas $ ## ## rancid 2.3.6 ## Copyright (c) 1997-2009 by Terrapin Communications, Inc. ## All rights reserved. ## ## This code is derived from software contributed to and maintained by ## Terrapin Communications, Inc. by Henry Kilmer, John Heasley, Andrew Partan, ## Pete Whiting, Austin Schutz, and Andrew Fort. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted provided that the following conditions ## are met: ## 1. Redistributions of source code must retain the above copyright ## notice, this list of conditions and the following disclaimer. ## 2. Redistributions in binary form must reproduce the above copyright ## notice, this list of conditions and the following disclaimer in the ## documentation and/or other materials provided with the distribution. ## 3. All advertising materials mentioning features or use of this software ## must display the following acknowledgement: ## This product includes software developed by Terrapin Communications, ## Inc. and its contributors for RANCID. ## 4. Neither the name of Terrapin Communications, Inc. nor the names of its ## contributors may be used to endorse or promote products derived from ## this software without specific prior written permission. ## 5. It is requested that non-binding fixes and modifications be contributed ## back to Terrapin Communications, Inc. ## ## THIS SOFTWARE IS PROVIDED BY Terrapin Communications, INC. AND CONTRIBUTORS ## ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED ## TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COMPANY OR CONTRIBUTORS ## BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR ## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF ## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS ## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN ## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE ## POSSIBILITY OF SUCH DAMAGE. # # RANCID - Really Awesome New Cisco confIg Differ # # usage: rancid [-dV] [-l] [-f filename | hostname] # use Getopt::Std; getopts('dflV'); if ($opt_V) { print "rancid 2.3.6\n"; exit(0); } $log = $opt_l; $debug = $opt_d; $file = $opt_f; $host = $ARGV[0]; $proc = ""; $ios = "IOS"; $clean_run = 0; $found_end = 0; $found_version = 0; $found_env = 0; $found_diag = 0; $timeo = 30; # clogin timeout in seconds my(@commandtable, %commands, @commands);# command lists my($aclsort) = ("ipsort"); # ACL sorting mode my($config_register); # configuration register value my($filter_commstr); # SNMP community string filtering my($filter_pwds); # password filtering mode # This routine is used to print out the router configuration sub ProcessHistory { my($new_hist_tag,$new_command,$command_string, at string) = (@_); if ((($new_hist_tag ne $hist_tag) || ($new_command ne $command)) && scalar(%history)) { print eval "$command \%history"; undef %history; } if (($new_hist_tag) && ($new_command) && ($command_string)) { if ($history{$command_string}) { $history{$command_string} = "$history{$command_string}@string"; } else { $history{$command_string} = "@string"; } } elsif (($new_hist_tag) && ($new_command)) { $history{++$#history} = "@string"; } else { print "@string"; } $hist_tag = $new_hist_tag; $command = $new_command; 1; } sub numerically { $a <=> $b; } # This is a sort routine that will sort numerically on the # keys of a hash as if it were a normal array. sub keynsort { local(%lines) = @_; local($i) = 0; local(@sorted_lines); foreach $key (sort numerically keys(%lines)) { $sorted_lines[$i] = $lines{$key}; $i++; } @sorted_lines; } # This is a sort routine that will sort on the # keys of a hash as if it were a normal array. sub keysort { local(%lines) = @_; local($i) = 0; local(@sorted_lines); foreach $key (sort keys(%lines)) { $sorted_lines[$i] = $lines{$key}; $i++; } @sorted_lines; } # This is a sort routine that will sort on the # values of a hash as if it were a normal array. sub valsort{ local(%lines) = @_; local($i) = 0; local(@sorted_lines); foreach $key (sort values %lines) { $sorted_lines[$i] = $key; $i++; } @sorted_lines; } # This is a numerical sort routine (ascending). sub numsort { local(%lines) = @_; local($i) = 0; local(@sorted_lines); foreach $num (sort {$a <=> $b} keys %lines) { $sorted_lines[$i] = $lines{$num}; $i++; } @sorted_lines; } # This is a sort routine that will sort on the # ip address when the ip address is anywhere in # the strings. sub ipsort { local(%lines) = @_; local($i) = 0; local(@sorted_lines); foreach $addr (sort sortbyipaddr keys %lines) { $sorted_lines[$i] = $lines{$addr}; $i++; } @sorted_lines; } # These two routines will sort based upon IP addresses sub ipaddrval { my(@a) = ($_[0] =~ m#^(\d+)\.(\d+)\.(\d+)\.(\d+)$#); $a[3] + 256 * ($a[2] + 256 * ($a[1] +256 * $a[0])); } sub sortbyipaddr { &ipaddrval($a) <=> &ipaddrval($b); } # This routine parses "show version" sub ShowVersion { print STDERR " In ShowVersion: $_" if ($debug); my($slaveslot); while () { tr/\015//d; if (/^$prompt/) { $found_version = 1; last}; next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(0) if ($found_version); # Only do this routine once return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (/^Slave in slot (\d+) is running/) { $slave = " Slave:"; $slaveslot = ", slot $1"; next; } if (/cisco ios .* IOS-XE/i) { $ios = "XE"; } if (/^Application and Content Networking .*Software/) { $type = "CE"; } # treat the ACE like the Content Engines for matching endofconfig if (/^Cisco Application Control Software/) { $type = "CE"; } if (/^Cisco Storage Area Networking Operating System/) { $type = "SAN";} if (/^Cisco Nexus Operating System/) { $type = "NXOS";} /^Application and Content Networking Software Release /i && ProcessHistory("COMMENTS","keysort","F1", "!Image: $_") && next; /^Cisco Secure PIX /i && ProcessHistory("COMMENTS","keysort","F1", "!Image: $_") && next; # ASA "time-based licenses" - eg: bot-net /^This (PIX|platform) has a time-based license that will expire in\s+(\d{2,})\s+day.*$/ && ProcessHistory("COMMENTS","keysort","D1", "!This $1 has a time-based license\n") && next; # PIX 6 fail-over license, as in "This PIX has an Unrestricted (UR) # license." PIX 7 as "his platform has ..." /^This (PIX|platform) has an?\s+(.*)$/ && ProcessHistory("COMMENTS","keysort","D1", "!$_") && next; /^(Cisco )?IOS .* Software,? \(([A-Za-z0-9_-]*)\), .*Version\s+(.*)$/ && ProcessHistory("COMMENTS","keysort","F1", "!Image:$slave Software: $2, $3\n") && next; /^([A-Za-z-0-9_]*) Synced to mainline version: (.*)$/ && ProcessHistory("COMMENTS","keysort","F2", "!Image:$slave $1 Synced to mainline version: $2\n") && next; /^Compiled (.*)$/ && ProcessHistory("COMMENTS","keysort","F3", "!Image:$slave Compiled: $1\n") && next; /^ROM: (IOS \S+ )?(System )?Bootstrap.*(Version.*)$/ && ProcessHistory("COMMENTS","keysort","G1", "!ROM Bootstrap: $3\n") && next; if (/^Hardware:\s+(.*), (.* RAM), CPU (.*)$/) { ProcessHistory("COMMENTS","keysort","A1", "!Chassis type: $1 - a PIX\n"); ProcessHistory("COMMENTS","keysort","A2", "!CPU: $3\n"); ProcessHistory("COMMENTS","keysort","B1", "!Memory: $2\n"); } /^serial number:\s+(.*)$/i && ProcessHistory("COMMENTS","keysort","C1", "!Serial Number: $1") && next; # More PIX stuff /^Encryption hardware device\s+:\s+(.*)/ && ProcessHistory("COMMENTS","keysort","A3", "!Encryption: $1\n") && next; /^running activation key\s*:\s+(.*)/i && ProcessHistory("COMMENTS","keysort","D2", "!Key: $1\n") && next; # Flash on the PIX or FWSM (FireWall Switch Module) /^Flash(\s+\S+)+ \@ 0x\S+,\s+(\S+)/ && ProcessHistory("COMMENTS","keysort","B2", "!Memory: Flash $2\n") && next; # CatOS 3500xl stuff /^system serial number\s*:\s+(.*)$/i && ProcessHistory("COMMENTS","keysort","C1", "!Serial Number: $1\n") && next; /^Model / && ProcessHistory("COMMENTS","keysort","C2", "!$_") && next; /^Motherboard / && ProcessHistory("COMMENTS","keysort","C3", "!$_") && next; /^Power supply / && ProcessHistory("COMMENTS","keysort","C4", "!$_") && next; /^Activation Key:\s+(.*)$/ && ProcessHistory("COMMENTS","keysort","C2", "!$_") && next; /^ROM: \d+ Bootstrap .*(Version.*)$/ && ProcessHistory("COMMENTS","keysort","G2", "!ROM Image: Bootstrap $1\n!\n") && next; /^ROM: .*(Version.*)$/ && ProcessHistory("COMMENTS","keysort","G3","!ROM Image: $1\n") && next; /^BOOTFLASH: .*(Version.*)$/ && ProcessHistory("COMMENTS","keysort","G4","!BOOTFLASH: $1\n") && next; /^BOOTLDR: .*(Version.*)$/ && ProcessHistory("COMMENTS","keysort","G4","!BOOTLDR: $1\n") && next; /^System image file is "([^\"]*)", booted via (\S*)/ && # removed the booted source due to # CSCdk28131: cycling info in 'sh ver' # ProcessHistory("COMMENTS","keysort","F4","!Image: booted via $2, $1\n") && ProcessHistory("COMMENTS","keysort","F4","!Image: booted $1\n") && next; /^System image file is "([^\"]*)"$/ && ProcessHistory("COMMENTS","keysort","F5","!Image: $1\n") && next; if (/(\S+(?:\sseries)?)\s+(?:\((\S+)\)\s+processor|\(revision[^)]+\)).*\s+with (\S+k) bytes/i) { $proc = $1; my($cpu) = $2; my($mem) = $3; my($device) = "router"; # the next line ought to be the more specific cpu info, grab it. # yet, some boards/IOS vers have a processor ID line between these # two. grrr. make sure we dont grab the "software" junk that # follows these lines by looking for "CPU at " or the 2600s # "processor: " unique string. there are undoubtedly many other # incantations. for a slave, we dont get this info, its just a # blank line. $_ = ; if (/processor board id/i) { my($sn); if (/processor board id (\S+)/i) { $sn = $1; $sn =~ s/,$//; ProcessHistory("COMMENTS","keysort","D9", "!Processor ID: $sn\n"); } $_ = ; } $_ = "" if (! /(cpu at |processor: |$cpu processor,)/i); tr/\015//d; s/implementation/impl/i; if ($_ !~ /^\s*$/) { chomp; s/^/, /; } if ($proc eq "CSC") { $type = "AGS"; } elsif ($proc eq "CSC4") { $type = "AGS+"; } elsif ($proc =~ /1900/) { $type = "1900"; $device = "switch"; } elsif ($proc =~ /^(AS)?25[12][12]/) { $type = "2500"; } elsif ($proc =~ /261[01]/ || $proc =~ /262[01]/ ) { $type = "2600"; } elsif ($proc =~ /WS-C29/) { $type = "2900XL"; $device = "switch"; } elsif ($proc =~ /WS-C355/) { $type = "3550"; $device = "switch"; } elsif ($proc =~ /WS-C35/) { $type = "3500XL"; $device = "switch"; } elsif ($proc =~ /^36[0246][0-9]/) { $type = "3600"; } elsif ($proc =~ /^37/) { $type = "3700"; } elsif ($proc =~ /^38/) { $type = "3800"; } elsif ($proc =~ /WS-C45/) { $type = "4500"; $device = "switch"; } elsif ( $proc =~ /^AS5300/) { $type = "AS5300"; } elsif ( $proc =~ /^AS5350/) { $type = "AS5350"; } elsif ( $proc =~ /^AS5400/) { $type = "AS5400"; } elsif ($proc =~ /6000/) { $type = "6000"; $device = "switch"; } elsif ($proc eq "WK-C65") { $type = "6500"; } elsif ($proc eq "RP") { $type = "7000"; } elsif ($proc eq "RP1") { $type = "7000"; } elsif ($proc =~ /720[246]/) { $type = "7200"; } elsif ( $proc =~ /^73/) { $type = "7300"; } elsif ($proc eq "RSP7000") { $type = "7500"; } elsif ($proc =~ /RSP\d/) { $type = "7500"; } elsif ($proc =~ /OSR-76/) { $type = "7600"; } elsif ($proc =~ /CISCO76/) { $type = "7600"; } elsif ($proc =~ /1200[48]\/(GRP|PRP)/ || $proc =~ /1201[26]\/(GRP|PRP)/) { $type = "12000"; } elsif ($proc =~ /1201[26]-8R\/(GRP|PRP)/) { $type = "12000"; } elsif ($proc =~ /1240[48]\/(GRP|PRP)/ || $proc =~ /1241[06]\/(GRP|PRP)/) { $type = "12400"; } else { $type = $proc; } print STDERR "TYPE = $type\n" if ($debug); ProcessHistory("COMMENTS","keysort","A1", "!Chassis type:$slave $proc - a $type $device\n"); ProcessHistory("COMMENTS","keysort","B1", "!Memory:$slave main $mem\n"); if (defined($cpu)) { ProcessHistory("COMMENTS","keysort","A3", "!CPU:$slave $cpu$_$slaveslot\n"); } next; } if (/(\S+) Silicon\s*Switch Processor/) { if (!defined($C0)) { $C0 = 1; ProcessHistory("COMMENTS","keysort","C0","!\n"); } ProcessHistory("COMMENTS","keysort","C2","!SSP: $1\n"); $ssp = 1; $sspmem = $1; next; } /^(\d+[kK]) bytes of multibus/ && ProcessHistory("COMMENTS","keysort","B2", "!Memory: multibus $1\n") && next; /^(\d+[kK]) bytes of (non-volatile|NVRAM)/ && ProcessHistory("COMMENTS","keysort","B3", "!Memory: nvram $1\n") && next; /^(\d+[kK]) bytes of flash memory/ && ProcessHistory("COMMENTS","keysort","B5","!Memory: flash $1\n") && next; /^(\d+[kK]) bytes of .*flash partition/ && ProcessHistory("COMMENTS","keysort","B6", "!Memory: flash partition $1\n") && next; /^(\d+[kK]) bytes of Flash internal/ && ProcessHistory("COMMENTS","keysort","B4", "!Memory: bootflash $1\n") && next; if (/^(\d+[kK]) bytes of (Flash|ATA)?.*PCMCIA .*(slot|disk) ?(\d)/i) { ProcessHistory("COMMENTS","keysort","B7", "!Memory: pcmcia $2 $3$4 $1\n"); next; } if (/^(\d+[kK]) bytes of (slot|disk)(\d)/i) { ProcessHistory("COMMENTS","keysort","B7", "!Memory: pcmcia $2$3 $1\n"); next; } if (/^WARNING/) { if (!defined($I0)) { $I0 = 1; ProcessHistory("COMMENTS","keysort","I0","!\n"); } ProcessHistory("COMMENTS","keysort","I1","! $_"); } if (/^Configuration register is (.*)$/) { $config_register = $1; next; } if (/^Configuration register on node \S+ is (.*)$/) { $config_register = $1 if (length($config_register) < 1); next; } } return(0); } # This routine parses "show redundancy" sub ShowRedundancy { print STDERR " In ShowRedundancy: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (/^Version information for secondary in slot (\d+):/) { $slave = " Slave:"; $slaveslot = ", slot $1"; next; } /^IOS .* Software \(([A-Za-z0-9_-]*)\), .*Version\s+(.*)$/ && ProcessHistory("COMMENTS","keysort","F1", "!Image:$slave Software: $1, $2\n") && next; /^Compiled (.*)$/ && ProcessHistory("COMMENTS","keysort","F3", "!Image:$slave Compiled: $1\n") && next; } return(0); } # This routine parses "show IDprom" sub ShowIDprom { my($tmp); print STDERR " In ShowIDprom: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } /FRU is .(.*)\'/ && ($tmp = $1); /Product Number = .(.*)\'/ && ProcessHistory("COMMENTS","keysort","D0", "!Catalyst Chassis type: $1, $tmp\n"); /Serial Number = .([0-9A-Za-z]+)/ && ProcessHistory("COMMENTS","keysort","D1", "!Catalyst Chassis S/N: $1\n"); /Manufacturing Assembly Number = .([-0-9]+)/ && ($tmp = $1); /Manufacturing Assembly Revision = .(.*)\'/ && ($tmp .= ", rev " . $1); /Hardware Revision = ([0-9.]+)/ && ProcessHistory("COMMENTS","keysort","D2", "!Catalyst Chassis assembly: $tmp, ver $1\n"); } return(0); } # This routine parses "show install active" sub ShowInstallActive { print STDERR " In ShowInstallActive: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/^\s*\^\s*$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } ProcessHistory("COMMENTS","keysort","F5","!Image: $_") && next; } return(0); } # This routine parses "show env all" sub ShowEnv { # Skip if this is not a 7500, 7200, or 7000. print STDERR " In ShowEnv: $_" if ($debug); while () { tr/\015//d; if (/^$prompt/) { $found_env = 1; last}; next if (/^(\s*|\s*$cmd\s*)$/); #return(1) if ($type !~ /^7/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(0) if ($found_env); # Only do this routine once return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (!defined($E0)) { $E0 = 1; ProcessHistory("COMMENTS","keysort","E0","!\n"); } if (/^Arbiter type (\d), backplane type (\S+)/) { if (!defined($C0)) { $C0 = 1; ProcessHistory("COMMENTS","keysort","C0","!\n"); } ProcessHistory("COMMENTS","keysort","C1", "!Enviromental Arbiter Type: $1\n"); ProcessHistory("COMMENTS","keysort","A2", "!Chassis type: $2 backplane\n"); next; } /^Power Supply Information$/ && next; /^\s*Power Module\s+Voltage\s+Current$/ && next; /^\s*(Power [^:\n]+)$/ && ProcessHistory("COMMENTS","keysort","E1","!Power: $1\n") && next; /^\s*(Lower Power .*)/i && ProcessHistory("COMMENTS","keysort","E2","!Power: $1\n") && next; /^\s*(redundant .*)/i && ProcessHistory("COMMENTS","keysort","E2","!Power: $1\n") && next; /^\s*(RPS is .*)/i && ProcessHistory("COMMENTS","keysort","E2","!Power: $1\n") && next; } ProcessHistory("COMMENTS","","","!\n"); return(0); } # This routine parses "show rsp chassis-info" for the rsp # This will create arrays for hw info. sub ShowRSP { print STDERR " In ShowRSP: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(-1) if (/command authorization failed/i); # return(1) if ($type !~ /^12[40]/); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } /^$/ && next; /^\s+Chassis model: (\S+)/ && ProcessHistory("COMMENTS","keysort","D1", "!RSP Chassis model: $1\n") && next; /^\s+Chassis S\/N: (.*)$/ && ProcessHistory("COMMENTS","keysort","D2", "!RSP Chassis S/N: $1\n") && next; } return(0); } # This routine parses "show gsr chassis-info" for the gsr # This will create arrays for hw info. sub ShowGSR { # Skip if this is not a 1200n. print STDERR " In ShowGSR: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(-1) if (/command authorization failed/i); # return(1) if ($type !~ /^12[40]/); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } /^$/ && next; /^\s+Chassis: type (\S+) Fab Ver: (\S+)/ && ProcessHistory("COMMENTS","keysort","D1", "!GSR Chassis type: $1 Fab Ver: $2\n") && next; /^\s+Chassis S\/N: (.*)$/ && ProcessHistory("COMMENTS","keysort","D2", "!GSR Chassis S/N: $1\n") && next; /^\s+PCA: (\S+)\s*rev: (\S+)\s*dev: \S+\s*HW ver: (\S+)$/ && ProcessHistory("COMMENTS","keysort","D3", "!GSR Backplane PCA: $1, rev $2, ver $3\n") && next; /^\s+Backplane S\/N: (\S+)$/ && ProcessHistory("COMMENTS","keysort","D4", "!GSR Backplane S/N: $1\n") && next; } ProcessHistory("COMMENTS","","","!\n"); return(0); } # This routine parses "show boot" sub ShowBoot { # Pick up boot variables if 7000/7200/7500/12000/2900/3500; # otherwise pick up bootflash. print STDERR " In ShowBoot: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/^\s*\^\s*$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(1) if (/Ambiguous command/i); return(1) if (/(Open device \S+ failed|Error opening \S+:)/); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } next if /CONFGEN variable/; if (!defined($H0)) { $H0 = 1; ProcessHistory("COMMENTS","keysort","H0","!\n"); } if ($type !~ /^(12[04]|7)/) { if ($type !~ /^(29|35)00/) { ProcessHistory("COMMENTS","keysort","H2","!BootFlash: $_"); } else { ProcessHistory("COMMENTS","keysort","H1","!Variable: $_"); } } elsif (/(variable|register)/) { ProcessHistory("COMMENTS","keysort","H1","!Variable: $_"); } } ProcessHistory("COMMENTS","","","!\n"); return(0); } # This routine parses "show flash" sub ShowFlash { # skip if this is 7000, 7200, 7500, or 12000; else we end up with # redundant data from dir /all slot0: print STDERR " In ShowFlash: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if ($type =~ /^(12[40]|7)/); return(1) if ($ios eq "XE"); return(1) if (/^\s*\^\s*$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } # Filter dhcp database next if (/dhcp_[^. ]*\.txt/); /\s+(multiple-fs|nv_hdr|vlan\.dat)$/ && next; ProcessHistory("FLASH","","","!Flash: $_"); } ProcessHistory("","","","!\n"); return; } # This routine parses "dir /all ((disk|slot)N|bootflash|nvram):" sub DirSlotN { print STDERR " In DirSlotN: $_" if ($debug); my($dev) = (/\s([^\s]+):/); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if /^\s*\^\s*$/; return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(1) if (/(No such device|Error Sending Request)/i); return(1) if (/\%Error: No such file or directory/); return(1) if (/No space information available/); # Corrupt flash /\%Error calling getdents / && ProcessHistory("FLASH","","","!Flash: $dev: $_") && next; return(-1) if (/\%Error calling/); return(-1) if (/(: device being squeezed|ATA_Status time out)/i); # busy return(-1) if (/\%Error opening \S+:\S+ \(Device or resource busy\)/i); return(-1) if (/command authorization failed/i); return(1) if (/(Open device \S+ failed|Error opening \S+:)/); # filter frequently changing files from IOX bootflash if ($dev =~ /bootflash/) { next if (/temp_cont\s*$/); next if (/uptime_cont\s*$/); } # Filter dhcp database next if (/dhcp_[^. ]*\.txt/); if ($ios eq "XE" && /.*\((\d+) bytes free\)/) { my($tmp) = $1; if ($tmp >= (1024 * 1024 * 1024)) { $tmp = int($tmp / (1024 * 1024 * 1024)); s/$1 bytes free/$tmp GB free/; } else { $tmp = int($tmp / (1024 * 1024)); s/$1 bytes free/$tmp MB free/; } } if ($ios eq "XE" && /^((\s+)?\d+\s+\S+)\s+\d+.*(tracelogs$)/) { $_ = "$1" . sprintf("%43s", "") . "$3\n"; } if ($ios eq "IOS" && /^((\s+)?\d+\s+\S+)\s+\d+.*(sflog$)/) { $_ = "$1" . sprintf("%43s", "") . "$3\n"; } # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } ProcessHistory("FLASH","","","!Flash: $dev: $_"); } ProcessHistory("","","","!\n"); return(0); } # This routine parses "show controllers" sub ShowContAll { # Skip if this is a 70[01]0, 7500, or 12000. print STDERR " In ShowContAll: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/(Invalid (input|command) detected|Type help or )/i); # return(1) if ($type =~ /^(12[40]|7[05])/); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (/^Interface ([^ \n(]*)/) { $INT = "$1, "; next; } /^(BRI unit \d)/ && ProcessHistory("INT","","","!Interface: $1\n") && next; /^LANCE unit \d, NIM/ && ProcessHistory("INT","","","!Interface: $_") && next; /^(LANCE unit \d)/ && ProcessHistory("INT","","","!Interface: $1\n") && next; /(Media Type is \S+),/ && ProcessHistory("INT","","","!\t$1\n"); if (/(M\dT[^ :]*:) show controller:$/) { my($ctlr) = $1; $_ = ; tr/\015//d; s/ subunit \d,//; ProcessHistory("INT","","","!Interface: $ctlr $_"); } if (/^(\S+) : show controller:$/) { my($ctlr) = $1; $_ = ; tr/\015//d; s/ subunit \d,//; ProcessHistory("INT","","","!Interface: $ctlr: $_"); } /^(HD unit \d), idb/ && ProcessHistory("INT","","","!Interface: $1\n") && next; /^HD unit \d, NIM/ && ProcessHistory("INT","","","!Interface: $_") && next; /^buffer size \d+ HD unit \d, (.*)/ && ProcessHistory("INT","","","!\t$1\n") && next; /^AM79970 / && ProcessHistory("INT","","","!Interface: $_") && next; /^buffer size \d+ (Universal Serial: .*)/ && ProcessHistory("INT","","","!\t$1\n") && next; /^Hardware is (.*)/ && ProcessHistory("INT","","","!Interface: $INT$1\n") && next; /^(QUICC Serial unit \d),/ && ProcessHistory("INT","","","!$1\n") && next; /^QUICC Ethernet .*/ && ProcessHistory("INT","","","!$_") && next; /^DTE .*\.$/ && ProcessHistory("INT","","","!\t$_") && next; /^(cable type :.*),/ && ProcessHistory("INT","","","!\t$1\n") && next; /^(.* cable.*), received clockrate \d+$/ && ProcessHistory("INT","","","!\t$1\n") && next; /^.* cable.*$/ && ProcessHistory("INT","","","!\t$_") && next; } return(0); } # This routine parses "show controllers cbus" # Some of this is printed out in ShowDiagbus. sub ShowContCbus { # Skip if this is not a 7000 or 7500. print STDERR " In ShowContCbus: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/(Invalid (input|command) detected|Type help or )/i); #return(1) if ($type !~ /^7[05]0/); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (/^\s*slot(\d+): ([^,]+), hw (\S+), sw (\S+), ccb/) { $slot = $1; $board{$slot} = $2; $hwver{$slot} = $3; $hwucode{$slot} = $4; } elsif (/^\s*(\S+) (\d+), hardware version (\S+), microcode version (\S+)/) { $slot = $2; $board{$slot} = $1; $hwver{$slot} = $3; $hwucode{$slot} = $4; } elsif (/(Microcode .*)/) { $ucode{$slot} = $1; } elsif (/(software loaded .*)/) { $ucode{$slot} = $1; } elsif (/(\d+) Kbytes of main memory, (\d+) Kbytes cache memory/) { $hwmemd{$slot} = $1; $hwmemc{$slot} = $2; } elsif (/byte buffers/) { chop; s/^\s*//; $hwbuf{$slot} = $_; } elsif (/Interface (\d+) - (\S+ \S+),/) { $interface = $1; ProcessHistory("HW","","", "!\n!Int $interface: in slot $slot, named $2\n"); next; } elsif (/(\d+) buffer RX queue threshold, (\d+) buffer TX queue limit, buffer size (\d+)/) { ProcessHistory("HW","","","!Int $interface: rxq $1, txq $2, bufsize $3\n"); next; } } return(0); } # This routine parses "show debug" sub ShowDebug { print STDERR " In ShowDebug: $_" if ($debug); my($lines) = 0; while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } /^No matching debug flags set$/ && next; /^No debug flags set$/ && next; ProcessHistory("COMMENTS","keysort","J1","!DEBUG: $_"); $lines++; } if ($lines) { ProcessHistory("COMMENTS","keysort","J0","!\n"); } return(0); } # This routine parses "show diagbus" # This will create arrays for hw info. sub ShowDiagbus { # Skip if this is not a 7000, 70[01]0, or 7500. print STDERR " In ShowDiagbus: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); #return(1) if ($type !~ /^7[05]/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (/^\s*Slot (\d+):/i) { $slot = $1; next; } elsif (/^\s*Slot (\d+) \(virtual\):/i) { $slot = $1; next; } elsif (/^\s*(.*Processor.*|.*controller|.*controler|.*Chassis Interface)(, FRU\s?:.*)?, HW rev (\S+), board revision (\S+)/i) { $board = $1; $hwver = $3; $boardrev = $4; if ($board =~ /Processor/) { if ($board =~ /7000 Route\/Switch/) { $board = "RSP7000"; } elsif ($board =~ /Route\/Switch Processor (\d)/) { $board = "RSP$1"; } elsif ($board =~ /Route/) { $board = "RP"; } elsif ($board =~ /Silicon Switch/) { $board = "SSP"; } elsif ($board =~ /Switch/) { $board = "SP"; $board = "SSP $sspmem" if $ssp; } elsif ($board =~ /ATM/) { $board = "AIP"; } } elsif ($board =~ /(.*) controller/i) { $board = $1; } # hwucode{$slot} defined in ShowContCbus if (defined $hwucode{$slot}) { ProcessHistory("SLOT","","","!\n!Slot $slot/$board: hvers $hwver rev $boardrev ucode $hwucode{$slot}\n"); } else { ProcessHistory("SLOT","","","!\n!Slot $slot/$board: hvers $hwver rev $boardrev\n"); } # These are also from the ShowContCbus ProcessHistory("SLOT","","","!Slot $slot/$board: $ucode{$slot}\n") if (defined $ucode{$slot}); ProcessHistory("SLOT","","","!Slot $slot/$board: memd $hwmemd{$slot}, cache $hwmemc{$slot}\n") if ((defined $hwmemd{$slot}) && (defined $hwmemc{$slot})); ProcessHistory("SLOT","","","!Slot $slot/$board: $hwbuf{$slot}\n") if (defined $hwbuf{$slot}); next; } /Serial number: (\S+)\s*Part number: (\S+)/ && ProcessHistory("SLOT","","", "!Slot $slot/$board: part $2, serial $1\n") && next; /^\s*Controller Memory Size: (.*)$/ && ProcessHistory("SLOT","","","!Slot $slot/$board: $1\n") && next; if (/PA Bay (\d) Information/) { $pano = $1; if ("PA" =~ /$board/) { ($s,$c) = split(/\//,$board); $board = "$s/$c/PA $pano"; } else { $board =~ s/\/PA \d//; $board = "$board/PA $pano"; } next; } /\s+(.*) (IP|PA), (\d) ports?,( \S+,)? (FRU\s?: )?(\S+)/ && ProcessHistory("SLOT","","","!Slot $slot/$board: type $6, $3 ports\n") && next; /\s+(.*) (IP|PA)( \(\S+\))?, (\d) ports?/ && ProcessHistory("SLOT","","","!Slot $slot/$board: type $1$3, $4 ports\n") && next; /^\s*HW rev (\S+), Board revision (\S+)/ && ProcessHistory("SLOT","","","!Slot $slot/$board: hvers $1 rev $2\n") && next; /Serial number: (\S+)\s*Part number: (\S+)/ && ProcessHistory("SLOT","","","!Slot $slot/$board: part $2, serial $1\n") && next; } return(0); } # This routine parses "show diag" for the gsr, 7200, 3700, 3600, 2600. # This will create arrays for hw info. sub ShowDiag { print STDERR " In ShowDiag: $_" if ($debug); while () { REDUX: tr/\015//d; if (/^$prompt/) { $found_diag = 1; last}; next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(0) if ($found_diag); # Only do this routine once return(-1) if (/command authorization failed/i); /^$/ && next; # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } s/Port Packet Over SONET/POS/; if (/^\s*SLOT\s+(\d+)\s+\((.*)\): (.*)/) { $slot = $1; ProcessHistory("SLOT","","","!\n"); ProcessHistory("SLOT","keysort","A","!Slot $slot: $3\n"); next; } if (/^\s*NODE\s+(\S+) : (.*)/) { $slot = $1; ProcessHistory("SLOT","","","!\n"); ProcessHistory("SLOT","keysort","A","!Slot $slot: $2\n"); next; } if (/^\s*PLIM\s+(\S+) : (.*)/) { $slot = $1 . " PLIM"; ProcessHistory("SLOT","","","!\n"); ProcessHistory("SLOT","keysort","A","!Slot $slot: $2\n"); next; } if (/^\s*RACK\s+(\S+) : (.*)/) { $slot = "Rack/" . $1; ProcessHistory("SLOT","","","!\n"); ProcessHistory("SLOT","keysort","A","!Slot $slot: $2\n"); next; } if (/^\s+MAIN:\s* type \S+,\s+(.*)/) { local($part) = $1; $_ = ; if (/^\s+(HW version|Design Release) (\S+)\s+S\/N (\S+)/i) { ProcessHistory("SLOT","keysort","AM","!Slot $slot/MAIN: part $part, serial $3\n"); ProcessHistory("SLOT","keysort","AM","!Slot $slot/MAIN: hvers $2\n"); } else { ProcessHistory("SLOT","keysort","AM","!Slot $slot/MAIN: part $part\n"); goto REDUX; } next; } if (/^\s+MAIN:\s* board type \S+$/) { $_ = ; tr/\015//d; if (/^\s+(.+)$/) { local($part) = $1; $_ = ; tr/\015//d; if (/^\s+dev (.*)$/) { local($dev) = $1; $_ = ; if (/^\s+S\/N (\S+)/) { ProcessHistory("SLOT","keysort","AM","!Slot $slot/MAIN: part $part, dev $dev, serial $1\n"); } else { ProcessHistory("SLOT","keysort","AM","!Slot $slot/MAIN: part $part, dev $dev\n"); goto REDUX; } } else { ProcessHistory("SLOT","keysort","AM","!Slot $slot/MAIN: part $part\n"); goto REDUX; } } else { goto REDUX; } next; } if (/^c3700\s+(io-board|mid-plane)/i) { $slot = $1; ProcessHistory("SLOT","","","!\n"); ProcessHistory("SLOT","keysort","A","!Slot $slot: part $1\n"); next; } if (/ Engine:\s+(.*)/) { ProcessHistory("SLOT","keysort","AE","!Slot $slot/Engine: $1\n"); } if (/FRU:\s+Linecard\/Module:\s+(\S+)/) { ProcessHistory("SLOT","keysort","AF","!Slot $slot/FRU: Linecard/Module: $1\n"); next; } if (/\s+Processor Memory:\s+(\S+)/) { ProcessHistory("SLOT","keysort","AF","!Slot $slot/FRU: Processor Memory: $1\n"); next; } if (/\s+Packet Memory:\s+(\S+)/) { ProcessHistory("SLOT","keysort","AF","!Slot $slot/FRU: Packet Memory: $1\n"); next; } if (/\s+Route Memory:\s+(\S+)/) { ProcessHistory("SLOT","keysort","AF","!Slot $slot/FRU: Route Memory: $1\n"); next; } if (/^\s+PCA:\s+(.*)/) { local($part) = $1; $_ = ; if (/^\s+(HW version|design release) (\S+)\s+S\/N (\S+)/i) { ProcessHistory("SLOT","keysort","C1","!Slot $slot/PCA: part $part, serial $3\n"); ProcessHistory("SLOT","keysort","C2","!Slot $slot/PCA: hvers $2\n"); } else { ProcessHistory("SLOT","keysort","C1","!Slot $slot/PCA: part $part\n"); goto REDUX; } next; } if (/^\s+MBUS: .*\)\s+(.*)/) { local($tmp) = "!Slot $slot/MBUS: part $1"; $_ = ; /^\s+HW version (\S+)\s+S\/N (\S+)/ && ProcessHistory("SLOT","keysort","MB1","$tmp, serial $2\n") && ProcessHistory("SLOT","keysort","MB2","!Slot $slot/MBUS: hvers $1\n"); next; } if (/^\s+MBUS Agent Software version (.*)/) { ProcessHistory("SLOT","keysort","MB3","!Slot $slot/MBUS: software $1\n"); next; } if (/^\s+PLD: (.*)/) { ProcessHistory("SLOT","keysort","P","!Slot $slot/PLD: $1\n"); next; } if (/^\s+MONLIB: (.*)/) { ProcessHistory("SLOT","keysort","Q","!Slot $slot/MONLIB: $1\n"); next; } if (/^\s+ROM Monitor version (.*)/) { ProcessHistory("SLOT","keysort","R","!Slot $slot/ROM Monitor: version $1\n"); next; } if (/^\s+ROMMON: Version (.*)/) { ProcessHistory("SLOT","keysort","R","!Slot $slot/ROMMON: version $1\n"); next; } if (/^\s+Fabric Downloader version used (.*)/) { ProcessHistory("SLOT","keysort","Z","!Slot $slot/Fabric Downloader: version $1\n"); next; } if (/^\s+DRAM size: (\d+)/) { local($dram) = $1 / 1048576; $_ = ; if (/^\s+FrFab SDRAM size: (\d+)/) { ProcessHistory("SLOT","keysort","MB4","!Slot $slot/MBUS: $dram Mbytes DRAM, " . $1 / 1024 . " Kbytes SDRAM\n"); } else { ProcessHistory("SLOT","keysort","MB4","!Slot $slot/MBUS: $dram Mbytes DRAM\n"); goto REDUX; } next; } # 7200, 3600, 2600, and 1700 stuff if (/^(Slot)\s+(\d+(\/\d+)?):/ || /^\s+(WIC|VIC|WIC\/VIC) Slot (\d):/ || /^(Encryption AIM) (\d):/) { if ($1 eq "WIC") { $WIC = "/$2"; } elsif ($1 eq "VIC") { $WIC = "/$2"; } elsif ($1 eq "WIC/VIC") { $WIC = "/$2"; } elsif ($1 eq "DSP") { $WIC = "/$2"; } elsif ($1 eq "Encryption AIM") { $slot = "$2"; undef($WIC); ProcessHistory("SLOT","","","!\n"); ProcessHistory("SLOT","keysort","B","!Slot $slot: type $1\n"); next; } else { $slot = $2; undef($WIC); } $_ = ; tr/\015//d; # clean up hideous 7200/etc formats to look more like 7500 output s/Fast-ethernet on C7200 I\/O card/FE-IO/; s/ with MII or RJ45/-TX/; s/Fast-ethernet /100Base/; s/[)(]//g; s/intermediate reach/IR/i; ProcessHistory("SLOT","","","!\n"); /\s+(.*) port adapter,?\s+(\d+)\s+/i && ProcessHistory("SLOT","keysort","B", "!Slot $slot: type $1, $2 ports\n") && next; # I/O controller with no interfaces /\s+(.*)\s+port adapter\s*$/i && ProcessHistory("SLOT","keysort","B", "!Slot $slot: type $1, 0 ports\n") && next; /\s+(.*)\s+daughter card(.*)$/ && ProcessHistory("SLOT","keysort","B", "!Slot $slot$WIC: type $1$2\n") && next; /\s+(FT1)$/ && ProcessHistory("SLOT","keysort","B", "!Slot $slot$WIC: type $1\n") && next; # AS5300/5400 handling /^Hardware is\s+(.*)$/i && ProcessHistory("SLOT","keysort","B","!Slot $slot: type $1\n") && next; /^DFC type is\s+(.*)$/i && ProcessHistory("SLOT","keysort","B","!Slot $slot: type $1\n") && next; # # handle WICs lacking "daughter card" in the 2nd line of their # show diag o/p if (defined($WIC)) { s/^\s+//; ProcessHistory("SLOT","keysort","B","!Slot $slot$WIC: type $_"); } next; } elsif (/^\s+(.* (DSP) Module) Slot (\d):/) { # The 1760 (at least) has yet another format...where it has two # dedicated DSP slots, and thus two slot 0s. my($TYPE) = $1; $WIC = "/$3"; ProcessHistory("SLOT","","","!\n"); ProcessHistory("SLOT","keysort","B", "!Slot $slot$WIC: type $TYPE\n"); next; } # yet another format. seen on 2600s w/ 12.1, but appears to be all # 12.1, including 7200s & 3700s. Sometimes the PCB serial appears # before the hardware revision. if (/(pcb serial number|hardware revision)\s+:\s+(\S+)$/i) { my($hw, $pn, $rev, $sn); if ($1 =~ /^pcb/i) { $sn = $2; } else { $hw = $2; } while () { tr/\015//d; # Sometimes "show diag" just ends while we are # trying to process this pcb stuff. Check for a # prompt so we can get out. if (/^$prompt/) { $found_diag=1; goto PerlSucks; } if (/0x..: / || /^$/) { # no effing idea why break does not work there goto PerlSucks; } if (/hardware revision\s+:\s+(\S+)/i) { $hw = $1; } if (/part number\s+:\s+(\S+)/i) { $pn = $1; } if (/board revision\s+:\s+(\S+)/i) { $rev = $1; } if (/pcb serial number\s+:\s+(\S+)/i) { $sn = $1; } # fru/pid bits, true Cisco evolving "standard", hopefully # "show inventory" will be "the way" soon. # if (/product \(fru\) number\s+:\s+(\S+)/i) { $fn = $1; } if (/product number\s+:\s+(\S+)/i) { $fn = $1; } if (/product\s+identifier\s+\(PID\)\s+:\s+(\S+)/i) { $fn = $1; } if (/fru\s+part\s+number\s+(\S+)/i) { $fn = $1; } } PerlSucks: # fru/pid bits ProcessHistory("SLOT","keysort","AG","!Slot $slot$WIC: fru $fn\n"); # ProcessHistory("SLOT","keysort","B","!Slot $slot$WIC: hvers $hw rev $rev\n"); ProcessHistory("SLOT","keysort","C","!Slot $slot$WIC: part $pn, serial $sn\n"); # If we saw the prompt, then we are done. last if $found_diag; } /revision\s+(\S+).*revision\s+(\S+)/ && ProcessHistory("SLOT","keysort","C","!Slot $slot$WIC: hvers $1 rev $2\n") && next; /number\s+(\S+)\s+Part number\s+(\S+)/ && ProcessHistory("SLOT","keysort","D","!Slot $slot$WIC: part $2, serial $1\n") && next; # AS5x00 bits /^\ Board Revision\s+(\S+),\s+Serial Number\s+(\S+),/ && ProcessHistory("SLOT","keysort","D", "!Slot $slot$WIC: rev $1, serial $2\n") && next; /^\ Board Hardware Version\s+(\S+),\s+Item Number\s+(\S+),/ && ProcessHistory("SLOT","keysort","D", "!Slot $slot$WIC: hvers $1, part $2\n") && next; /^Motherboard Info:/ && ProcessHistory("SLOT","keysort","D", "!Slot $slot$WIC: Motherboard\n") && next; # } ProcessHistory("SLOT","","","!\n"); return(0); } # This routine parses "show inventory". sub ShowInventory { print STDERR " In ShowInventory: $_" if ($debug); while () { tr/\015//d; return if (/^\s*\^$/); last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (/^(NAME: "[^"]*",) (DESCR: "[^"]+")/) { ProcessHistory("INVENTORY","","", sprintf("!%-30s %s\n", $1, $2)); next; } # split PID/VID/SN line if (/^PID: (\S*)\s*,\s*VID: (\S*)\s*,\s*SN: (\S*)\s*$/) { my($entries) = ""; $entries .= "!PID: $1\n" if ($1); $entries .= "!VID: $2\n" if ($2); $entries .= "!SN: $3\n" if ($3); ProcessHistory("INVENTORY","","", "$entries"); next; } ProcessHistory("INVENTORY","","","!$_"); } ProcessHistory("INVENTORY","","","!\n"); return(0); } # This routine parses "show module". sub ShowModule { print STDERR " In ShowModule: $_" if ($debug); my(@lines); my($slot, $pa); while () { tr/\015//d; return if (/^\s*\^$/); last if (/online diag status/i); last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } # match slot/card info line if (/^ *(\d+)\s+(\d+)\s+(.*)\s+(\S+)\s+(\S+)\s*$/) { $lines[$1 * 1000] .= "!Slot $1: type $3, $2 ports\n!Slot $1: part $4, serial $5\n"; $lines[$1 * 1000] =~ s/\s+,/,/g; next; } # now match the Revs in the second paragraph of o/p and stick it in # the array with the previous bits...grumble. if (/^ *(\d+)\s+\S+\s+to\s+\S+\s+(\S+)\s+(\S*)\s+(\S+)(\s+\S+)?\s*$/) { $lines[$1 * 1000] .= "!Slot $1: hvers $2, firmware $3, sw $4\n"; $lines[$1 * 1000] =~ s/\s+,/,/g; next; } # grab the sub-modules, if any if (/^\s+(\d+)\s(.*)\s+(\S+)\s+(\S+)\s+(\S+)\s+\S+\s*$/) { my($idx); $pa = 0 if ($1 != $slot); $slot = $1; $idx = $1 * 1000 + $1 * 10 + $pa; $lines[$idx] .= "!Slot $1/$pa: type $2\n"; $lines[$idx] .= "!Slot $slot/$pa: part $3, serial $4\n"; $lines[$idx] .= "!Slot $slot/$pa: hvers $5\n"; $pa++; } } foreach $slot (@lines) { next if ($slot =~ /^\s*$/); ProcessHistory("Module","","","$slot!\n"); } return(0); } # This routine parses "show spe version". sub ShowSpeVersion { print STDERR " In ShowSpeVersion: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if /^\s*\^\s*$/; return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(-1) if (/command authorization failed/i); ProcessHistory("MODEM","","","!Modem: $_") && next; } ProcessHistory("MODEM","","","!\n"); return(0); } # This routine parses "show c7200" for the 7200 # This will create arrays for hw info. sub ShowC7200 { # Skip if this is not a 7200. print STDERR " In ShowC7200: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if (/(Invalid (input|command) detected|Type help or )/i); #return(1) if ($type !~ /^72/); return(-1) if (/command authorization failed/i); /^$/ && next; # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (/^(C7200 )?Midplane EEPROM:/) { $_ = ; /revision\s+(\S+).*revision\s+(\S+)/; ProcessHistory("SLOT","","","!Slot Midplane: hvers $1 rev $2\n"); $_ = ; /number\s+(\S+)\s+Part number\s+(\S+)/; ProcessHistory("SLOT","","","!Slot Midplane: part $2, serial $1\n!\n"); next; } if (/C720\d(VXR)? CPU EEPROM:/) { my ($hvers,$rev,$part,$serial); # npe400s report their cpu eeprom info differently w/ 12.0.21S while () { /Hardware Revision\s+: (\S+)/ && ($hvers = $1) && next; /Board Revision\s+: (\S+)/ && ($rev = $1) && next; /Part Number\s+: (\S+)/ && ($part = $1) && next; /Serial Number\s+: (\S+)/ && ($serial = $1) && next; /revision\s+(\S+).*revision\s+(\S+)/ && ($hvers = $1, $rev = $2) && next; /number\s+(\S+)\s+Part number\s+(\S+)/ && ($serial = $1, $part = $2) && next; /^\s*$/ && last; } ProcessHistory("SLOT","","","!Slot CPU: hvers $hvers rev $rev\n"); ProcessHistory("SLOT","","","!Slot CPU: part $part, serial $serial\n!\n"); next; } } return(0); } # This routine parses "show vtp status" sub ShowVTP { print STDERR " In ShowVTP: $_" if ($debug); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if /^\s*\^\s*$/; return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); #return(1) if ($type !~ /^(2900XL|3500XL|6000)$/); return(-1) if (/command authorization failed/i); next if (/^Configuration last modified by/); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } if (/^VTP Operating Mode\s+:\s+(Transparent|Server)/) { $DO_SHOW_VLAN = 1; } ProcessHistory("COMMENTS","keysort","I0","!VTP: $_"); } ProcessHistory("COMMENTS","keysort","I0","!\n"); return(0); } # This routine parses "show vlan" sub ShowVLAN { print STDERR " In ShowVLAN: $_" if ($debug); ($_ = , return(1)) if (!$DO_SHOW_VLAN); while () { tr/\015//d; last if (/^$prompt/); next if (/^(\s*|\s*$cmd\s*)$/); return(1) if /^\s*\^\s*$/; return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(1) if (/Ambiguous command/i); return(-1) if (/command authorization failed/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } ProcessHistory("COMMENTS","keysort","IO","!VLAN: $_"); } ProcessHistory("COMMENTS","keysort","IO","!\n"); return(0); } # This routine processes a "write term" sub WriteTerm { print STDERR " In WriteTerm: $_" if ($debug); my($lineauto,$comment,$linecnt) = (0,0,0); while () { tr/\015//d; last if (/^$prompt/); return(1) if (!$linecnt && /^\s+\^\s*$/); next if (/^\s*$cmd\s*$/); return(1) if (/Line has invalid autocommand /); return(1) if (/(Invalid (input|command) detected|Type help or )/i); return(1) if (/\%Error: No such file or directory/); return(1) if (/(Open device \S+ failed|Error opening \S+:)/); return(0) if ($found_end); # Only do this routine once return(-1) if (/command authorization failed/i); return(-1) if (/% ?configuration buffer full/i); # the pager can not be disabled per-session on the PIX if (/^(<-+ More -+>)/) { my($len) = length($1); s/^$1\s{$len}//; } /^! no configuration change since last restart/i && next; # skip emtpy lines at the beginning if (!$linecnt && /^\s*$/) { next; } if (!$linecnt && defined($config_register)) { ProcessHistory("","","", "!\nconfig-register $config_register\n"); } /Non-Volatile memory is in use/ && return(-1); # NvRAM is locked /% Configuration buffer full, / && return(-1); # buffer is in use $linecnt++; $lineauto = 0 if (/^[^ ]/); # skip the crap if (/^(##+|(building|current) configuration)/i) { while () { next if (/^Current configuration\s*:/i); next if (/^:/); next if (/^([%!].*|\s*)$/); next if (/^ip add.*ipv4:/); # band-aid for 3620 12.0S last; } tr/\015//d; } # skip ASA 5520 configuration author line /^: written by /i && next; # some versions have other crap mixed in with the bits in the # block above /^! (Last configuration|NVRAM config last)/ && next; # and for the ASA /^: (Written by \S+ at|Saved)/ && next; # skip consecutive comment lines to avoid oscillating extra comment # line on some access servers. grrr. if (/^!\s*$/) { next if ($comment); ProcessHistory("","","",$_); $comment++; next; } $comment = 0; # Dog gone Cool matches to process the rest of the config /^tftp-server flash / && next; # kill any tftp remains /^ntp clock-period / && next; # kill ntp clock-period /^ length / && next; # kill length on serial lines /^ width / && next; # kill width on serial lines $lineauto = 1 if /^ modem auto/; /^ speed / && $lineauto && next; # kill speed on serial lines /^ clockrate / && next; # kill clockrate on serial interfaces if (/^(enable )?(password|passwd)( level \d+)? / && $filter_pwds >= 1) { ProcessHistory("ENABLE","","","!$1$2$3 \n"); next; } if (/^(enable secret) / && $filter_pwds >= 2) { ProcessHistory("ENABLE","","","!$1 \n"); next; } if (/^username (\S+)(\s.*)? secret /) { if ($filter_pwds >= 2) { ProcessHistory("USER","keysort","$1", "!username $1$2 secret \n"); } else { ProcessHistory("USER","keysort","$1","$_"); } next; } if (/^username (\S+)(\s.*)? password ((\d) \S+|\S+)/) { if ($filter_pwds >= 2) { ProcessHistory("USER","keysort","$1", "!username $1$2 password \n"); } elsif ($filter_pwds >= 1 && $4 ne "5"){ ProcessHistory("USER","keysort","$1", "!username $1$2 password \n"); } else { ProcessHistory("USER","keysort","$1","$_"); } next; } # cisco AP w/ IOS if (/^(wlccp \S+ username (\S+)(\s.*)? password) (\d \S+|\S+)/) { if ($filter_pwds >= 1) { ProcessHistory("USER","keysort","$2","!$1 \n"); } else { ProcessHistory("USER","keysort","$2","$_"); } next; } # filter auto "rogue ap" configuration lines /^rogue ap classify / && next; if (/^( set session-key (in|out)bound ah \d+ )/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1\n"); next; } if (/^( set session-key (in|out)bound esp \d+ (authenticator|cypher) )/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1\n"); next; } if (/^(\s*)password / && $filter_pwds >= 1) { ProcessHistory("LINE-PASS","","","!$1password \n"); next; } if (/^(\s*)secret / && $filter_pwds >= 2) { ProcessHistory("LINE-PASS","","","!$1secret \n"); next; } if (/^\s*neighbor (\S*) password / && $filter_pwds >= 1) { ProcessHistory("","","","! neighbor $1 password \n"); next; } if (/^(ppp .* password) 7 .*/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } if (/^(ip ftp password) / && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } if (/^( ip ospf authentication-key) / && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } # isis passwords appear to be completely plain-text if (/^\s+isis password (\S+)( .*)?/ && $filter_pwds >= 1) { ProcessHistory("","","","!isis password $2\n"); next; } if (/^\s+(domain-password|area-password) (\S+)( .*)?/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1 $3\n"); next; } # this is reversable, despite 'md5' in the cmd if (/^( ip ospf message-digest-key \d+ md5) / && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } # this is also reversable, despite 'md5 encrypted' in the cmd if (/^( message-digest-key \d+ md5 (7|encrypted)) / && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } if (/^((crypto )?isakmp key) \S+ / && $filter_pwds >= 1) { ProcessHistory("","","","!$1 $'"); next; } # filter HSRP passwords if (/^(\s+standby \d+ authentication) / && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } # this appears in "measurement/sla" images if (/^(\s+key-string \d?)/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } if (/^( l2tp tunnel \S+ password)/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } # i am told these are plain-text on the PIX if (/^(vpdn username (\S+) password)/) { if ($filter_pwds >= 1) { ProcessHistory("USER","keysort","$2","!$1 \n"); } else { ProcessHistory("USER","keysort","$2","$_"); } next; } # ASA/PIX keys in more system:running-config if (/^( pre-shared-key | key |failover key ).*/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1 $'"); next; } if (/(\s+ldap-login-password )\S+(.*)/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1 $'"); next; } # if (/^( cable shared-secret )/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } /fair-queue individual-limit/ && next; # sort ip explicit-paths. if (/^ip explicit-path name (\S+)/) { my($key) = $1; my($expath) = $_; while () { tr/\015//d; last if (/^$prompt/); last if (/^$prompt/ || ! /^(ip explicit-path name |[ !])/); if (/^ip explicit-path name (\S+)/) { ProcessHistory("EXPATH","keysort","$key","$expath"); $key = $1; $expath = $_; } else { $expath .= $_; } } ProcessHistory("EXPATH","keysort","$key","$expath"); } # sort route-maps if (/^route-map (\S+)/) { my($key) = $1; my($routemap) = $_; while () { tr/\015//d; last if (/^$prompt/ || ! /^(route-map |[ !])/); if (/^route-map (\S+)/) { ProcessHistory("ROUTEMAP","keysort","$key","$routemap"); $key = $1; $routemap = $_; } else { $routemap .= $_; } } ProcessHistory("ROUTEMAP","keysort","$key","$routemap"); } # filter out any RCS/CVS tags to avoid confusing local CVS storage s/\$(Revision|Id):/ $1:/; # order access-lists /^access-list\s+(\d\d?)\s+(\S+)\s+(\S+)/ && ProcessHistory("ACL $1 $2","$aclsort","$3","$_") && next; # order extended access-lists /^access-list\s+(\d\d\d)\s+(\S+)\s+ip\s+host\s+(\S+)/ && ProcessHistory("EACL $1 $2","$aclsort","$3","$_") && next; /^access-list\s+(\d\d\d)\s+(\S+)\s+ip\s+(\d\S+)/ && ProcessHistory("EACL $1 $2","$aclsort","$3","$_") && next; /^access-list\s+(\d\d\d)\s+(\S+)\s+ip\s+any/ && ProcessHistory("EACL $1 $2","$aclsort","0.0.0.0","$_") && next; # order arp lists /^arp\s+(\d+\.\d+\.\d+\.\d+)\s+/ && ProcessHistory("ARP","$aclsort","$1","$_") && next; /^ip(v6)? prefix-list\s+(\S+)\s+seq\s+(\d+)\s+(permit|deny)\s+(\S+)(\/.*)$/ && ProcessHistory("PACL $2 $4","$aclsort","$5", "ip$1 prefix-list $2 $4 $5$6\n") && next; # order logging statements /^logging (\d+\.\d+\.\d+\.\d+)/ && ProcessHistory("LOGGING","ipsort","$1","$_") && next; # order/prune snmp-server host statements # we only prune lines of the form # snmp-server host a.b.c.d if (/^snmp-server host (\d+\.\d+\.\d+\.\d+) /) { if ($filter_commstr) { my($ip) = $1; my($line) = "snmp-server host $ip"; my(@tokens) = split(' ', $'); my($token); while ($token = shift(@tokens)) { if ($token eq 'version') { $line .= " " . join(' ', ($token, shift(@tokens))); if ($token eq '3') { $line .= " " . join(' ', ($token, shift(@tokens))); } } elsif ($token eq 'vrf') { $line .= " " . join(' ', ($token, shift(@tokens))); } elsif ($token =~ /^(informs?|traps?|(no)?auth)$/) { $line .= " " . $token; } else { $line = "!$line " . join(' ', ("", join(' ', at tokens))); last; } } ProcessHistory("SNMPSERVERHOST","ipsort","$ip","$line\n"); } else { ProcessHistory("SNMPSERVERHOST","ipsort","$1","$_"); } next; } if (/^(snmp-server community) (\S+)/) { if ($filter_commstr) { ProcessHistory("SNMPSERVERCOMM","keysort","$_", "!$1 $'") && next; } else { ProcessHistory("SNMPSERVERCOMM","keysort","$_","$_") && next; } } # prune tacacs/radius server keys if (/^((tacacs|radius)-server\s(\w*[-\s(\s\S+])*\s?key) (\d )?\w+/ && $filter_pwds >= 1) { ProcessHistory("","","","!$1 $'"); next; } # order clns host statements /^clns host \S+ (\S+)/ && ProcessHistory("CLNS","keysort","$1","$_") && next; # order alias statements /^alias / && ProcessHistory("ALIAS","keysort","$_","$_") && next; # delete ntp auth password - this md5 is a reversable too if (/^(ntp authentication-key \d+ md5) / && $filter_pwds >= 1) { ProcessHistory("","","","!$1 \n"); next; } # order ntp peers/servers if (/^ntp (server|peer) (\d+)\.(\d+)\.(\d+)\.(\d+)/) { $sortkey = sprintf("$1 %03d%03d%03d%03d",$2,$3,$4,$5); ProcessHistory("NTP","keysort",$sortkey,"$_"); next; } # order ip host statements /^ip host (\S+) / && ProcessHistory("IPHOST","keysort","$1","$_") && next; # order ip nat source static statements /^ip nat (\S+) source static (\S+)/ && ProcessHistory("IP NAT $1","ipsort","$2","$_") && next; # order atm map-list statements /^\s+ip\s+(\d+\.\d+\.\d+\.\d+)\s+atm-vc/ && ProcessHistory("ATM map-list","ipsort","$1","$_") && next; # order ip rcmd lines /^ip rcmd/ && ProcessHistory("RCMD","keysort","$_","$_") && next; # system controller /^syscon address (\S*) (\S*)/ && ProcessHistory("","","","!syscon address $1 \n") && next; if (/^syscon password (\S*)/ && $filter_pwds >= 1) { ProcessHistory("","","","!syscon password \n"); next; } /^ *Cryptochecksum:/ && next; # catch anything that wasnt matched above. ProcessHistory("","","","$_"); # end of config. the ": " game is for the PIX #if (/^(: +)?end$/) { if (/^end$/) { $found_end = 1; return(0); } } # The ContentEngine lacks a definitive "end of config" marker. If we # know that it is a CE, SAN, or NXOS and we have seen at least 5 lines # of write term output, we can be reasonably sure that we got the config. if (($type == "CE" || $type == "SAN" || $type == "NXOS" ) && $linecnt > 5) { $found_end = 1; return(0); } return(0); } # dummy function sub DoNothing {print STDOUT;} # Main @commandtable = ( {'show version' => 'ShowVersion'}, {'show vlan' => 'ShowVLAN'}, {'show running-config' => 'WriteTerm'}, ); # Use an array to preserve the order of the commands and a hash for mapping # commands to the subroutine and track commands that have been completed. @commands = map(keys(%$_), @commandtable); %commands = map(%$_, @commandtable); $cisco_cmds = join(";", at commands); $cmds_regexp = join("|", map quotemeta($_), @commands); if (length($host) == 0) { if ($file) { print(STDERR "Too few arguments: file name required\n"); exit(1); } else { print(STDERR "Too few arguments: host name required\n"); exit(1); } } open(OUTPUT,">$host.new") || die "Can't open $host.new for writing: $!\n"; select(OUTPUT); # make OUTPUT unbuffered if debugging if ($debug) { $| = 1; } if ($file) { print STDERR "opening file $host\n" if ($debug); print STDOUT "opening file $host\n" if ($log); open(INPUT,"<$host") || die "open failed for $host: $!\n"; } else { print STDERR "executing clogin -t $timeo -c\"$cisco_cmds\" $host\n" if ($debug); print STDOUT "executing clogin -t $timeo -c\"$cisco_cmds\" $host\n" if ($log); if (defined($ENV{NOPIPE})) { system "clogin -t $timeo -c \"$cisco_cmds\" $host $host.raw 2>&1" || die "clogin failed for $host: $!\n"; open(INPUT, "< $host.raw") || die "clogin failed for $host: $!\n"; } else { open(INPUT,"clogin -t $timeo -c \"$cisco_cmds\" $host ) { tr/\015//d; if (/[>#]\s?exit/) { $clean_run = 1; last; } if (/^Error:/) { print STDOUT ("$host clogin error: $_"); print STDERR ("$host clogin error: $_") if ($debug); $clean_run = 0; last; } while (/[>#]\s*($cmds_regexp)\s*$/) { $cmd = $1; if (!defined($prompt)) { $prompt = ($_ =~ /^([^#>]+[#>])/)[0]; $prompt =~ s/([][}{)(\\])/\\$1/g; print STDERR ("PROMPT MATCH: $prompt\n") if ($debug); } print STDERR ("HIT COMMAND:$_") if ($debug); if (! defined($commands{$cmd})) { print STDERR "$host: found unexpected command - \"$cmd\"\n"; $clean_run = 0; last TOP; } $rval = &{$commands{$cmd}}; delete($commands{$cmd}); if ($rval == -1) { $clean_run = 0; last TOP; } } } print STDOUT "Done $logincmd: $_\n" if ($log); # Flush History ProcessHistory("","","",""); # Cleanup close(INPUT); close(OUTPUT); if (defined($ENV{NOPIPE})) { unlink("$host.raw") if (! $debug); } # check for completeness if (scalar(%commands) || !$clean_run || !$found_end) { if (scalar(%commands)) { printf(STDOUT "$host: missed cmd(s): %s\n", join(',', keys(%commands))); printf(STDERR "$host: missed cmd(s): %s\n", join(',', keys(%commands))) if ($debug); } if (!$clean_run || !$found_end) { print STDOUT "$host: End of run not found\n"; print STDERR "$host: End of run not found\n" if ($debug); system("/usr/bin/tail -1 $host.new"); } unlink "$host.new" if (! $debug); } -------------- next part -------------- A non-text attachment was scrubbed... Name: bntrancid.tar.gz Type: application/x-gzip Size: 15144 bytes Desc: bntrancid.tar.gz URL: From daniel.schmidt at wyo.gov Wed Apr 18 22:37:59 2012 From: daniel.schmidt at wyo.gov (Daniel Schmidt) Date: Wed, 18 Apr 2012 16:37:59 -0600 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: Message-ID: Works for me. Just for kicks, add an autoenable in there. bin/hlogin -autoenable -c "show cpu" yor_device 2012/4/18 TAN Lists > > Hey guys, > > I recompiled the hpufilter on a test box - same issue exactly the same > > One thing i did find, its trying to run the command "terminal length 0" when i use clogin with a command, which is not supported on these HP's - minimum value is 2 not 0 > > hlogin just hangs at the password prompt > > Im really running out of ideas - is there any mroe debugging info i can get with these to get some more help? > > Please? > > ______________________________ _________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss E-Mail to and from me, in connection with the transaction of public business, is subject to the Wyoming Public Records Act and may be disclosed to third parties. From lists at theatticnetwork.net Thu Apr 19 02:43:48 2012 From: lists at theatticnetwork.net (TAN Lists) Date: Thu, 19 Apr 2012 12:43:48 +1000 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: Message-ID: Thanks for the ideas guys. I have run them and put the output into a pastbin dump due to the lenght http://pastebin.com/g5eq4kaA I think i'm starting to see the banner is at fault - would someone mind confirming and if that is the case, how would i go about fixing it? On 19 April 2012 08:37, Daniel Schmidt wrote: > Works for me. Just for kicks, add an autoenable in there. > > bin/hlogin -autoenable -c "show cpu" yor_device > > > 2012/4/18 TAN Lists > > > > Hey guys, > > > > I recompiled the hpufilter on a test box - same issue exactly the same > > > > One thing i did find, its trying to run the command "terminal length 0" > when i use clogin with a command, which is not supported on these HP's - > minimum value is 2 not 0 > > > > hlogin just hangs at the password prompt > > > > Im really running out of ideas - is there any mroe debugging info i can > get with these to get some more help? > > > > Please? > > > > ______________________________ _________________ > > Rancid-discuss mailing list > > Rancid-discuss at shrubbery.net > > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss > E-Mail to and from me, in connection with the transaction > of public business, is subject to the Wyoming Public Records > Act and may be disclosed to third parties. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From daniel.schmidt at wyo.gov Thu Apr 19 15:37:57 2012 From: daniel.schmidt at wyo.gov (Daniel Schmidt) Date: Thu, 19 Apr 2012 09:37:57 -0600 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: Message-ID: <81f81d53836202845bca0fb5ca3f27be@mail.gmail.com> Enters password, but where?s the ?Press any key to continue?? Seems to be missing that *From:* rancid-discuss-bounces at shrubbery.net [mailto: rancid-discuss-bounces at shrubbery.net] *On Behalf Of *TAN Lists *Sent:* Wednesday, April 18, 2012 8:44 PM *To:* rancid-discuss at shrubbery.net *Subject:* Re: [rancid] Issue with HP Procurve 2910-48G al Thanks for the ideas guys. I have run them and put the output into a pastbin dump due to the lenght http://pastebin.com/g5eq4kaA I think i'm starting to see the banner is at fault - would someone mind confirming and if that is the case, how would i go about fixing it? On 19 April 2012 08:37, Daniel Schmidt wrote: Works for me. Just for kicks, add an autoenable in there. bin/hlogin -autoenable -c "show cpu" yor_device 2012/4/18 TAN Lists > > Hey guys, > > I recompiled the hpufilter on a test box - same issue exactly the same > > One thing i did find, its trying to run the command "terminal length 0" when i use clogin with a command, which is not supported on these HP's - minimum value is 2 not 0 > > hlogin just hangs at the password prompt > > Im really running out of ideas - is there any mroe debugging info i can get with these to get some more help? > > Please? > > ______________________________ _________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss E-Mail to and from me, in connection with the transaction of public business, is subject to the Wyoming Public Records Act and may be disclosed to third parties. E-Mail to and from me, in connection with the transaction of public business, is subject to the Wyoming Public Records Act and may be disclosed to third parties. -------------- next part -------------- An HTML attachment was scrubbed... URL: From me_gogorza at hotmail.com Thu Apr 19 15:52:21 2012 From: me_gogorza at hotmail.com (Marito ...) Date: Thu, 19 Apr 2012 12:52:21 -0300 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: <81f81d53836202845bca0fb5ca3f27be@mail.gmail.com> References: , , , , , , <81f81d53836202845bca0fb5ca3f27be@mail.gmail.com> Message-ID: You can try -t option to make timeout longer, maybe this is preventing from validating and accessing the shell. Another idea could be to add a \r\n when expect a result when sending the password to the device, and see what happens. Regards From: daniel.schmidt at wyo.gov Date: Thu, 19 Apr 2012 09:37:57 -0600 To: lists at theatticnetwork.net; rancid-discuss at shrubbery.net Subject: Re: [rancid] Issue with HP Procurve 2910-48G al Enters password, but where?s the ?Press any key to continue?? Seems to be missing that From: rancid-discuss-bounces at shrubbery.net [mailto:rancid-discuss-bounces at shrubbery.net] On Behalf Of TAN Lists Sent: Wednesday, April 18, 2012 8:44 PM To: rancid-discuss at shrubbery.net Subject: Re: [rancid] Issue with HP Procurve 2910-48G al Thanks for the ideas guys. I have run them and put the output into a pastbin dump due to the lenght http://pastebin.com/g5eq4kaA I think i'm starting to see the banner is at fault - would someone mind confirming and if that is the case, how would i go about fixing it? On 19 April 2012 08:37, Daniel Schmidt wrote: Works for me. Just for kicks, add an autoenable in there. bin/hlogin -autoenable -c "show cpu" yor_device 2012/4/18 TAN Lists > > Hey guys, > > I recompiled the hpufilter on a test box - same issue exactly the same > > One thing i did find, its trying to run the command "terminal length 0" when i use clogin with a command, which is not supported on these HP's - minimum value is 2 not 0 > > hlogin just hangs at the password prompt > > Im really running out of ideas - is there any mroe debugging info i can get with these to get some more help? > > Please? > > ______________________________ _________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss E-Mail to and from me, in connection with the transaction of public business, is subject to the Wyoming Public Records Act and may be disclosed to third parties. E-Mail to and from me, in connection with the transaction of public business, is subject to the Wyoming Public Records Act and may be disclosed to third parties. _______________________________________________ Rancid-discuss mailing list Rancid-discuss at shrubbery.net http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss -------------- next part -------------- An HTML attachment was scrubbed... URL: From skyeh at uidaho.edu Thu Apr 19 17:26:44 2012 From: skyeh at uidaho.edu (Skye Hagen) Date: Thu, 19 Apr 2012 10:26:44 -0700 Subject: [rancid] Change request for hlogin Message-ID: We are in the process of changing to a new TACACS server, going from Cisco ACS 4.2 to Ciasco ACS 5.3. Because of the differences between the platforms, we are treating this as a new installation, and did not try to migrate any of the data between the servers. I didn?t realize that the TACACS server supplies the text for the enable mode username and password prompt to the ProCurve switches. With ACS 4.2, either we didn?t have this set, or it was set to ?Username? and ?Password?. With ACS 5.3, the defaults are ?username? and ?password?. A subtle difference, but one that caused RANCID to stop collections on our ProCurves. This is because the default that hlogin is looking for is {"(Username|login|user name):"} I know that I can explicitly set a user prompt in .cloginrc to handle this change, but this seams like one of those things that will come back to bite me in five years, and no one will remember the details. I would prefer to stick with defaults as much as possible. Therefore, I am requesting a change to the default in hlogin to {"(\[Uu]sername|login|user name):"}. The default for the password prompt already supports upper or lower case P. I am posting this to the discussion list, in case this may be of benefit to others. Thanks, Skye. -------------- next part -------------- An HTML attachment was scrubbed... URL: From hvgeekwtrvl at gmail.com Thu Apr 19 20:34:33 2012 From: hvgeekwtrvl at gmail.com (james machado) Date: Thu, 19 Apr 2012 13:34:33 -0700 Subject: [rancid] Issue with HP Procurve 2910-48G al In-Reply-To: References: <81f81d53836202845bca0fb5ca3f27be@mail.gmail.com> Message-ID: from the pastbin: ===================== Trying 172.16.1.54... telnet: connect to address 172.16.1.54: Connection refused telnet: Unable to connect to remote host: Connection refused ===================== check your ACL's and/or communications protocols, were you expecting to use telnet or ssh? once you've done that you may also need to look at http://www.gossamer-threads.com/lists/rancid/users/6342 with your login/password prompts. james 2012/4/19 Marito ... : > You can try -t option to make timeout longer, maybe this is preventing > from?validating and accessing the shell. > Another idea could be to add a \r\n?when?expect a result when sending > the?password to the device, and see what happens. > > Regards > > ________________________________ > From: daniel.schmidt at wyo.gov > Date: Thu, 19 Apr 2012 09:37:57 -0600 > To: lists at theatticnetwork.net; rancid-discuss at shrubbery.net > > Subject: Re: [rancid] Issue with HP Procurve 2910-48G al > > Enters password, but where?s the ?Press any key to continue??? ?Seems to be > missing that > > > > From: rancid-discuss-bounces at shrubbery.net > [mailto:rancid-discuss-bounces at shrubbery.net] On Behalf Of TAN Lists > Sent: Wednesday, April 18, 2012 8:44 PM > To: rancid-discuss at shrubbery.net > Subject: Re: [rancid] Issue with HP Procurve 2910-48G al > > > > Thanks for the ideas guys. > > I have run them and put the output into a pastbin dump due to the lenght > > http://pastebin.com/g5eq4kaA > > I think i'm starting to see the banner is at fault - would someone mind > confirming and if that is the case, how would i go about fixing it? > > On 19 April 2012 08:37, Daniel Schmidt wrote: > > Works for me. ?Just for kicks, add an autoenable in there. > > bin/hlogin -autoenable -c "show cpu" yor_device > > > > 2012/4/18 TAN Lists >> >> Hey guys, >> >> I recompiled the hpufilter on a test box - same issue exactly the same >> >> One thing i did find, its trying to run the command "terminal length 0" >> when i use clogin with a command, which is not supported on these HP's - >> minimum value is 2 not 0 >> >> hlogin just hangs at the password prompt >> >> Im really running out of ideas - is there any mroe debugging info i can >> get with these to get some more help? >> >> Please? >> > >> ______________________________ _________________ > >> Rancid-discuss mailing list >> Rancid-discuss at shrubbery.net >> http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss > > E-Mail to and from me, in connection with the transaction > of public business, is subject to the Wyoming Public Records > Act and may be disclosed to third parties. > > > > E-Mail to and from me, in connection with the transaction > of public business, is subject to the Wyoming Public Records > Act and may be disclosed to third parties. > > > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss > > > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From toivo at usf.edu Mon Apr 23 15:25:27 2012 From: toivo at usf.edu (Voll, Toivo) Date: Mon, 23 Apr 2012 11:25:27 -0400 Subject: [rancid] Help with "Invalid input detected" and "End of run not found" Message-ID: We have rancid running, but it keeps failing for a large number of switches and I'm having trouble figuring out why. Not all switches of the same model and software fail, and not all the failures are with a particular model or software. It appears, based on packet captures and logs, that the switches in question for some reason don't understand the rancid issued commands. Below is a sample run, as gleaned from wireshark. Looking at the hex dump, I don't see anything wrong with commands like "show running-config" followed by 0x0d 0x0a. I can issue them from a CLI just fine. Yet the switch (Catalyst 2950) responds with "% Invalid input detected" in the rancid run. This is a fairly stock rancid install, and we haven't mucked around with the scripts or commands. Below is the output from "rancid -d" and below that the ascii dump of the corresponding Wireshark capture. I've replaced the real switchname with "problem-switch.our.domain.edu" Any pointers on what to look at or try would be welcome. -- Toivo Voll Network Engineer Information Technology Communications University of South Florida rancid -d problem-switch.our.domain.edu executing clogin -t 90 -c"show version;show redundancy secondary;show idprom backplane;show install active;show env all;show rsp chassis-info;show gsr chassis;show diag chassis-info;show boot;show bootvar;show variables boot;show flash;dir /all nvram:;dir /all bootflash:;dir /all slot0:;dir /all disk0:;dir /all slot1:;dir /all disk1:;dir /all slot2:;dir /all disk2:;dir /all harddisk:;dir /all harddiska:;dir /all harddiskb:;dir /all sup-bootdisk:;dir /all sup-bootflash:;dir /all sup-microcode:;dir /all slavenvram:;dir /all slavebootflash:;dir /all slaveslot0:;dir /all slavedisk0:;dir /all slaveslot1:;dir /all slavedisk1:;dir /all slaveslot2:;dir /all slavedisk2:;dir /all slavesup-bootflash:;dir /all sec-nvram:;dir /all sec-bootflash:;dir /all sec-slot0:;dir /all sec-disk0:;dir /all sec-slot1:;dir /all sec-disk1:;dir /all sec-slot2:;dir /all sec-disk2:;show controllers;show controllers cbus;show diagbus;show diag;show capture;show module;show spe version;show c7200;show inventory raw;show vtp status;show vlan;show vlan-switch;show debug;show shun;more system:running-config;show running-config view full;show running-config;write term" problem-switch.our.domain.edu PROMPT MATCH: problem-switch# HIT COMMAND:problem-switch#show version In ShowVersion: problem-switch#show version TYPE = 2900XL HIT COMMAND:problem-switch#show redundancy secondary In ShowRedundancy: problem-switch#show redundancy secondary HIT COMMAND:problem-switch#show idprom backplane In ShowIDprom: problem-switch#show idprom backplane HIT COMMAND:problem-switch#show install active In ShowInstallActive: problem-switch#show install active HIT COMMAND:problem-switch#show env all In ShowEnv: problem-switch#show env all HIT COMMAND:problem-switch#show rsp chassis-info In ShowRSP: problem-switch#show rsp chassis-info HIT COMMAND:problem-switch#show gsr chassis In ShowGSR: problem-switch#show gsr chassis HIT COMMAND:problem-switch#show diag chassis-info In ShowGSR: problem-switch#show diag chassis-info HIT COMMAND:problem-switch#show boot In ShowBoot: problem-switch#show boot HIT COMMAND:problem-switch#show bootvar In ShowBoot: problem-switch#show bootvar HIT COMMAND:problem-switch#show variables boot In ShowBoot: problem-switch#show variables boot HIT COMMAND:problem-switch#show flash In ShowFlash: problem-switch#show flash HIT COMMAND:problem-switch#dir /all nvram: In DirSlotN: problem-switch#dir /all nvram: HIT COMMAND:problem-switch#dir /all bootflash: In DirSlotN: problem-switch#dir /all bootflash: HIT COMMAND:problem-switch#dir /all slot0: In DirSlotN: problem-switch#dir /all slot0: HIT COMMAND:problem-switch#dir /all disk0: In DirSlotN: problem-switch#dir /all disk0: HIT COMMAND:problem-switch#dir /all slot1: In DirSlotN: problem-switch#dir /all slot1: HIT COMMAND:problem-switch#dir /all disk1: In DirSlotN: problem-switch#dir /all disk1: HIT COMMAND:problem-switch#dir /all slot2: In DirSlotN: problem-switch#dir /all slot2: HIT COMMAND:problem-switch#dir /all disk2: In DirSlotN: problem-switch#dir /all disk2: HIT COMMAND:problem-switch#dir /all harddisk: In DirSlotN: problem-switch#dir /all harddisk: HIT COMMAND:problem-switch#dir /all harddiska: In DirSlotN: problem-switch#dir /all harddiska: HIT COMMAND:problem-switch#dir /all harddiskb: In DirSlotN: problem-switch#dir /all harddiskb: HIT COMMAND:problem-switch#dir /all sup-bootdisk: In DirSlotN: problem-switch#dir /all sup-bootdisk: HIT COMMAND:problem-switch#dir /all sup-bootflash: In DirSlotN: problem-switch#dir /all sup-bootflash: HIT COMMAND:problem-switch#dir /all sup-microcode: In DirSlotN: problem-switch#dir /all sup-microcode: HIT COMMAND:problem-switch#dir /all slavenvram: In DirSlotN: problem-switch#dir /all slavenvram: HIT COMMAND:problem-switch#dir /all slavebootflash: In DirSlotN: problem-switch#dir /all slavebootflash: HIT COMMAND:problem-switch#dir /all slaveslot0: In DirSlotN: problem-switch#dir /all slaveslot0: HIT COMMAND:problem-switch#dir /all slavedisk0: In DirSlotN: problem-switch#dir /all slavedisk0: HIT COMMAND:problem-switch#dir /all slaveslot1: In DirSlotN: problem-switch#dir /all slaveslot1: HIT COMMAND:problem-switch#dir /all slavedisk1: In DirSlotN: problem-switch#dir /all slavedisk1: HIT COMMAND:problem-switch#dir /all slaveslot2: In DirSlotN: problem-switch#dir /all slaveslot2: HIT COMMAND:problem-switch#dir /all slavedisk2: In DirSlotN: problem-switch#dir /all slavedisk2: HIT COMMAND:problem-switch#dir /all slavesup-bootflash: In DirSlotN: problem-switch#dir /all slavesup-bootflash: HIT COMMAND:problem-switch#dir /all sec-nvram: In DirSlotN: problem-switch#dir /all sec-nvram: HIT COMMAND:problem-switch#dir /all sec-bootflash: In DirSlotN: problem-switch#dir /all sec-bootflash: HIT COMMAND:problem-switch#dir /all sec-slot0: In DirSlotN: problem-switch#dir /all sec-slot0: HIT COMMAND:problem-switch#dir /all sec-disk0: In DirSlotN: problem-switch#dir /all sec-disk0: HIT COMMAND:problem-switch#dir /all sec-slot1: In DirSlotN: problem-switch#dir /all sec-slot1: HIT COMMAND:problem-switch#dir /all sec-disk1: In DirSlotN: problem-switch#dir /all sec-disk1: HIT COMMAND:problem-switch#dir /all sec-slot2: In DirSlotN: problem-switch#dir /all sec-slot2: HIT COMMAND:problem-switch#dir /all sec-disk2: In DirSlotN: problem-switch#dir /all sec-disk2: HIT COMMAND:problem-switch#show controllers In ShowContAll: problem-switch#show controllers HIT COMMAND:problem-switch#show controllers cbus In ShowContCbus: problem-switch#show controllers cbus HIT COMMAND:problem-switch#show diagbus In ShowDiagbus: problem-switch#show diagbus HIT COMMAND:problem-switch#show diag In ShowDiag: problem-switch#show diag HIT COMMAND:problem-switch#show capture In ShowCapture: problem-switch#show capture HIT COMMAND:problem-switch#show module In ShowModule: problem-switch#show module HIT COMMAND:problem-switch#show spe version In ShowSpeVersion: problem-switch#show spe version HIT COMMAND:problem-switch#show c7200 In ShowC7200: problem-switch#show c7200 HIT COMMAND:problem-switch#show inventory raw In ShowInventory: problem-switch#show inventory raw HIT COMMAND:problem-switch#show vtp status In ShowVTP: problem-switch#show vtp status HIT COMMAND:problem-switch#show vlan In ShowVLAN: problem-switch#show vlan HIT COMMAND:problem-switch#show vlan-switch In ShowVLAN: problem-switch#show vlan-switch HIT COMMAND:problem-switch#show debug In ShowDebug: problem-switch#show debug HIT COMMAND:problem-switch#show shun In ShowShun: problem-switch#show shun HIT COMMAND:problem-switch#more system:running-config In WriteTerm: problem-switch#more system:running-config HIT COMMAND:problem-switch#show running-config view full In WriteTerm: problem-switch#show running-config view full HIT COMMAND:problem-switch#show running-config In WriteTerm: problem-switch#show running-config HIT COMMAND:problem-switch#write term In WriteTerm: problem-switch#write term problem-switch.our.domain.edu: End of run not found problem-switch.our.domain.edu: End of run not found ! Wiresahark: problem-switch# terminal length 0 . t e r m i n a l l e n g t h 0 problem-switch# terminal width 132 . t e r m i n a l w i d t h 1 3 2 problem-switch# show version . s h o w v e r s i o n Cisco Internetwork Operating System Software IOS (tm) C2950 Software (C2950-I6K2L2Q4-M), Version 12.1(22)EA9, RELEASE SOFTWARE (fc1) Copyright (c) 1986-2006 by cisco Systems, Inc. Compiled Fri 01-Dec-06 18:22 by weiliu Image text-base: 0x80010000, data-base: 0x8067A000 ROM: Bootstrap program is C2950 boot loader problem-switch uptime is 18 weeks, 1 day, 17 hours, 11 minutes System returned to ROM by power-on System restarted at 16:26:56 EST Sat Dec 17 2011 System image file is "flash:c2950-i6k2l2q4-mz.121-22.EA9.bin" This product contains cryptographic features and is subject to United States and local country laws governing import, export, transfer and use. Delivery of Cisco cryptographic products does not imply third-party authority to import, export, distribute or use encryption. Importers, exporters, distributors and users are responsible for compliance with U.S. and local country laws. By using this product you agree to comply with applicable laws and regulations. If you are unable to comply with U.S. and local laws, return t his product immediately. A summary of U.S. laws governing Cisco cryptographic products may be found at: http://www.cisco.com/wwl/export/crypto/tool/stqrg.html If you require further assistance please contact us by sending email to export at cisco.com. cisco WS-C2950G-48-EI (RC32300) processor (revision L0) with 19958K bytes of memory. Processor board ID FOC0746X0WR Last reset from system-reset Running Enhanced Image 48 FastEthernet/IEEE 802.3 interface(s) 2 Gigabit Ethernet/IEEE 802.3 interface(s) 32K bytes of flas h-simulated non-volatile configuration memory. Base ethernet MAC Address: 00:0E:83:26:7A:C0 Motherboard assembly number: 73-7409-12 Power supply part number: 34-0965-01 Motherboard serial number: FOC07460LLZ Power supply serial number: PHI07340GKH Model revision number: L0 Motherboard revision number: A0 Model number: WS-C2950G-48-EI System serial number: FOC0746X0WR Configuration register is 0xF problem-switch# show redundancy secondary . s h o w r e d u n d a n c y s e c o n d a r y ^ % Invalid input detected at '^' marker. problem-switch# show idprom backplane . s h o w i d p r o m b a c k p l a n e ^ % Invalid input detected at '^' marker. problem-switch# show install active . s h o w i n s t a l l a c t i v e ^ % Invalid input detected at '^' marker. problem-switch# show env all . s h o w e n v a l l FAN is OK Internal POWER supply is OK RPS is NOT present problem-switch# show rsp chassis-info . s h o w r s p c h a s s i s - i n f o ^ % Invalid input detected at '^' marker. problem-switch# show gsr chassis . s h o w g s r c h a s s i s ^ % Invalid input detected at '^' marker. problem-switch# show diag chassis-info . s h o w d i a g c h a s s i s - i n f o ^ % Invalid input detected at '^' marker. problem-switch# show boot . s h o w b o o t ^ % Invalid input detected at '^' marker. problem-switch# show bootvar . s h o w b o o t v a r ^ % Invalid input detected at '^' marker. problem-switch# show variables boot . s h o w v a r i a b l e s b o o t ^ % Invalid input detected at '^' marker. problem-switch# show flash . s h o w f l a s h Directory of flash:/ 2 -rwx 318 Feb 13 2007 08:37:42 -05:00 env_vars 3 -rwx 796 Feb 28 1993 19:00:33 -05:00 vlan.dat 4 drwx 1536 Feb 28 1993 19:00:15 -05:00 crashinfo 109 -rwx 13683 Jan 11 2012 15:28:49 -05:00 config.text 6 -rwx 1048 Jan 11 2012 15:28:49 -05:00 multiple-fs 7 -rwx 111 Feb 13 2007 08:33:10 -05:00 info 8 -rwx 3707976 Feb 13 2007 08:36:02 -05:00 c2950-i6k2l2q4-mz.121-22.EA9.bin 9 drwx 4160 Feb 13 200 7 08:36:57 -05:00 html 84 -rwx 111 Feb 13 2007 08:37:42 -05:00 info.ver 480 -rwx 2155 Jan 11 2012 15:28:49 -05:00 private-config.text 7741440 bytes total (2133504 bytes free) problem-switch# dir /all nvram: . d i r / a l l n v r a m : Translating "l"...domain server (131.247.1.40) (131.247.100.1) ^ % Invalid input detected at '^' marker. problem-switch# dir /all bootflash: . d i r / a l l b o o t f l a s h : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slot0: . d i r / a l l s l o t 0 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all disk0: . d i r / a l l d i s k 0 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slot1: . d i r / a l l s l o t 1 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all disk1: . d i r / a l l d i s k 1 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slot2: . d i r / a l l s l o t 2 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all disk2: . d i r / a l l d i s k 2 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all harddisk: . d i r / a l l h a r d d i s k : ^ % Invalid input detected at '^' marker. problem-switch# dir /all harddiska: . d i r / a l l h a r d d i s k a : ^ % Invalid input detected at '^' marker. problem-switch# dir /all harddiskb: . d i r / a l l h a r d d i s k b : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sup-bootdisk: . d i r / a l l s u p - b o o t d i s k : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sup-bootflash: . d i r / a l l s u p - b o o t f l a s h : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sup-microcode: . d i r / a l l s u p - m i c r o c o d e : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slavenvram: . d i r / a l l s l a v e n v r a m : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slavebootflash: . d i r / a l l s l a v e b o o t f l a s h : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slaveslot0: . d i r / a l l s l a v e s l o t 0 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slavedisk0: . d i r / a l l s l a v e d i s k 0 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slaveslot1: . d i r / a l l s l a v e s l o t 1 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slavedisk1: . d i r / a l l s l a v e d i s k 1 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slaveslot2: . d i r / a l l s l a v e s l o t 2 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slavedisk2: . d i r / a l l s l a v e d i s k 2 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all slavesup-bootflash: . d i r / a l l s l a v e s u p - b o o t f l a s h : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sec-nvram: . d i r / a l l s e c - n v r a m : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sec-bootflash: . d i r / a l l s e c - b o o t f l a s h : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sec-slot0: . d i r / a l l s e c - s l o t 0 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sec-disk0: . d i r / a l l s e c - d i s k 0 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sec-slot1: . d i r / a l l s e c - s l o t 1 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sec-disk1: . d i r / a l l s e c - d i s k 1 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sec-slot2: . d i r / a l l s e c - s l o t 2 : ^ % Invalid input detected at '^' marker. problem-switch# dir /all sec-disk2: . d i r / a l l s e c - d i s k 2 : ^ % Invalid input detected at '^' marker. problem-switch# show controllers . s h o w c o n t r o l l e r s HWIdb = 80E8835C Mngmnt Vlan = C82 ******* Rx Free Pool Size= 01BE ***********PCI Registers*********** CMIC_DMA_STAT = 00202008 CMIC_CONFIG = 000C2B48 CMIC_DMA_DESC0 = A0B43160 CMIC_DMA_DESC1 = A0B431F0 CMIC_DMA_DESC2 = A0B4791C CMIC_DMA_DESC3 = A0B48194 CMIC_IRQ_MASK = 0003FFC8 CMIC_IRQ_STAT = 00080025 CMIC_DMA_CTRL = 00001111 CMIC_SCHAN_CTRL = 0004B042 CMIC_DLF_REG = 0BFFFFFF ******S-Channel Registers****** EGR_BKP_DIS =00000000 MMUPORTENABLE =0BFFFFFF EPC_HOL =00000000 ******COS Related Register s****** ******For CosVal.:0 Register Values****** COS_ENABLE = 00000000 ******For CosVal.:1 Register Values****** COS_ENABLE = 00000000 ******For CosVal.:2 Register Values****** COS_ENABLE = 00000000 ******For CosVal.:3 Register Values****** COS_ENABLE = 00000000 ******Block Specific Registers****** ******For BlockNo.:0 Register Values****** EGR_ENABLE = 000000E8 EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 ******For BlockNo.:1 Register Values****** EGR_ENABLE = 000000D1 EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 ******For Blo ckNo.:2 Register Values****** EGR_ENABLE = 000000F2 EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 ******For BlockNo.:3 Register Values****** GEGR_ENABLE = 00000001 EPC_LINK =0BD2D1C8 CONFIG = 401E01D0 ******For BlockNo.:4 Register Values****** GEGR_ENABLE = 00000001 EPC_LINK =0BD2D1C8 CONFIG = 401C01D8 ******Port Specific Registers****** ******For Port No.:0 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:1 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:2 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:3 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:4 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:5 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCC COUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:6 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:7 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:8 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:9 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOU NT = 00000000 ******For Port No.:A Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:B Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:C Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:D Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:E Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:F Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:10 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:11 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:12 Register Va lues****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:13 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:14 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:15 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:16 Register Values****** FE_MAC1 = 0 0000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:17 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:18 Register Values****** GMACC1_GPIC0b = D50A1001 GMACC1_GPIC1b = D50A1001 GTH_FE_MAC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:19 Register Values****** GMACC1_GPIC0b = C40A1001 GMACC1_GPIC1b = C40A1001 GTH_FE_MAC1_GPIC0b =00000000 GTH_ FE_MAC1_GPIC1b = 00000000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ----------- Tx Queue Status -------------- Ch 1 Status = 1 Ch 2 Status = 1 Ch1 QLen=00 Ch2 QLen=00 ----------- Rx Queue Status -------------- Ch1 Status = 4 | Ch2 Status = 0 | Throttle = No Ch1 Base = A0B47F48 Ch2 Base = A0B486A0 Ch1 End = A0B48038 Ch2 End = A0B48790 Ch1 Rd Ptr = A0B47F48 Ch2 Rd Ptr = A0B48730 Ch1 Alloc Ptr = 00000000 Ch2 Alloc Ptr = 00000000 Forward Mask = 02000000 Utagged bitmap = 00000000 ------------ Error Counters -------- PCI Parity Error= 00000000 PCI Fatal Error = 00000000***********PCI Registers*********** CMIC_DMA_STAT = 00202008 CMIC_CONFIG = 000C2B48 CMIC_DMA_DESC0 = A0B43160 CMIC_DMA_DESC1 = A0B43160 CMIC_DMA_DESC2 = A0B487CC CMIC_DMA_DESC3 = A0B49404 CMIC_IRQ_MASK = 0003FFC8 CMIC_IRQ_STAT = 00080025 CMIC_DMA_CTRL = 00001111 CMIC_SCHAN_CTRL = 0004B042 CMIC_DLF_REG = 0BFFFFFF ******S-Channel Registers****** EGR_BKP_DIS =00000000 MMUPORTENABLE =0BFFFFFF EPC_HOL =00000000 ******COS Related Registers****** ******For CosVal.:0 Register Values****** COS_ENABLE = 00000000 ******For CosVal.:1 Register Values****** COS_ENABLE = 00000000 ******For CosVal.:2 Register Values****** COS_ENABLE = 00000000 ******For CosVal.:3 Register Values****** COS_ENABLE = 00000000 ******Block Specific Registers****** ******For BlockNo.:0 Register Values****** EGR_ENABLE = 000000B3 EPC_LINK =0AFE1FB3 CONFIG = 401C81D8 ******For BlockNo.:1 Register Values****** EGR_ENABLE = 0000001F EPC_LINK =0AFE1FB3 CONFI G = 401C81D8 ******For BlockNo.:2 Register Values****** EGR_ENABLE = 000000FE EPC_LINK =0AFE1FB3 CONFIG = 401C81D8 ******For BlockNo.:3 Register Values****** GEGR_ENABLE = 00000000 EPC_LINK =0AFE1FB3 CONFIG = 401C01D8 ******For BlockNo.:4 Register Values****** GEGR_ENABLE = 00000001 EPC_LINK =0AFE1FB3 CONFIG = 401E01D0 ******Port Specific Registers****** ******For Port No.:0 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:1 Register Values* ***** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:2 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:3 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:4 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:5 Register Values****** FE_MAC1 = 000000 01 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:6 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:7 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:8 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:9 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:A Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:B Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:C Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:D Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCC COUNT = 00000000 ******For Port No.:E Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:F Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:10 Register Values****** FE_MAC1 = 00000000 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:11 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ****** For Port No.:12 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:13 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:14 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:15 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:16 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C001 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:17 Register Values****** FE_MAC1 = 00000001 FE_MAC2 = 0000C000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:18 Register Values****** GMACC1_GPIC0b = C40A1001 GMACC1_GPIC1b = C40A1001 GTH_FE_MAC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ******For Port No.:19 Register Values****** GMACC1_GPIC0b = D50A1001 GMACC1_GPIC1b = D50A1001 GTH_FE_M AC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 LCCCOUNT = 00000000 GCCCOUNT = 00000000 ----------- Tx Queue Status -------------- Ch 1 Status = 1 Ch 2 Status = 1 Ch1 QLen=00 Ch2 QLen=00 ----------- Rx Queue Status -------------- Ch1 Status = 4 | Ch2 Status = 0 | Throttle = No Ch1 Base = A0B48DF8 Ch2 Base = A0B49550 Ch1 End = A0B48EE8 Ch2 End = A0B49640 Ch1 Rd Ptr = A0B48DF8 Ch2 Rd Ptr = A0B49620 Ch1 Alloc Ptr = 00000000 Ch2 Alloc Ptr = 00000000 Forward Mask = 00000000 Utagged bitmap = 00000000 ------------ Error Counters -------- PCI Parity Error= 00000000 PCI Fatal Error = 00000000 problem-switch# show controllers cbus . s h o w c o n t r o l l e r s c b u s ^ % Invalid input detected at '^' marker. problem-switch# show diagbus . s h o w d i a g b u s ^ % Invalid input detected at '^' marker. problem-switch# show diag . s h o w d i a g ^ % Invalid input detected at '^' marker. problem-switch# show capture . s h o w c a p t u r e ^ % Invalid input detected at '^' marker. problem-switch# show module . s h o w m o d u l e ^ % Invalid input detected at '^' marker. problem-switch# show spe version . s h o w s p e v e r s i o n ^ % Invalid input detected at '^' marker. problem-switch# show c7200 . s h o w c 7 2 0 0 ^ % Invalid input detected at '^' marker. problem-switch# show inventory raw . s h o w i n v e n t o r y r a w NAME: "problem-switch", DESCR: "Cisco Catalyst c2950 switch with 48 10/100 BaseTX ports and 2 GBIC (Gigabit Interface Converter) slots" PID: WS-C2950G-48-EI , VID: L0 , SN: FOC0746X0WR NAME: "FastEthernet0/1", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/2", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/3", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/4", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/5", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/6", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/7", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/8", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/9", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/10", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/11", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/12", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/13", DESCR: " 10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/14", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/15", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/16", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/17", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/18", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/19", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/20", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/21", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/22", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/23", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/24", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/25", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/26", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEtherne t0/27", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/28", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/29", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/30", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/31", DESCR: "10/100BaseTXFast Ethernet" PID: , VID : , SN: NAME: "FastEthernet0/32", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/33", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/34", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/35", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/36", DESCR: "10/100BaseTX Fast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/37", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/38", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/39", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/40", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NA ME: "FastEthernet0/41", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/42", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/43", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/44", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/45", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/46", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/47", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "FastEthernet0/48", DESCR: "10/100BaseTXFast Ethernet" PID: , VID: , SN: NAME: "GigabitEthernet0/1", DESCR: "Gigabit Ethernet" PID: , VID: , SN: NAME: "GigabitEthernet0/1", DESCR: "C opper Unshielded twisted pair gigabit ethernet port adapter" PID: GBIC_T , VID: 20 20 20 20, SN: FHH1327T184 NAME: "GigabitEthernet0/2", DESCR: "Gigabit Ethernet" PID: , VID: , SN: problem-switch# show vtp status . s h o w v t p s t a t u s VTP Version : 2 Configuration Revision : 0 Maximum VLANs supported locally : 250 Number of existing VLANs : 9 VTP Operating Mode : Transparent VTP Domain Name : Disabled VTP Pruning Mode : Enabled VTP V2 Mode : Disabled VTP Traps Generation : Enabled MD5 digest : 0xB1 0x28 0x3E 0x51 0x67 0xC2 0x6B 0x66 Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00 problem-switch# show vlan . s h o w v l a n VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Gi0/2 20 VLAN0020 active 110 VLAN0110 active 196 VLAN0196 active Fa0/1, Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6, Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11 Fa0/12, Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17, Fa0/18, Fa0/19, Fa0/ 20, Fa0/21 Fa0/22, Fa0/23, Fa0/24, Fa0/25, Fa0/26, Fa0/27, Fa0/28, Fa0/29, Fa0/30, Fa0/31 Fa0/32, Fa0/33, Fa0/34, Fa0/35, Fa0/36, Fa0/37, Fa0/38, Fa0/39, Fa0/40, Fa0/41 Fa0/42, Fa0/43, Fa0/44, Fa0/45, Fa0/46, Fa0/47 614 VLAN0614 active Fa0/48 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-def ault act/unsup 1005 trnet-default act/unsup 3202 ALC_Network_Mgmt active VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------ 1 enet 100001 1500 - - - - - 0 0 20 enet 100020 1500 - - - - - 0 0 110 enet 100110 1500 - - - - - 0 0 196 e net 100196 1500 - - - - - 0 0 614 enet 100614 1500 - - - - - 0 0 1002 fddi 101002 1500 - - - - - 0 0 1003 tr 101003 1500 - - - - - 0 0 1004 fdnet 101004 1500 - - - ieee - 0 0 1005 trnet 101005 1500 - - - ibm - 0 0 3202 enet 103202 1500 - - - - - 0 0 Remote SPAN VLANs ------------------------------------------------------------------------------ Primary Secondary Type Ports ------- --------- ----------------- ------------------------------------------ problem-switch# show vlan-switch . s h o w v l a n - s w i t c h ^ % Invalid input detected at '^' marker. problem-switch# show debug . s h o w d e b u g problem-switch# show shun . s h o w s h u n ^ % Invalid input detected at '^' marker. problem-switch# more system:running-config . m o r e s y s t e m : r u n n i n g - c o n f i g ^ % Invalid input detected at '^' marker. problem-switch# show running-config view full . s h o w r u n n i n g - c o n f i g v i e w f u l l ^ % Invalid input detected at '^' marker. problem-switch# show running-config . s h o w r u n n i n g - c o n f i g ^ % Invalid input detected at '^' marker. problem-switch# write term . w r i t e t e r m ^ % Invalid input detected at '^' marker. problem-switch# e e x x i i t t . From oscar.prieto at satec.es Mon Apr 23 15:32:56 2012 From: oscar.prieto at satec.es (=?iso-8859-1?Q?Oscar_Prieto_G=F3mez?=) Date: Mon, 23 Apr 2012 16:32:56 +0100 Subject: [rancid] arancid for Alteon AppDirector In-Reply-To: References: Message-ID: Hi, I have an equipment Alteon Radware, below: Type: AppDirector Global with Cookie Persistency Platform: OnDemand Switch VL With Rancid version 2.3.6 don?t see about /usr/local/rancid/bin --> arancid the command reference as system device-info system serial-number system sw-version system config immediate I see for other kind Alteon Switch command as /info/sys and /cfg/dump # Main @commandtable = ( {'/info/sys' => 'ShowVersion'}, {'/cfg/dump' => 'WriteTerm'} As can modified that for see new command about AppDirector There are a new version for that kind equipment. Oscar Prieto G?mez -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonmills at renci.org Mon Apr 23 16:13:54 2012 From: jonmills at renci.org (Jonathan Mills) Date: Mon, 23 Apr 2012 12:13:54 -0400 Subject: [rancid] Help with "Invalid input detected" and "End of run not found" In-Reply-To: References: Message-ID: <4F957FC2.6090302@renci.org> Manually run 'clogin', watching it connect to the switch and execute each command that you specified after the "-c" flag. At some point, you should see the ^ sign and the "Invalid input" error. This will at least show you where the expect script is messing up. As for the "End of run not found", you'll want to look at the rancid script being used. If you installed via RPM, then it will be something like /usr/libexec/rancid/rancid. Look inside that script, and you'll see two declared variables, $clean_run and $found_end. If either one evaluates false, then you'll get this "End of run not found" error. Trace each occurrence of each of those two variables, and eventually you'll find some regular expressions. Your error likely relates to one of those regex's not being quite right for your switch output (as it was in my case). If you have one switch working, and one switch not, then manually run clogin -f /path/to/.cloginrc -c "show running-config" hostname against each switch. Look carefully at how it exits. Compare with the regex used by $found_end. My guess is you'll quickly see the difference. -- Jonathan Mills Systems Administrator Renaissance Computing Institute UNC-Chapel Hill On 04/23/2012 11:25 AM, Voll, Toivo wrote: > We have rancid running, but it keeps failing for a large number of switches and I'm having trouble figuring out why. Not all switches of the same model and software fail, and not all the failures are with a particular model or software. > > It appears, based on packet captures and logs, that the switches in question for some reason don't understand the rancid issued commands. Below is a sample run, as gleaned from wireshark. > > Looking at the hex dump, I don't see anything wrong with commands like "show running-config" followed by 0x0d 0x0a. I can issue them from a CLI just fine. Yet the switch (Catalyst 2950) responds with "% Invalid input detected" in the rancid run. > > This is a fairly stock rancid install, and we haven't mucked around with the scripts or commands. > > Below is the output from "rancid -d" and below that the ascii dump of the corresponding Wireshark capture. I've replaced the real switchname with "problem-switch.our.domain.edu" > > Any pointers on what to look at or try would be welcome. > > -- > Toivo Voll > Network Engineer > Information Technology Communications > University of South Florida > > > > > > rancid -d problem-switch.our.domain.edu > executing clogin -t 90 -c"show version;show redundancy secondary;show idprom backplane;show install active;show env all;show rsp chassis-info;show gsr chassis;show diag chassis-info;show boot;show bootvar;show variables boot;show flash;dir /all nvram:;dir /all bootflash:;dir /all slot0:;dir /all disk0:;dir /all slot1:;dir /all disk1:;dir /all slot2:;dir /all disk2:;dir /all harddisk:;dir /all harddiska:;dir /all harddiskb:;dir /all sup-bootdisk:;dir /all sup-bootflash:;dir /all sup-microcode:;dir /all slavenvram:;dir /all slavebootflash:;dir /all slaveslot0:;dir /all slavedisk0:;dir /all slaveslot1:;dir /all slavedisk1:;dir /all slaveslot2:;dir /all slavedisk2:;dir /all slavesup-bootflash:;dir /all sec-nvram:;dir /all sec-bootflash:;dir /all sec-slot0:;dir /all sec-disk0:;dir /all sec-slot1:;dir /all sec-disk1:;dir /all sec-slot2:;dir /all sec-disk2:;show controllers;show controllers cbus;show diagbus;show diag;show capture;show module;show spe version;show c7200;show inven to > ry raw;show vtp status;show vlan;show vlan-switch;show debug;show shun;more system:running-config;show running-config view full;show running-config;write term" problem-switch.our.domain.edu > PROMPT MATCH: problem-switch# > HIT COMMAND:problem-switch#show version > In ShowVersion: problem-switch#show version > TYPE = 2900XL > HIT COMMAND:problem-switch#show redundancy secondary > In ShowRedundancy: problem-switch#show redundancy secondary > HIT COMMAND:problem-switch#show idprom backplane > In ShowIDprom: problem-switch#show idprom backplane > HIT COMMAND:problem-switch#show install active > In ShowInstallActive: problem-switch#show install active > HIT COMMAND:problem-switch#show env all > In ShowEnv: problem-switch#show env all > HIT COMMAND:problem-switch#show rsp chassis-info > In ShowRSP: problem-switch#show rsp chassis-info > HIT COMMAND:problem-switch#show gsr chassis > In ShowGSR: problem-switch#show gsr chassis > HIT COMMAND:problem-switch#show diag chassis-info > In ShowGSR: problem-switch#show diag chassis-info > HIT COMMAND:problem-switch#show boot > In ShowBoot: problem-switch#show boot > HIT COMMAND:problem-switch#show bootvar > In ShowBoot: problem-switch#show bootvar > HIT COMMAND:problem-switch#show variables boot > In ShowBoot: problem-switch#show variables boot > HIT COMMAND:problem-switch#show flash > In ShowFlash: problem-switch#show flash > HIT COMMAND:problem-switch#dir /all nvram: > In DirSlotN: problem-switch#dir /all nvram: > HIT COMMAND:problem-switch#dir /all bootflash: > In DirSlotN: problem-switch#dir /all bootflash: > HIT COMMAND:problem-switch#dir /all slot0: > In DirSlotN: problem-switch#dir /all slot0: > HIT COMMAND:problem-switch#dir /all disk0: > In DirSlotN: problem-switch#dir /all disk0: > HIT COMMAND:problem-switch#dir /all slot1: > In DirSlotN: problem-switch#dir /all slot1: > HIT COMMAND:problem-switch#dir /all disk1: > In DirSlotN: problem-switch#dir /all disk1: > HIT COMMAND:problem-switch#dir /all slot2: > In DirSlotN: problem-switch#dir /all slot2: > HIT COMMAND:problem-switch#dir /all disk2: > In DirSlotN: problem-switch#dir /all disk2: > HIT COMMAND:problem-switch#dir /all harddisk: > In DirSlotN: problem-switch#dir /all harddisk: > HIT COMMAND:problem-switch#dir /all harddiska: > In DirSlotN: problem-switch#dir /all harddiska: > HIT COMMAND:problem-switch#dir /all harddiskb: > In DirSlotN: problem-switch#dir /all harddiskb: > HIT COMMAND:problem-switch#dir /all sup-bootdisk: > In DirSlotN: problem-switch#dir /all sup-bootdisk: > HIT COMMAND:problem-switch#dir /all sup-bootflash: > In DirSlotN: problem-switch#dir /all sup-bootflash: > HIT COMMAND:problem-switch#dir /all sup-microcode: > In DirSlotN: problem-switch#dir /all sup-microcode: > HIT COMMAND:problem-switch#dir /all slavenvram: > In DirSlotN: problem-switch#dir /all slavenvram: > HIT COMMAND:problem-switch#dir /all slavebootflash: > In DirSlotN: problem-switch#dir /all slavebootflash: > HIT COMMAND:problem-switch#dir /all slaveslot0: > In DirSlotN: problem-switch#dir /all slaveslot0: > HIT COMMAND:problem-switch#dir /all slavedisk0: > In DirSlotN: problem-switch#dir /all slavedisk0: > HIT COMMAND:problem-switch#dir /all slaveslot1: > In DirSlotN: problem-switch#dir /all slaveslot1: > HIT COMMAND:problem-switch#dir /all slavedisk1: > In DirSlotN: problem-switch#dir /all slavedisk1: > HIT COMMAND:problem-switch#dir /all slaveslot2: > In DirSlotN: problem-switch#dir /all slaveslot2: > HIT COMMAND:problem-switch#dir /all slavedisk2: > In DirSlotN: problem-switch#dir /all slavedisk2: > HIT COMMAND:problem-switch#dir /all slavesup-bootflash: > In DirSlotN: problem-switch#dir /all slavesup-bootflash: > HIT COMMAND:problem-switch#dir /all sec-nvram: > In DirSlotN: problem-switch#dir /all sec-nvram: > HIT COMMAND:problem-switch#dir /all sec-bootflash: > In DirSlotN: problem-switch#dir /all sec-bootflash: > HIT COMMAND:problem-switch#dir /all sec-slot0: > In DirSlotN: problem-switch#dir /all sec-slot0: > HIT COMMAND:problem-switch#dir /all sec-disk0: > In DirSlotN: problem-switch#dir /all sec-disk0: > HIT COMMAND:problem-switch#dir /all sec-slot1: > In DirSlotN: problem-switch#dir /all sec-slot1: > HIT COMMAND:problem-switch#dir /all sec-disk1: > In DirSlotN: problem-switch#dir /all sec-disk1: > HIT COMMAND:problem-switch#dir /all sec-slot2: > In DirSlotN: problem-switch#dir /all sec-slot2: > HIT COMMAND:problem-switch#dir /all sec-disk2: > In DirSlotN: problem-switch#dir /all sec-disk2: > HIT COMMAND:problem-switch#show controllers > In ShowContAll: problem-switch#show controllers > HIT COMMAND:problem-switch#show controllers cbus > In ShowContCbus: problem-switch#show controllers cbus > HIT COMMAND:problem-switch#show diagbus > In ShowDiagbus: problem-switch#show diagbus > HIT COMMAND:problem-switch#show diag > In ShowDiag: problem-switch#show diag > HIT COMMAND:problem-switch#show capture > In ShowCapture: problem-switch#show capture > HIT COMMAND:problem-switch#show module > In ShowModule: problem-switch#show module > HIT COMMAND:problem-switch#show spe version > In ShowSpeVersion: problem-switch#show spe version > HIT COMMAND:problem-switch#show c7200 > In ShowC7200: problem-switch#show c7200 > HIT COMMAND:problem-switch#show inventory raw > In ShowInventory: problem-switch#show inventory raw > HIT COMMAND:problem-switch#show vtp status > In ShowVTP: problem-switch#show vtp status > HIT COMMAND:problem-switch#show vlan > In ShowVLAN: problem-switch#show vlan > HIT COMMAND:problem-switch#show vlan-switch > In ShowVLAN: problem-switch#show vlan-switch > HIT COMMAND:problem-switch#show debug > In ShowDebug: problem-switch#show debug > HIT COMMAND:problem-switch#show shun > In ShowShun: problem-switch#show shun > HIT COMMAND:problem-switch#more system:running-config > In WriteTerm: problem-switch#more system:running-config > HIT COMMAND:problem-switch#show running-config view full > In WriteTerm: problem-switch#show running-config view full > HIT COMMAND:problem-switch#show running-config > In WriteTerm: problem-switch#show running-config > HIT COMMAND:problem-switch#write term > In WriteTerm: problem-switch#write term > problem-switch.our.domain.edu: End of run not found > problem-switch.our.domain.edu: End of run not found > ! > > Wiresahark: > > problem-switch# > terminal length 0 . > t > e > r > m > i > n > a > l > > l > e > n > g > t > h > > 0 > > > problem-switch# > terminal width 132 . > t > e > r > m > i > n > a > l > > w > i > d > t > h > > 1 > 3 > 2 > > > problem-switch# > show version . > s > h > o > w > > v > e > r > s > i > o > n > > > Cisco Internetwork Operating System Software > IOS (tm) C2950 Software (C2950-I6K2L2Q4-M), Version 12.1(22)EA9, RELEASE SOFTWARE (fc1) > Copyright (c) 1986-2006 by cisco Systems, Inc. > Compiled Fri 01-Dec-06 18:22 by weiliu > Image text-base: 0x80010000, data-base: 0x8067A000 > > ROM: Bootstrap program is C2950 boot loader > > problem-switch uptime is 18 weeks, 1 day, 17 hours, 11 minutes > System returned to ROM by power-on > System restarted at 16:26:56 EST Sat Dec 17 2011 > System image file is "flash:c2950-i6k2l2q4-mz.121-22.EA9.bin" > > > > This product contains cryptographic features and is subject to United > States and local country laws governing import, export, transfer and > use. Delivery of Cisco cryptographic products does not imply > third-party authority to import, export, distribute or use encryption. > Importers, exporters, distributors and users are responsible for > compliance with U.S. and local country laws. By using this product you > agree to comply with applicable laws and regulations. If you are unable > to comply with U.S. and local laws, return t > his product immediately. > > A summary of U.S. laws governing Cisco cryptographic products may be found at: > http://www.cisco.com/wwl/export/crypto/tool/stqrg.html > > If you require further assistance please contact us by sending email to > export at cisco.com. > > cisco WS-C2950G-48-EI (RC32300) processor (revision L0) with 19958K bytes of memory. > Processor board ID FOC0746X0WR > Last reset from system-reset > Running Enhanced Image > 48 FastEthernet/IEEE 802.3 interface(s) > 2 Gigabit Ethernet/IEEE 802.3 interface(s) > > 32K bytes of flas > h-simulated non-volatile configuration memory. > Base ethernet MAC Address: 00:0E:83:26:7A:C0 > Motherboard assembly number: 73-7409-12 > Power supply part number: 34-0965-01 > Motherboard serial number: FOC07460LLZ > Power supply serial number: PHI07340GKH > Model revision number: L0 > Motherboard revision number: A0 > Model number: WS-C2950G-48-EI > System serial number: FOC0746X0WR > Configuration register is 0xF > > problem-switch# > show redundancy secondary . > s > h > o > w > > r > e > d > u > n > d > a > n > c > y > > s > e > c > o > n > d > a > r > y > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show idprom backplane . > s > h > o > w > > i > d > p > r > o > m > > b > a > c > k > p > l > a > n > e > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show install active . > s > h > o > w > > i > n > s > t > a > l > l > > a > c > t > i > v > e > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show env all . > s > h > o > w > > e > n > v > > a > l > l > > > FAN is OK > Internal POWER supply is OK > RPS is NOT present > > problem-switch# > show rsp chassis-info . > s > h > o > w > > r > s > p > > c > h > a > s > s > i > s > - > i > n > f > o > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show gsr chassis . > s > h > o > w > > g > s > r > > c > h > a > s > s > i > s > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show diag chassis-info . > s > h > o > w > > d > i > a > g > > c > h > a > s > s > i > s > - > i > n > f > o > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show boot . > s > h > o > w > > b > o > o > t > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show bootvar . > s > h > o > w > > b > o > o > t > v > a > r > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show variables boot . > s > h > o > w > > v > a > r > i > a > b > l > e > s > > b > o > o > t > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show flash . > s > h > o > w > > f > l > a > s > h > > > > Directory of flash:/ > > 2 -rwx 318 Feb 13 2007 08:37:42 -05:00 env_vars > 3 -rwx 796 Feb 28 1993 19:00:33 -05:00 vlan.dat > 4 drwx 1536 Feb 28 1993 19:00:15 -05:00 crashinfo > 109 -rwx 13683 Jan 11 2012 15:28:49 -05:00 config.text > 6 -rwx 1048 Jan 11 2012 15:28:49 -05:00 multiple-fs > 7 -rwx 111 Feb 13 2007 08:33:10 -05:00 info > 8 -rwx 3707976 Feb 13 2007 08:36:02 -05:00 c2950-i6k2l2q4-mz.121-22.EA9.bin > 9 drwx 4160 Feb 13 200 > 7 08:36:57 -05:00 html > 84 -rwx 111 Feb 13 2007 08:37:42 -05:00 info.ver > 480 -rwx 2155 Jan 11 2012 15:28:49 -05:00 private-config.text > > 7741440 bytes total (2133504 bytes free) > problem-switch# > dir /all nvram: . > d > i > r > > / > a > l > l > > n > v > r > a > m > : > > > Translating "l"...domain server > (131.247.1.40) > (131.247.100.1) > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all bootflash: . > d > i > r > > / > a > l > l > > b > o > o > t > f > l > a > s > h > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slot0: . > d > i > r > > / > a > l > l > > s > l > o > t > 0 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all disk0: . > d > i > r > > / > a > l > l > > d > i > s > k > 0 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slot1: . > d > i > r > > / > a > l > l > > s > l > o > t > 1 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all disk1: . > d > i > r > > / > a > l > l > > d > i > s > k > 1 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slot2: . > d > i > r > > / > a > l > l > > s > l > o > t > 2 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all disk2: . > d > i > r > > / > a > l > l > > d > i > s > k > 2 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all harddisk: . > d > i > r > > / > a > l > l > > h > a > r > d > d > i > s > k > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all harddiska: . > d > i > r > > / > a > l > l > > h > a > r > d > d > i > s > k > a > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all harddiskb: . > d > i > r > > / > a > l > l > > h > a > r > d > d > i > s > k > b > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sup-bootdisk: . > d > i > r > > / > a > l > l > > s > u > p > - > b > o > o > t > d > i > s > k > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sup-bootflash: . > d > i > r > > / > a > l > l > > s > u > p > - > b > o > o > t > f > l > a > s > h > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sup-microcode: . > d > i > r > > / > a > l > l > > s > u > p > - > m > i > c > r > o > c > o > d > e > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slavenvram: . > d > i > r > > / > a > l > l > > s > l > a > v > e > n > v > r > a > m > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slavebootflash: . > d > i > r > > / > a > l > l > > s > l > a > v > e > b > o > o > t > f > l > a > s > h > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slaveslot0: . > d > i > r > > / > a > l > l > > s > l > a > v > e > s > l > o > t > 0 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slavedisk0: . > d > i > r > > / > a > l > l > > s > l > a > v > e > d > i > s > k > 0 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slaveslot1: . > d > i > r > > / > a > l > l > > s > l > a > v > e > s > l > o > t > 1 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slavedisk1: . > d > i > r > > / > a > l > l > > s > l > a > v > e > d > i > s > k > 1 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slaveslot2: . > d > i > r > > / > a > l > l > > s > l > a > v > e > s > l > o > t > 2 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slavedisk2: . > d > i > r > > / > a > l > l > > s > l > a > v > e > d > i > s > k > 2 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all slavesup-bootflash: . > d > i > r > > / > a > l > l > > s > l > a > v > e > s > u > p > - > b > o > o > t > f > l > a > s > h > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sec-nvram: . > d > i > r > > / > a > l > l > > s > e > c > - > n > v > r > a > m > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sec-bootflash: . > d > i > r > > / > a > l > l > > s > e > c > - > b > o > o > t > f > l > a > s > h > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sec-slot0: . > d > i > r > > / > a > l > l > > s > e > c > - > s > l > o > t > 0 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sec-disk0: . > d > i > r > > / > a > l > l > > s > e > c > - > d > i > s > k > 0 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sec-slot1: . > d > i > r > > / > a > l > l > > s > e > c > - > s > l > o > t > 1 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sec-disk1: . > d > i > r > > / > a > l > l > > s > e > c > - > d > i > s > k > 1 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sec-slot2: . > d > i > r > > / > a > l > l > > s > e > c > - > s > l > o > t > 2 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > dir /all sec-disk2: . > d > i > r > > / > a > l > l > > s > e > c > - > d > i > s > k > 2 > : > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show controllers . > s > h > o > w > > c > o > n > t > r > o > l > l > e > r > s > > > HWIdb = 80E8835C Mngmnt Vlan = C82 ******* > Rx Free Pool Size= 01BE > ***********PCI Registers*********** > CMIC_DMA_STAT = 00202008 CMIC_CONFIG = 000C2B48 > CMIC_DMA_DESC0 = A0B43160 CMIC_DMA_DESC1 = A0B431F0 > CMIC_DMA_DESC2 = A0B4791C CMIC_DMA_DESC3 = A0B48194 > CMIC_IRQ_MASK = 0003FFC8 CMIC_IRQ_STAT = 00080025 > CMIC_DMA_CTRL = 00001111 CMIC_SCHAN_CTRL = 0004B042 > CMIC_DLF_REG = 0BFFFFFF > > ******S-Channel Registers****** > EGR_BKP_DIS =00000000 MMUPORTENABLE =0BFFFFFF EPC_HOL =00000000 > > ******COS Related Register > s****** > ******For CosVal.:0 Register Values****** > COS_ENABLE = 00000000 > ******For CosVal.:1 Register Values****** > COS_ENABLE = 00000000 > ******For CosVal.:2 Register Values****** > COS_ENABLE = 00000000 > ******For CosVal.:3 Register Values****** > COS_ENABLE = 00000000 > > ******Block Specific Registers****** > ******For BlockNo.:0 Register Values****** > EGR_ENABLE = 000000E8 > EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 > ******For BlockNo.:1 Register Values****** > EGR_ENABLE = 000000D1 > EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 > ******For Blo > ckNo.:2 Register Values****** > EGR_ENABLE = 000000F2 > EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 > ******For BlockNo.:3 Register Values****** > GEGR_ENABLE = 00000001 > EPC_LINK =0BD2D1C8 CONFIG = 401E01D0 > ******For BlockNo.:4 Register Values****** > GEGR_ENABLE = 00000001 > EPC_LINK =0BD2D1C8 CONFIG = 401C01D8 > > ******Port Specific Registers****** > ******For Port No.:0 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:1 Register Values****** > FE_MAC1 = 00000000 > FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:2 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:3 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:4 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:5 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCC > COUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:6 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:7 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:8 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:9 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOU > NT = 00000000 > ******For Port No.:A Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:B Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:C Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:D Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For > Port No.:E Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:F Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:10 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:11 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:12 Register Va > lues****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:13 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:14 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:15 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:16 Register Values****** > FE_MAC1 = 0 > 0000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:17 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:18 Register Values****** > GMACC1_GPIC0b = D50A1001 GMACC1_GPIC1b = D50A1001 > GTH_FE_MAC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:19 Register Values****** > GMACC1_GPIC0b = C40A1001 GMACC1_GPIC1b = C40A1001 > GTH_FE_MAC1_GPIC0b =00000000 GTH_ > FE_MAC1_GPIC1b = 00000000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ----------- Tx Queue Status -------------- > Ch 1 Status = 1 Ch 2 Status = 1 > Ch1 QLen=00 Ch2 QLen=00 > ----------- Rx Queue Status -------------- > Ch1 Status = 4 | Ch2 Status = 0 | Throttle = No > Ch1 Base = A0B47F48 Ch2 Base = A0B486A0 > Ch1 End = A0B48038 Ch2 End = A0B48790 > Ch1 Rd Ptr = A0B47F48 Ch2 Rd Ptr = A0B48730 > Ch1 Alloc Ptr = 00000000 Ch2 Alloc Ptr = 00000000 > Forward Mask = 02000000 Utagged bitmap = 00000000 > > > ------------ Error Counters -------- > PCI Parity Error= 00000000 PCI Fatal Error = 00000000***********PCI Registers*********** > CMIC_DMA_STAT = 00202008 CMIC_CONFIG = 000C2B48 > CMIC_DMA_DESC0 = A0B43160 CMIC_DMA_DESC1 = A0B43160 > CMIC_DMA_DESC2 = A0B487CC CMIC_DMA_DESC3 = A0B49404 > CMIC_IRQ_MASK = 0003FFC8 CMIC_IRQ_STAT = 00080025 > CMIC_DMA_CTRL = 00001111 CMIC_SCHAN_CTRL = 0004B042 > CMIC_DLF_REG = 0BFFFFFF > > ******S-Channel Registers****** > EGR_BKP_DIS =00000000 MMUPORTENABLE =0BFFFFFF EPC_HOL =00000000 > > > ******COS Related Registers****** > ******For CosVal.:0 Register Values****** > COS_ENABLE = 00000000 > ******For CosVal.:1 Register Values****** > COS_ENABLE = 00000000 > ******For CosVal.:2 Register Values****** > COS_ENABLE = 00000000 > ******For CosVal.:3 Register Values****** > COS_ENABLE = 00000000 > > ******Block Specific Registers****** > ******For BlockNo.:0 Register Values****** > EGR_ENABLE = 000000B3 > EPC_LINK =0AFE1FB3 CONFIG = 401C81D8 > ******For BlockNo.:1 Register Values****** > EGR_ENABLE = 0000001F > EPC_LINK =0AFE1FB3 CONFI > G = 401C81D8 > ******For BlockNo.:2 Register Values****** > EGR_ENABLE = 000000FE > EPC_LINK =0AFE1FB3 CONFIG = 401C81D8 > ******For BlockNo.:3 Register Values****** > GEGR_ENABLE = 00000000 > EPC_LINK =0AFE1FB3 CONFIG = 401C01D8 > ******For BlockNo.:4 Register Values****** > GEGR_ENABLE = 00000001 > EPC_LINK =0AFE1FB3 CONFIG = 401E01D0 > > ******Port Specific Registers****** > ******For Port No.:0 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:1 Register Values* > ***** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:2 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:3 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:4 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:5 Register Values****** > FE_MAC1 = 000000 > 01 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:6 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:7 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:8 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:9 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:A Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:B Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:C Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:D Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCC > COUNT = 00000000 > ******For Port No.:E Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:F Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:10 Register Values****** > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:11 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ****** > For Port No.:12 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:13 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:14 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:15 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:16 Register > Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:17 Register Values****** > FE_MAC1 = 00000001 FE_MAC2 = 0000C000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:18 Register Values****** > GMACC1_GPIC0b = C40A1001 GMACC1_GPIC1b = C40A1001 > GTH_FE_MAC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ******For Port No.:19 Register Values****** > GMACC1_GPIC0b = D50A1001 GMACC1_GPIC1b = D50A1001 > GTH_FE_M > AC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > ----------- Tx Queue Status -------------- > Ch 1 Status = 1 Ch 2 Status = 1 > Ch1 QLen=00 Ch2 QLen=00 > ----------- Rx Queue Status -------------- > Ch1 Status = 4 | Ch2 Status = 0 | Throttle = No > Ch1 Base = A0B48DF8 Ch2 Base = A0B49550 > Ch1 End = A0B48EE8 Ch2 End = A0B49640 > Ch1 Rd Ptr = A0B48DF8 Ch2 Rd Ptr = A0B49620 > Ch1 Alloc Ptr = 00000000 Ch2 Alloc Ptr = 00000000 > Forward Mask = 00000000 > Utagged bitmap = 00000000 > > ------------ Error Counters -------- > PCI Parity Error= 00000000 PCI Fatal Error = 00000000 > problem-switch# > show controllers cbus . > s > h > o > w > > c > o > n > t > r > o > l > l > e > r > s > > c > b > u > s > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show diagbus . > s > h > o > w > > d > i > a > g > b > u > s > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show diag . > s > h > o > w > > d > i > a > g > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show capture . > s > h > o > w > > c > a > p > t > u > r > e > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show module . > s > h > o > w > > m > o > d > u > l > e > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show spe version . > s > h > o > w > > s > p > e > > v > e > r > s > i > o > n > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show c7200 . > s > h > o > w > > c > 7 > 2 > 0 > 0 > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show inventory raw . > s > h > o > w > > i > n > v > e > n > t > o > r > y > > r > a > w > > > NAME: "problem-switch", DESCR: "Cisco Catalyst c2950 switch with 48 10/100 BaseTX ports and 2 GBIC (Gigabit Interface Converter) slots" > PID: WS-C2950G-48-EI , VID: L0 , SN: FOC0746X0WR > > NAME: "FastEthernet0/1", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/2", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/3", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > > NAME: "FastEthernet0/4", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/5", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/6", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/7", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/8", DESCR: "10/100BaseTXFast Ethernet" > PID: > , VID: , SN: > > NAME: "FastEthernet0/9", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/10", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/11", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/12", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/13", DESCR: " > 10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/14", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/15", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/16", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/17", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > > NAME: "FastEthernet0/18", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/19", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/20", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/21", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/22", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > NAME: "FastEthernet0/23", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/24", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/25", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/26", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEtherne > t0/27", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/28", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/29", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/30", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/31", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID > : , SN: > > NAME: "FastEthernet0/32", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/33", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/34", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/35", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/36", DESCR: "10/100BaseTX > Fast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/37", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/38", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/39", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/40", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NA > ME: "FastEthernet0/41", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/42", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/43", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/44", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/45", DESCR: "10/100BaseTXFast Ethernet" > PID: > , VID: , SN: > > NAME: "FastEthernet0/46", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/47", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "FastEthernet0/48", DESCR: "10/100BaseTXFast Ethernet" > PID: , VID: , SN: > > NAME: "GigabitEthernet0/1", DESCR: "Gigabit Ethernet" > PID: , VID: , SN: > > NAME: "GigabitEthernet0/1", DESCR: "C > opper Unshielded twisted pair gigabit ethernet port adapter" > PID: GBIC_T , VID: 20 20 20 20, SN: FHH1327T184 > > NAME: "GigabitEthernet0/2", DESCR: "Gigabit Ethernet" > PID: , VID: , SN: > > > problem-switch# > show vtp status . > s > h > o > w > > v > t > p > > s > t > a > t > u > s > > > VTP Version : 2 > Configuration Revision : 0 > Maximum VLANs supported locally : 250 > Number of existing VLANs : 9 > VTP Operating Mode : Transparent > VTP Domain Name : Disabled > VTP Pruning Mode : Enabled > VTP V2 Mode : Disabled > VTP Traps Generation : Enabled > MD5 digest : 0xB1 0x28 0x3E 0x51 0x67 0xC2 0x6B 0x66 > Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00 > problem-switch# > show vlan . > s > h > o > w > > v > l > a > n > > > > VLAN Name Status Ports > ---- -------------------------------- --------- ------------------------------- > 1 default active Gi0/2 > 20 VLAN0020 active > 110 VLAN0110 active > 196 VLAN0196 active Fa0/1, Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6, Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11 > Fa0/12, Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17, Fa0/18, Fa0/19, Fa0/ > 20, Fa0/21 > Fa0/22, Fa0/23, Fa0/24, Fa0/25, Fa0/26, Fa0/27, Fa0/28, Fa0/29, Fa0/30, Fa0/31 > Fa0/32, Fa0/33, Fa0/34, Fa0/35, Fa0/36, Fa0/37, Fa0/38, Fa0/39, Fa0/40, Fa0/41 > Fa0/42, Fa0/43, Fa0/44, Fa0/45, Fa0/46, Fa0/47 > 614 VLAN0614 active Fa0/48 > 1002 fddi-default act/unsup > 1003 token-ring-default act/unsup > 1004 fddinet-def > ault act/unsup > 1005 trnet-default act/unsup > 3202 ALC_Network_Mgmt active > > VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2 > ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------ > 1 enet 100001 1500 - - - - - 0 0 > 20 enet 100020 1500 - - - - - 0 0 > 110 enet 100110 1500 - - - - - 0 0 > 196 e > net 100196 1500 - - - - - 0 0 > 614 enet 100614 1500 - - - - - 0 0 > 1002 fddi 101002 1500 - - - - - 0 0 > 1003 tr 101003 1500 - - - - - 0 0 > 1004 fdnet 101004 1500 - - - ieee - 0 0 > 1005 trnet 101005 1500 - - - ibm - 0 0 > 3202 enet 103202 1500 - - - - - 0 0 > > > Remote SPAN VLANs > ------------------------------------------------------------------------------ > > > Primary Secondary Type Ports > ------- --------- ----------------- ------------------------------------------ > > problem-switch# > show vlan-switch . > s > h > o > w > > v > l > a > n > - > s > w > i > t > c > h > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show debug . > s > h > o > w > > d > e > b > u > g > > > > problem-switch# > show shun . > s > h > o > w > > s > h > u > n > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > more system:running-config . > m > o > r > e > > s > y > s > t > e > m > : > r > u > n > n > i > n > g > - > c > o > n > f > i > g > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show running-config view full . > s > h > o > w > > r > u > n > n > i > n > g > - > c > o > n > f > i > g > > v > i > e > w > > f > u > l > l > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > show running-config . > s > h > o > w > > r > u > n > n > i > n > g > - > c > o > n > f > i > g > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > write term . > w > r > i > t > e > > t > e > r > m > > > ^ > % Invalid input detected at '^' marker. > > problem-switch# > e > e > x > x > i > i > t > t > . > > > > > > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From toivo at usf.edu Mon Apr 23 18:19:39 2012 From: toivo at usf.edu (Voll, Toivo) Date: Mon, 23 Apr 2012 14:19:39 -0400 Subject: [rancid] Help with "Invalid input detected" and "End of run not found" In-Reply-To: <4F957FC2.6090302@renci.org> References: <4F957FC2.6090302@renci.org> Message-ID: Thanks! Following your suggested trail I figured it out. The "End of run not found" was due to none of the "show config" commands succeeding, and hence there never being an "end" statement which it looked for. Turns out the root cause had nothing to do with Rancid but was a fat-fingered regexp in our Tacacs+ server code that mucked the privilege level of the rancid user to something other than what it was configured to, and hence the switch really never did recognize the commands. -Toivo > -----Original Message----- > From: Jonathan Mills [mailto:jonmills at renci.org] > Sent: Monday, April 23, 2012 12:14 PM > To: Voll, Toivo > Cc: rancid-discuss at shrubbery.net > Subject: Re: [rancid] Help with "Invalid input detected" and "End of run not > found" > > Manually run 'clogin', watching it connect to the switch and execute > each command that you specified after the "-c" flag. At some point, you > should see the ^ sign and the "Invalid input" error. This will at least > show you where the expect script is messing up. > > > As for the "End of run not found", you'll want to look at the rancid > script being used. If you installed via RPM, then it will be something > like /usr/libexec/rancid/rancid. Look inside that script, and you'll > see two declared variables, $clean_run and $found_end. If either one > evaluates false, then you'll get this "End of run not found" error. > Trace each occurrence of each of those two variables, and eventually > you'll find some regular expressions. Your error likely relates to one > of those regex's not being quite right for your switch output (as it was > in my case). If you have one switch working, and one switch not, then > manually run > > clogin -f /path/to/.cloginrc -c "show running-config" hostname > > against each switch. Look carefully at how it exits. Compare with the > regex used by $found_end. My guess is you'll quickly see the difference. > > -- > Jonathan Mills > Systems Administrator > Renaissance Computing Institute > UNC-Chapel Hill > > On 04/23/2012 11:25 AM, Voll, Toivo wrote: > > We have rancid running, but it keeps failing for a large number of switches > and I'm having trouble figuring out why. Not all switches of the same model > and software fail, and not all the failures are with a particular model or > software. > > > > It appears, based on packet captures and logs, that the switches in > question for some reason don't understand the rancid issued commands. > Below is a sample run, as gleaned from wireshark. > > > > Looking at the hex dump, I don't see anything wrong with commands like > "show running-config" followed by 0x0d 0x0a. I can issue them from a CLI just > fine. Yet the switch (Catalyst 2950) responds with "% Invalid input detected" > in the rancid run. > > > > This is a fairly stock rancid install, and we haven't mucked around with the > scripts or commands. > > > > Below is the output from "rancid -d" and below that the ascii dump of the > corresponding Wireshark capture. I've replaced the real switchname with > "problem-switch.our.domain.edu" > > > > Any pointers on what to look at or try would be welcome. > > > > -- > > Toivo Voll > > Network Engineer > > Information Technology Communications > > University of South Florida > > > > > > > > > > > > rancid -d problem-switch.our.domain.edu > > executing clogin -t 90 -c"show version;show redundancy secondary;show > idprom backplane;show install active;show env all;show rsp chassis- > info;show gsr chassis;show diag chassis-info;show boot;show bootvar;show > variables boot;show flash;dir /all nvram:;dir /all bootflash:;dir /all slot0:;dir /all > disk0:;dir /all slot1:;dir /all disk1:;dir /all slot2:;dir /all disk2:;dir /all > harddisk:;dir /all harddiska:;dir /all harddiskb:;dir /all sup-bootdisk:;dir /all > sup-bootflash:;dir /all sup-microcode:;dir /all slavenvram:;dir /all > slavebootflash:;dir /all slaveslot0:;dir /all slavedisk0:;dir /all slaveslot1:;dir /all > slavedisk1:;dir /all slaveslot2:;dir /all slavedisk2:;dir /all slavesup- > bootflash:;dir /all sec-nvram:;dir /all sec-bootflash:;dir /all sec-slot0:;dir /all > sec-disk0:;dir /all sec-slot1:;dir /all sec-disk1:;dir /all sec-slot2:;dir /all sec- > disk2:;show controllers;show controllers cbus;show diagbus;show diag;show > capture;show module;show spe version;show c7200;show inven > to > > ry raw;show vtp status;show vlan;show vlan-switch;show debug;show > shun;more system:running-config;show running-config view full;show > running-config;write term" problem-switch.our.domain.edu > > PROMPT MATCH: problem-switch# > > HIT COMMAND:problem-switch#show version > > In ShowVersion: problem-switch#show version > > TYPE = 2900XL > > HIT COMMAND:problem-switch#show redundancy secondary > > In ShowRedundancy: problem-switch#show redundancy secondary > > HIT COMMAND:problem-switch#show idprom backplane > > In ShowIDprom: problem-switch#show idprom backplane > > HIT COMMAND:problem-switch#show install active > > In ShowInstallActive: problem-switch#show install active > > HIT COMMAND:problem-switch#show env all > > In ShowEnv: problem-switch#show env all > > HIT COMMAND:problem-switch#show rsp chassis-info > > In ShowRSP: problem-switch#show rsp chassis-info > > HIT COMMAND:problem-switch#show gsr chassis > > In ShowGSR: problem-switch#show gsr chassis > > HIT COMMAND:problem-switch#show diag chassis-info > > In ShowGSR: problem-switch#show diag chassis-info > > HIT COMMAND:problem-switch#show boot > > In ShowBoot: problem-switch#show boot > > HIT COMMAND:problem-switch#show bootvar > > In ShowBoot: problem-switch#show bootvar > > HIT COMMAND:problem-switch#show variables boot > > In ShowBoot: problem-switch#show variables boot > > HIT COMMAND:problem-switch#show flash > > In ShowFlash: problem-switch#show flash > > HIT COMMAND:problem-switch#dir /all nvram: > > In DirSlotN: problem-switch#dir /all nvram: > > HIT COMMAND:problem-switch#dir /all bootflash: > > In DirSlotN: problem-switch#dir /all bootflash: > > HIT COMMAND:problem-switch#dir /all slot0: > > In DirSlotN: problem-switch#dir /all slot0: > > HIT COMMAND:problem-switch#dir /all disk0: > > In DirSlotN: problem-switch#dir /all disk0: > > HIT COMMAND:problem-switch#dir /all slot1: > > In DirSlotN: problem-switch#dir /all slot1: > > HIT COMMAND:problem-switch#dir /all disk1: > > In DirSlotN: problem-switch#dir /all disk1: > > HIT COMMAND:problem-switch#dir /all slot2: > > In DirSlotN: problem-switch#dir /all slot2: > > HIT COMMAND:problem-switch#dir /all disk2: > > In DirSlotN: problem-switch#dir /all disk2: > > HIT COMMAND:problem-switch#dir /all harddisk: > > In DirSlotN: problem-switch#dir /all harddisk: > > HIT COMMAND:problem-switch#dir /all harddiska: > > In DirSlotN: problem-switch#dir /all harddiska: > > HIT COMMAND:problem-switch#dir /all harddiskb: > > In DirSlotN: problem-switch#dir /all harddiskb: > > HIT COMMAND:problem-switch#dir /all sup-bootdisk: > > In DirSlotN: problem-switch#dir /all sup-bootdisk: > > HIT COMMAND:problem-switch#dir /all sup-bootflash: > > In DirSlotN: problem-switch#dir /all sup-bootflash: > > HIT COMMAND:problem-switch#dir /all sup-microcode: > > In DirSlotN: problem-switch#dir /all sup-microcode: > > HIT COMMAND:problem-switch#dir /all slavenvram: > > In DirSlotN: problem-switch#dir /all slavenvram: > > HIT COMMAND:problem-switch#dir /all slavebootflash: > > In DirSlotN: problem-switch#dir /all slavebootflash: > > HIT COMMAND:problem-switch#dir /all slaveslot0: > > In DirSlotN: problem-switch#dir /all slaveslot0: > > HIT COMMAND:problem-switch#dir /all slavedisk0: > > In DirSlotN: problem-switch#dir /all slavedisk0: > > HIT COMMAND:problem-switch#dir /all slaveslot1: > > In DirSlotN: problem-switch#dir /all slaveslot1: > > HIT COMMAND:problem-switch#dir /all slavedisk1: > > In DirSlotN: problem-switch#dir /all slavedisk1: > > HIT COMMAND:problem-switch#dir /all slaveslot2: > > In DirSlotN: problem-switch#dir /all slaveslot2: > > HIT COMMAND:problem-switch#dir /all slavedisk2: > > In DirSlotN: problem-switch#dir /all slavedisk2: > > HIT COMMAND:problem-switch#dir /all slavesup-bootflash: > > In DirSlotN: problem-switch#dir /all slavesup-bootflash: > > HIT COMMAND:problem-switch#dir /all sec-nvram: > > In DirSlotN: problem-switch#dir /all sec-nvram: > > HIT COMMAND:problem-switch#dir /all sec-bootflash: > > In DirSlotN: problem-switch#dir /all sec-bootflash: > > HIT COMMAND:problem-switch#dir /all sec-slot0: > > In DirSlotN: problem-switch#dir /all sec-slot0: > > HIT COMMAND:problem-switch#dir /all sec-disk0: > > In DirSlotN: problem-switch#dir /all sec-disk0: > > HIT COMMAND:problem-switch#dir /all sec-slot1: > > In DirSlotN: problem-switch#dir /all sec-slot1: > > HIT COMMAND:problem-switch#dir /all sec-disk1: > > In DirSlotN: problem-switch#dir /all sec-disk1: > > HIT COMMAND:problem-switch#dir /all sec-slot2: > > In DirSlotN: problem-switch#dir /all sec-slot2: > > HIT COMMAND:problem-switch#dir /all sec-disk2: > > In DirSlotN: problem-switch#dir /all sec-disk2: > > HIT COMMAND:problem-switch#show controllers > > In ShowContAll: problem-switch#show controllers > > HIT COMMAND:problem-switch#show controllers cbus > > In ShowContCbus: problem-switch#show controllers cbus > > HIT COMMAND:problem-switch#show diagbus > > In ShowDiagbus: problem-switch#show diagbus > > HIT COMMAND:problem-switch#show diag > > In ShowDiag: problem-switch#show diag > > HIT COMMAND:problem-switch#show capture > > In ShowCapture: problem-switch#show capture > > HIT COMMAND:problem-switch#show module > > In ShowModule: problem-switch#show module > > HIT COMMAND:problem-switch#show spe version > > In ShowSpeVersion: problem-switch#show spe version > > HIT COMMAND:problem-switch#show c7200 > > In ShowC7200: problem-switch#show c7200 > > HIT COMMAND:problem-switch#show inventory raw > > In ShowInventory: problem-switch#show inventory raw > > HIT COMMAND:problem-switch#show vtp status > > In ShowVTP: problem-switch#show vtp status > > HIT COMMAND:problem-switch#show vlan > > In ShowVLAN: problem-switch#show vlan > > HIT COMMAND:problem-switch#show vlan-switch > > In ShowVLAN: problem-switch#show vlan-switch > > HIT COMMAND:problem-switch#show debug > > In ShowDebug: problem-switch#show debug > > HIT COMMAND:problem-switch#show shun > > In ShowShun: problem-switch#show shun > > HIT COMMAND:problem-switch#more system:running-config > > In WriteTerm: problem-switch#more system:running-config > > HIT COMMAND:problem-switch#show running-config view full > > In WriteTerm: problem-switch#show running-config view full > > HIT COMMAND:problem-switch#show running-config > > In WriteTerm: problem-switch#show running-config > > HIT COMMAND:problem-switch#write term > > In WriteTerm: problem-switch#write term > > problem-switch.our.domain.edu: End of run not found > > problem-switch.our.domain.edu: End of run not found > > ! > > > > Wiresahark: > > > > problem-switch# > > terminal length 0 . > > t > > e > > r > > m > > i > > n > > a > > l > > > > l > > e > > n > > g > > t > > h > > > > 0 > > > > > > problem-switch# > > terminal width 132 . > > t > > e > > r > > m > > i > > n > > a > > l > > > > w > > i > > d > > t > > h > > > > 1 > > 3 > > 2 > > > > > > problem-switch# > > show version . > > s > > h > > o > > w > > > > v > > e > > r > > s > > i > > o > > n > > > > > > Cisco Internetwork Operating System Software > > IOS (tm) C2950 Software (C2950-I6K2L2Q4-M), Version 12.1(22)EA9, > RELEASE SOFTWARE (fc1) > > Copyright (c) 1986-2006 by cisco Systems, Inc. > > Compiled Fri 01-Dec-06 18:22 by weiliu > > Image text-base: 0x80010000, data-base: 0x8067A000 > > > > ROM: Bootstrap program is C2950 boot loader > > > > problem-switch uptime is 18 weeks, 1 day, 17 hours, 11 minutes > > System returned to ROM by power-on > > System restarted at 16:26:56 EST Sat Dec 17 2011 > > System image file is "flash:c2950-i6k2l2q4-mz.121-22.EA9.bin" > > > > > > > > This product contains cryptographic features and is subject to United > > States and local country laws governing import, export, transfer and > > use. Delivery of Cisco cryptographic products does not imply > > third-party authority to import, export, distribute or use encryption. > > Importers, exporters, distributors and users are responsible for > > compliance with U.S. and local country laws. By using this product you > > agree to comply with applicable laws and regulations. If you are unable > > to comply with U.S. and local laws, return t > > his product immediately. > > > > A summary of U.S. laws governing Cisco cryptographic products may be > found at: > > http://www.cisco.com/wwl/export/crypto/tool/stqrg.html > > > > If you require further assistance please contact us by sending email to > > export at cisco.com. > > > > cisco WS-C2950G-48-EI (RC32300) processor (revision L0) with 19958K bytes > of memory. > > Processor board ID FOC0746X0WR > > Last reset from system-reset > > Running Enhanced Image > > 48 FastEthernet/IEEE 802.3 interface(s) > > 2 Gigabit Ethernet/IEEE 802.3 interface(s) > > > > 32K bytes of flas > > h-simulated non-volatile configuration memory. > > Base ethernet MAC Address: 00:0E:83:26:7A:C0 > > Motherboard assembly number: 73-7409-12 > > Power supply part number: 34-0965-01 > > Motherboard serial number: FOC07460LLZ > > Power supply serial number: PHI07340GKH > > Model revision number: L0 > > Motherboard revision number: A0 > > Model number: WS-C2950G-48-EI > > System serial number: FOC0746X0WR > > Configuration register is 0xF > > > > problem-switch# > > show redundancy secondary . > > s > > h > > o > > w > > > > r > > e > > d > > u > > n > > d > > a > > n > > c > > y > > > > s > > e > > c > > o > > n > > d > > a > > r > > y > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show idprom backplane . > > s > > h > > o > > w > > > > i > > d > > p > > r > > o > > m > > > > b > > a > > c > > k > > p > > l > > a > > n > > e > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show install active . > > s > > h > > o > > w > > > > i > > n > > s > > t > > a > > l > > l > > > > a > > c > > t > > i > > v > > e > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show env all . > > s > > h > > o > > w > > > > e > > n > > v > > > > a > > l > > l > > > > > > FAN is OK > > Internal POWER supply is OK > > RPS is NOT present > > > > problem-switch# > > show rsp chassis-info . > > s > > h > > o > > w > > > > r > > s > > p > > > > c > > h > > a > > s > > s > > i > > s > > - > > i > > n > > f > > o > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show gsr chassis . > > s > > h > > o > > w > > > > g > > s > > r > > > > c > > h > > a > > s > > s > > i > > s > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show diag chassis-info . > > s > > h > > o > > w > > > > d > > i > > a > > g > > > > c > > h > > a > > s > > s > > i > > s > > - > > i > > n > > f > > o > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show boot . > > s > > h > > o > > w > > > > b > > o > > o > > t > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show bootvar . > > s > > h > > o > > w > > > > b > > o > > o > > t > > v > > a > > r > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show variables boot . > > s > > h > > o > > w > > > > v > > a > > r > > i > > a > > b > > l > > e > > s > > > > b > > o > > o > > t > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show flash . > > s > > h > > o > > w > > > > f > > l > > a > > s > > h > > > > > > > > Directory of flash:/ > > > > 2 -rwx 318 Feb 13 2007 08:37:42 -05:00 env_vars > > 3 -rwx 796 Feb 28 1993 19:00:33 -05:00 vlan.dat > > 4 drwx 1536 Feb 28 1993 19:00:15 -05:00 crashinfo > > 109 -rwx 13683 Jan 11 2012 15:28:49 -05:00 config.text > > 6 -rwx 1048 Jan 11 2012 15:28:49 -05:00 multiple-fs > > 7 -rwx 111 Feb 13 2007 08:33:10 -05:00 info > > 8 -rwx 3707976 Feb 13 2007 08:36:02 -05:00 c2950-i6k2l2q4-mz.121- > 22.EA9.bin > > 9 drwx 4160 Feb 13 200 > > 7 08:36:57 -05:00 html > > 84 -rwx 111 Feb 13 2007 08:37:42 -05:00 info.ver > > 480 -rwx 2155 Jan 11 2012 15:28:49 -05:00 private-config.text > > > > 7741440 bytes total (2133504 bytes free) > > problem-switch# > > dir /all nvram: . > > d > > i > > r > > > > / > > a > > l > > l > > > > n > > v > > r > > a > > m > > : > > > > > > Translating "l"...domain server > > (131.247.1.40) > > (131.247.100.1) > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all bootflash: . > > d > > i > > r > > > > / > > a > > l > > l > > > > b > > o > > o > > t > > f > > l > > a > > s > > h > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slot0: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > o > > t > > 0 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all disk0: . > > d > > i > > r > > > > / > > a > > l > > l > > > > d > > i > > s > > k > > 0 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slot1: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > o > > t > > 1 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all disk1: . > > d > > i > > r > > > > / > > a > > l > > l > > > > d > > i > > s > > k > > 1 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slot2: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > o > > t > > 2 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all disk2: . > > d > > i > > r > > > > / > > a > > l > > l > > > > d > > i > > s > > k > > 2 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all harddisk: . > > d > > i > > r > > > > / > > a > > l > > l > > > > h > > a > > r > > d > > d > > i > > s > > k > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all harddiska: . > > d > > i > > r > > > > / > > a > > l > > l > > > > h > > a > > r > > d > > d > > i > > s > > k > > a > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all harddiskb: . > > d > > i > > r > > > > / > > a > > l > > l > > > > h > > a > > r > > d > > d > > i > > s > > k > > b > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sup-bootdisk: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > u > > p > > - > > b > > o > > o > > t > > d > > i > > s > > k > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sup-bootflash: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > u > > p > > - > > b > > o > > o > > t > > f > > l > > a > > s > > h > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sup-microcode: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > u > > p > > - > > m > > i > > c > > r > > o > > c > > o > > d > > e > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slavenvram: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > n > > v > > r > > a > > m > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slavebootflash: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > b > > o > > o > > t > > f > > l > > a > > s > > h > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slaveslot0: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > s > > l > > o > > t > > 0 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slavedisk0: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > d > > i > > s > > k > > 0 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slaveslot1: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > s > > l > > o > > t > > 1 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slavedisk1: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > d > > i > > s > > k > > 1 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slaveslot2: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > s > > l > > o > > t > > 2 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slavedisk2: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > d > > i > > s > > k > > 2 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all slavesup-bootflash: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > l > > a > > v > > e > > s > > u > > p > > - > > b > > o > > o > > t > > f > > l > > a > > s > > h > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sec-nvram: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > e > > c > > - > > n > > v > > r > > a > > m > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sec-bootflash: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > e > > c > > - > > b > > o > > o > > t > > f > > l > > a > > s > > h > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sec-slot0: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > e > > c > > - > > s > > l > > o > > t > > 0 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sec-disk0: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > e > > c > > - > > d > > i > > s > > k > > 0 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sec-slot1: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > e > > c > > - > > s > > l > > o > > t > > 1 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sec-disk1: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > e > > c > > - > > d > > i > > s > > k > > 1 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sec-slot2: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > e > > c > > - > > s > > l > > o > > t > > 2 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > dir /all sec-disk2: . > > d > > i > > r > > > > / > > a > > l > > l > > > > s > > e > > c > > - > > d > > i > > s > > k > > 2 > > : > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show controllers . > > s > > h > > o > > w > > > > c > > o > > n > > t > > r > > o > > l > > l > > e > > r > > s > > > > > > HWIdb = 80E8835C Mngmnt Vlan = C82 ******* > > Rx Free Pool Size= 01BE > > ***********PCI Registers*********** > > CMIC_DMA_STAT = 00202008 CMIC_CONFIG = 000C2B48 > > CMIC_DMA_DESC0 = A0B43160 CMIC_DMA_DESC1 = A0B431F0 > > CMIC_DMA_DESC2 = A0B4791C CMIC_DMA_DESC3 = A0B48194 > > CMIC_IRQ_MASK = 0003FFC8 CMIC_IRQ_STAT = 00080025 > > CMIC_DMA_CTRL = 00001111 CMIC_SCHAN_CTRL = 0004B042 > > CMIC_DLF_REG = 0BFFFFFF > > > > ******S-Channel Registers****** > > EGR_BKP_DIS =00000000 MMUPORTENABLE =0BFFFFFF EPC_HOL > =00000000 > > > > ******COS Related Register > > s****** > > ******For CosVal.:0 Register Values****** > > COS_ENABLE = 00000000 > > ******For CosVal.:1 Register Values****** > > COS_ENABLE = 00000000 > > ******For CosVal.:2 Register Values****** > > COS_ENABLE = 00000000 > > ******For CosVal.:3 Register Values****** > > COS_ENABLE = 00000000 > > > > ******Block Specific Registers****** > > ******For BlockNo.:0 Register Values****** > > EGR_ENABLE = 000000E8 > > EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 > > ******For BlockNo.:1 Register Values****** > > EGR_ENABLE = 000000D1 > > EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 > > ******For Blo > > ckNo.:2 Register Values****** > > EGR_ENABLE = 000000F2 > > EPC_LINK =0BD2D1C8 CONFIG = 401C81D8 > > ******For BlockNo.:3 Register Values****** > > GEGR_ENABLE = 00000001 > > EPC_LINK =0BD2D1C8 CONFIG = 401E01D0 > > ******For BlockNo.:4 Register Values****** > > GEGR_ENABLE = 00000001 > > EPC_LINK =0BD2D1C8 CONFIG = 401C01D8 > > > > ******Port Specific Registers****** > > ******For Port No.:0 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:1 Register Values****** > > FE_MAC1 = 00000000 > > FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:2 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:3 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:4 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:5 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCC > > COUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:6 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:7 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:8 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:9 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOU > > NT = 00000000 > > ******For Port No.:A Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:B Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:C Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:D Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For > > Port No.:E Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:F Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:10 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:11 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:12 Register Va > > lues****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:13 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:14 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:15 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:16 Register Values****** > > FE_MAC1 = 0 > > 0000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:17 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:18 Register Values****** > > GMACC1_GPIC0b = D50A1001 GMACC1_GPIC1b = D50A1001 > > GTH_FE_MAC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:19 Register Values****** > > GMACC1_GPIC0b = C40A1001 GMACC1_GPIC1b = C40A1001 > > GTH_FE_MAC1_GPIC0b =00000000 GTH_ > > FE_MAC1_GPIC1b = 00000000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ----------- Tx Queue Status -------------- > > Ch 1 Status = 1 Ch 2 Status = 1 > > Ch1 QLen=00 Ch2 QLen=00 > > ----------- Rx Queue Status -------------- > > Ch1 Status = 4 | Ch2 Status = 0 | Throttle = No > > Ch1 Base = A0B47F48 Ch2 Base = A0B486A0 > > Ch1 End = A0B48038 Ch2 End = A0B48790 > > Ch1 Rd Ptr = A0B47F48 Ch2 Rd Ptr = A0B48730 > > Ch1 Alloc Ptr = 00000000 Ch2 Alloc Ptr = 00000000 > > Forward Mask = 02000000 Utagged bitmap = 00000000 > > > > > > ------------ Error Counters -------- > > PCI Parity Error= 00000000 PCI Fatal Error = 00000000***********PCI > Registers*********** > > CMIC_DMA_STAT = 00202008 CMIC_CONFIG = 000C2B48 > > CMIC_DMA_DESC0 = A0B43160 CMIC_DMA_DESC1 = A0B43160 > > CMIC_DMA_DESC2 = A0B487CC CMIC_DMA_DESC3 = A0B49404 > > CMIC_IRQ_MASK = 0003FFC8 CMIC_IRQ_STAT = 00080025 > > CMIC_DMA_CTRL = 00001111 CMIC_SCHAN_CTRL = 0004B042 > > CMIC_DLF_REG = 0BFFFFFF > > > > ******S-Channel Registers****** > > EGR_BKP_DIS =00000000 MMUPORTENABLE =0BFFFFFF EPC_HOL > =00000000 > > > > > > ******COS Related Registers****** > > ******For CosVal.:0 Register Values****** > > COS_ENABLE = 00000000 > > ******For CosVal.:1 Register Values****** > > COS_ENABLE = 00000000 > > ******For CosVal.:2 Register Values****** > > COS_ENABLE = 00000000 > > ******For CosVal.:3 Register Values****** > > COS_ENABLE = 00000000 > > > > ******Block Specific Registers****** > > ******For BlockNo.:0 Register Values****** > > EGR_ENABLE = 000000B3 > > EPC_LINK =0AFE1FB3 CONFIG = 401C81D8 > > ******For BlockNo.:1 Register Values****** > > EGR_ENABLE = 0000001F > > EPC_LINK =0AFE1FB3 CONFI > > G = 401C81D8 > > ******For BlockNo.:2 Register Values****** > > EGR_ENABLE = 000000FE > > EPC_LINK =0AFE1FB3 CONFIG = 401C81D8 > > ******For BlockNo.:3 Register Values****** > > GEGR_ENABLE = 00000000 > > EPC_LINK =0AFE1FB3 CONFIG = 401C01D8 > > ******For BlockNo.:4 Register Values****** > > GEGR_ENABLE = 00000001 > > EPC_LINK =0AFE1FB3 CONFIG = 401E01D0 > > > > ******Port Specific Registers****** > > ******For Port No.:0 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:1 Register Values* > > ***** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:2 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:3 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:4 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:5 Register Values****** > > FE_MAC1 = 000000 > > 01 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:6 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:7 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:8 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:9 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:A Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:B Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:C Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:D Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCC > > COUNT = 00000000 > > ******For Port No.:E Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:F Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:10 Register Values****** > > FE_MAC1 = 00000000 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:11 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ****** > > For Port No.:12 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:13 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:14 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:15 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:16 Register > > Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C001 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:17 Register Values****** > > FE_MAC1 = 00000001 FE_MAC2 = 0000C000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:18 Register Values****** > > GMACC1_GPIC0b = C40A1001 GMACC1_GPIC1b = C40A1001 > > GTH_FE_MAC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ******For Port No.:19 Register Values****** > > GMACC1_GPIC0b = D50A1001 GMACC1_GPIC1b = D50A1001 > > GTH_FE_M > > AC1_GPIC0b =00000000 GTH_FE_MAC1_GPIC1b = 00000000 > > LCCCOUNT = 00000000 GCCCOUNT = 00000000 > > ----------- Tx Queue Status -------------- > > Ch 1 Status = 1 Ch 2 Status = 1 > > Ch1 QLen=00 Ch2 QLen=00 > > ----------- Rx Queue Status -------------- > > Ch1 Status = 4 | Ch2 Status = 0 | Throttle = No > > Ch1 Base = A0B48DF8 Ch2 Base = A0B49550 > > Ch1 End = A0B48EE8 Ch2 End = A0B49640 > > Ch1 Rd Ptr = A0B48DF8 Ch2 Rd Ptr = A0B49620 > > Ch1 Alloc Ptr = 00000000 Ch2 Alloc Ptr = 00000000 > > Forward Mask = 00000000 > > Utagged bitmap = 00000000 > > > > ------------ Error Counters -------- > > PCI Parity Error= 00000000 PCI Fatal Error = 00000000 > > problem-switch# > > show controllers cbus . > > s > > h > > o > > w > > > > c > > o > > n > > t > > r > > o > > l > > l > > e > > r > > s > > > > c > > b > > u > > s > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show diagbus . > > s > > h > > o > > w > > > > d > > i > > a > > g > > b > > u > > s > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show diag . > > s > > h > > o > > w > > > > d > > i > > a > > g > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show capture . > > s > > h > > o > > w > > > > c > > a > > p > > t > > u > > r > > e > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show module . > > s > > h > > o > > w > > > > m > > o > > d > > u > > l > > e > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show spe version . > > s > > h > > o > > w > > > > s > > p > > e > > > > v > > e > > r > > s > > i > > o > > n > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show c7200 . > > s > > h > > o > > w > > > > c > > 7 > > 2 > > 0 > > 0 > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show inventory raw . > > s > > h > > o > > w > > > > i > > n > > v > > e > > n > > t > > o > > r > > y > > > > r > > a > > w > > > > > > NAME: "problem-switch", DESCR: "Cisco Catalyst c2950 switch with 48 > 10/100 BaseTX ports and 2 GBIC (Gigabit Interface Converter) slots" > > PID: WS-C2950G-48-EI , VID: L0 , SN: FOC0746X0WR > > > > NAME: "FastEthernet0/1", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/2", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/3", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > > > NAME: "FastEthernet0/4", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/5", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/6", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/7", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/8", DESCR: "10/100BaseTXFast Ethernet" > > PID: > > , VID: , SN: > > > > NAME: "FastEthernet0/9", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/10", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/11", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/12", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/13", DESCR: " > > 10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/14", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/15", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/16", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/17", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > > > NAME: "FastEthernet0/18", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/19", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/20", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/21", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/22", DESCR: "10/100BaseTXFast Ethernet" > > > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/23", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/24", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/25", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/26", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEtherne > > t0/27", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/28", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/29", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/30", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/31", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID > > : , SN: > > > > NAME: "FastEthernet0/32", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/33", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/34", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/35", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/36", DESCR: "10/100BaseTX > > Fast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/37", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/38", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/39", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/40", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NA > > ME: "FastEthernet0/41", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/42", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/43", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/44", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/45", DESCR: "10/100BaseTXFast Ethernet" > > PID: > > , VID: , SN: > > > > NAME: "FastEthernet0/46", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/47", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "FastEthernet0/48", DESCR: "10/100BaseTXFast Ethernet" > > PID: , VID: , SN: > > > > NAME: "GigabitEthernet0/1", DESCR: "Gigabit Ethernet" > > PID: , VID: , SN: > > > > NAME: "GigabitEthernet0/1", DESCR: "C > > opper Unshielded twisted pair gigabit ethernet port adapter" > > PID: GBIC_T , VID: 20 20 20 20, SN: FHH1327T184 > > > > NAME: "GigabitEthernet0/2", DESCR: "Gigabit Ethernet" > > PID: , VID: , SN: > > > > > > problem-switch# > > show vtp status . > > s > > h > > o > > w > > > > v > > t > > p > > > > s > > t > > a > > t > > u > > s > > > > > > VTP Version : 2 > > Configuration Revision : 0 > > Maximum VLANs supported locally : 250 > > Number of existing VLANs : 9 > > VTP Operating Mode : Transparent > > VTP Domain Name : Disabled > > VTP Pruning Mode : Enabled > > VTP V2 Mode : Disabled > > VTP Traps Generation : Enabled > > MD5 digest : 0xB1 0x28 0x3E 0x51 0x67 0xC2 0x6B 0x66 > > Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00 > > problem-switch# > > show vlan . > > s > > h > > o > > w > > > > v > > l > > a > > n > > > > > > > > VLAN Name Status Ports > > ---- -------------------------------- --------- ------------------------------- > > 1 default active Gi0/2 > > 20 VLAN0020 active > > 110 VLAN0110 active > > 196 VLAN0196 active Fa0/1, Fa0/2, Fa0/3, Fa0/4, Fa0/5, Fa0/6, > Fa0/7, Fa0/8, Fa0/9, Fa0/10, Fa0/11 > > Fa0/12, Fa0/13, Fa0/14, Fa0/15, Fa0/16, Fa0/17, > Fa0/18, Fa0/19, Fa0/ > > 20, Fa0/21 > > Fa0/22, Fa0/23, Fa0/24, Fa0/25, Fa0/26, Fa0/27, > Fa0/28, Fa0/29, Fa0/30, Fa0/31 > > Fa0/32, Fa0/33, Fa0/34, Fa0/35, Fa0/36, Fa0/37, > Fa0/38, Fa0/39, Fa0/40, Fa0/41 > > Fa0/42, Fa0/43, Fa0/44, Fa0/45, Fa0/46, Fa0/47 > > 614 VLAN0614 active Fa0/48 > > 1002 fddi-default act/unsup > > 1003 token-ring-default act/unsup > > 1004 fddinet-def > > ault act/unsup > > 1005 trnet-default act/unsup > > 3202 ALC_Network_Mgmt active > > > > VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 > Trans2 > > ---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------ > > 1 enet 100001 1500 - - - - - 0 0 > > 20 enet 100020 1500 - - - - - 0 0 > > 110 enet 100110 1500 - - - - - 0 0 > > 196 e > > net 100196 1500 - - - - - 0 0 > > 614 enet 100614 1500 - - - - - 0 0 > > 1002 fddi 101002 1500 - - - - - 0 0 > > 1003 tr 101003 1500 - - - - - 0 0 > > 1004 fdnet 101004 1500 - - - ieee - 0 0 > > 1005 trnet 101005 1500 - - - ibm - 0 0 > > 3202 enet 103202 1500 - - - - - 0 0 > > > > > > Remote SPAN VLANs > > ------------------------------------------------------------------------------ > > > > > > Primary Secondary Type Ports > > ------- --------- ----------------- ------------------------------------------ > > > > problem-switch# > > show vlan-switch . > > s > > h > > o > > w > > > > v > > l > > a > > n > > - > > s > > w > > i > > t > > c > > h > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show debug . > > s > > h > > o > > w > > > > d > > e > > b > > u > > g > > > > > > > > problem-switch# > > show shun . > > s > > h > > o > > w > > > > s > > h > > u > > n > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > more system:running-config . > > m > > o > > r > > e > > > > s > > y > > s > > t > > e > > m > > : > > r > > u > > n > > n > > i > > n > > g > > - > > c > > o > > n > > f > > i > > g > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show running-config view full . > > s > > h > > o > > w > > > > r > > u > > n > > n > > i > > n > > g > > - > > c > > o > > n > > f > > i > > g > > > > v > > i > > e > > w > > > > f > > u > > l > > l > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > show running-config . > > s > > h > > o > > w > > > > r > > u > > n > > n > > i > > n > > g > > - > > c > > o > > n > > f > > i > > g > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > write term . > > w > > r > > i > > t > > e > > > > t > > e > > r > > m > > > > > > ^ > > % Invalid input detected at '^' marker. > > > > problem-switch# > > e > > e > > x > > x > > i > > i > > t > > t > > . > > > > > > > > > > > > _______________________________________________ > > Rancid-discuss mailing list > > Rancid-discuss at shrubbery.net > > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From matthew at walster.org Thu Apr 26 09:08:14 2012 From: matthew at walster.org (Matthew Walster) Date: Thu, 26 Apr 2012 10:08:14 +0100 Subject: [rancid] F5 BIG-IP devices - any tricks? In-Reply-To: References: Message-ID: On 21 March 2012 08:58, Shain Singh wrote: >> Has anyone managed to do that ? (full shell, read only access) or >> access using sudo ? > > I'd say it may be easier trying to write another Expect script to use > the tmsh instead. Makes it future proof as I believe F5 is heading > away from giving complete shell access to their devices. It would appear someone's made a good effort on producing this code, but I don't have any non-production boxes to test it against. Does the following work for you? http://blog.routedlogic.net/2011/12/08/rancid-monitoring-of-f5s-with-bigip-v11-x/ Matthew Walster From jbaird at follett.com Thu Apr 26 12:22:43 2012 From: jbaird at follett.com (Baird, Josh) Date: Thu, 26 Apr 2012 12:22:43 +0000 Subject: [rancid] F5 BIG-IP devices - any tricks? In-Reply-To: References: Message-ID: I'll try this today. -----Original Message----- From: rancid-discuss-bounces at shrubbery.net [mailto:rancid-discuss-bounces at shrubbery.net] On Behalf Of Matthew Walster Sent: Thursday, April 26, 2012 5:08 AM To: Shain Singh Cc: rancid-discuss at shrubbery.net Subject: Re: [rancid] F5 BIG-IP devices - any tricks? On 21 March 2012 08:58, Shain Singh wrote: >> Has anyone managed to do that ? (full shell, read only access) or >> access using sudo ? > > I'd say it may be easier trying to write another Expect script to use > the tmsh instead. Makes it future proof as I believe F5 is heading > away from giving complete shell access to their devices. It would appear someone's made a good effort on producing this code, but I don't have any non-production boxes to test it against. Does the following work for you? http://blog.routedlogic.net/2011/12/08/rancid-monitoring-of-f5s-with-bigip-v11-x/ Matthew Walster _______________________________________________ Rancid-discuss mailing list Rancid-discuss at shrubbery.net http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From kokushibyou at gmail.com Thu Apr 26 18:30:14 2012 From: kokushibyou at gmail.com (dl) Date: Thu, 26 Apr 2012 11:30:14 -0700 Subject: [rancid] F5 BIG-IP devices - any tricks? In-Reply-To: References: Message-ID: I've been able to get BIG-IP 10.2.2 Build 763.3 Final and BIG-IP 10.2.2 Build 930.0 Hotfix HF3 to work with rancid. Ubuntu Lucid version, with some patches: - rancid user on the LTM device has to have full perms (Administrator with Advanced Shell) - the expect patch has to be applied (http://www.shrubbery.net/rancid/#osystems) - I'm using rancid package 2.3.2-1 but replaced f5login script and clogin script with the version from 2.3.8 I'm reviewing my changes to verify this is all I've modified, I'll let you know if I find something else missing (just got it working in Dev and about to prop the changes to prod so I'll be reviewing it all here today). On Thu, Apr 26, 2012 at 05:22, Baird, Josh wrote: > I'll try this today. > > -----Original Message----- > From: rancid-discuss-bounces at shrubbery.net [mailto:rancid-discuss-bounces at shrubbery.net] On Behalf Of Matthew Walster > Sent: Thursday, April 26, 2012 5:08 AM > To: Shain Singh > Cc: rancid-discuss at shrubbery.net > Subject: Re: [rancid] F5 BIG-IP devices - any tricks? > > On 21 March 2012 08:58, Shain Singh wrote: >>> Has anyone managed to do that ? (full shell, read only access) or >>> access using sudo ? >> >> I'd say it may be easier trying to write another Expect script to use >> the tmsh instead. Makes it future proof as I believe F5 is heading >> away from giving complete shell access to their devices. > > It would appear someone's made a good effort on producing this code, > but I don't have any non-production boxes to test it against. > > Does the following work for you? > > http://blog.routedlogic.net/2011/12/08/rancid-monitoring-of-f5s-with-bigip-v11-x/ > > Matthew Walster > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From kokushibyou at gmail.com Thu Apr 26 18:40:53 2012 From: kokushibyou at gmail.com (dl) Date: Thu, 26 Apr 2012 11:40:53 -0700 Subject: [rancid] F5 BIG-IP devices - any tricks? In-Reply-To: References: Message-ID: sorry that should read f5rancid not f5login. On Thu, Apr 26, 2012 at 11:30, dl wrote: > I've been able to get BIG-IP 10.2.2 Build 763.3 Final and BIG-IP > 10.2.2 Build 930.0 Hotfix HF3 to work with rancid. > Ubuntu Lucid version, with some patches: > > - rancid user on the LTM device has to have full perms (Administrator > with Advanced Shell) > - the expect patch has to be applied (http://www.shrubbery.net/rancid/#osystems) > - I'm using rancid package 2.3.2-1 but replaced f5login script and > clogin script with the version from 2.3.8 > > I'm reviewing my changes to verify this is all I've modified, I'll let > you know if I find something else missing (just got it working in Dev > and about to prop the changes to prod so I'll be reviewing it all here > today). > > On Thu, Apr 26, 2012 at 05:22, Baird, Josh wrote: >> I'll try this today. >> >> -----Original Message----- >> From: rancid-discuss-bounces at shrubbery.net [mailto:rancid-discuss-bounces at shrubbery.net] On Behalf Of Matthew Walster >> Sent: Thursday, April 26, 2012 5:08 AM >> To: Shain Singh >> Cc: rancid-discuss at shrubbery.net >> Subject: Re: [rancid] F5 BIG-IP devices - any tricks? >> >> On 21 March 2012 08:58, Shain Singh wrote: >>>> Has anyone managed to do that ? (full shell, read only access) or >>>> access using sudo ? >>> >>> I'd say it may be easier trying to write another Expect script to use >>> the tmsh instead. Makes it future proof as I believe F5 is heading >>> away from giving complete shell access to their devices. >> >> It would appear someone's made a good effort on producing this code, >> but I don't have any non-production boxes to test it against. >> >> Does the following work for you? >> >> http://blog.routedlogic.net/2011/12/08/rancid-monitoring-of-f5s-with-bigip-v11-x/ >> >> Matthew Walster >> _______________________________________________ >> Rancid-discuss mailing list >> Rancid-discuss at shrubbery.net >> http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss >> _______________________________________________ >> Rancid-discuss mailing list >> Rancid-discuss at shrubbery.net >> http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From emarkiewicz at cricketcommunications.com Thu Apr 26 19:48:24 2012 From: emarkiewicz at cricketcommunications.com (Edward Markiewicz) Date: Thu, 26 Apr 2012 13:48:24 -0600 Subject: [rancid] Specific devices commands Message-ID: <8A179FCB1072B245A259079F66BF03F9042A81F1@denex2.cricketcommunications.com> Is it possible to pass specific commands to rancid-run for rancid to execute? I have a requirement to use all the features of rancid, (svn version storage etc.), but for ad-hoc queries. I understand one can alter the @commandtable and select a specific set of commands to run, but that selection is constant each time rancid-run is called. What I'm looking for is adding the names of the specific commands to run from a command line initiation of rancid-run. Something like this below; "rancid-run -r [list of commands]" "rancid-run -r ABC123 MyLocalGroup 'show version', 'show boot', 'show vlan'" ~Ed -------------- next part -------------- An HTML attachment was scrubbed... URL: From heas at shrubbery.net Thu Apr 26 20:21:59 2012 From: heas at shrubbery.net (heasley) Date: Thu, 26 Apr 2012 13:21:59 -0700 Subject: [rancid] Specific devices commands In-Reply-To: <8A179FCB1072B245A259079F66BF03F9042A81F1@denex2.cricketcommunications.com> References: <8A179FCB1072B245A259079F66BF03F9042A81F1@denex2.cricketcommunications.com> Message-ID: <20120426202159.GH61005@shrubbery.net> Thu, Apr 26, 2012 at 01:48:24PM -0600, Edward Markiewicz: > Is it possible to pass specific commands to rancid-run for rancid to execute? I have a requirement to use all the features of rancid, (svn version storage etc.), but for ad-hoc queries. I understand one can alter the @commandtable and select a specific set of commands to run, but that selection is constant each time rancid-run is called. What I'm looking for is adding the names of the specific commands to run from a command line initiation of rancid-run. Something like this below; > > "rancid-run -r [list of commands]" > > "rancid-run -r ABC123 MyLocalGroup 'show version', 'show boot', 'show vlan'" no, but in 3.0 you will be able to easily define your own rancid groups. From mwlucas at blackhelicopters.org Thu Apr 26 21:11:06 2012 From: mwlucas at blackhelicopters.org (Michael W. Lucas) Date: Thu, 26 Apr 2012 17:11:06 -0400 Subject: [rancid] Set per-host timeout in .cloginrc? Message-ID: <20120426211106.GA64187@bewilderbeast.blackhelicopters.org> Hi, I have a Mikrotik that runs export very slowly. It has several full-route BGP peers in IPv4 and IPv6, filtering rules, and so on, so this isn't terribly surprising. The default rancid timeout is 90 seconds. Is it possible to change the timeout in .cloginrc for just this particular host, or do I need to edit mtlogin? ==ml -- Michael W. Lucas http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/ Latest book: SSH Mastery http://www.michaelwlucas.com/nonfiction/ssh-mastery mwlucas at BlackHelicopters.org, Twitter @mwlauthor From heas at shrubbery.net Thu Apr 26 22:04:26 2012 From: heas at shrubbery.net (heasley) Date: Thu, 26 Apr 2012 15:04:26 -0700 Subject: [rancid] Set per-host timeout in .cloginrc? In-Reply-To: <20120426220017.8BD6B88C84@guelah.shrubbery.net> <20120426211106.GA64187@bewilderbeast.blackhelicopters.org> Message-ID: <20120426220426.GJ61005@shrubbery.net> Thu, Apr 26, 2012 at 05:11:06PM -0400, Michael W. Lucas: > Hi, > > I have a Mikrotik that runs export very slowly. It has several > full-route BGP peers in IPv4 and IPv6, filtering rules, and so on, so > this isn't terribly surprising. > > The default rancid timeout is 90 seconds. > > Is it possible to change the timeout in .cloginrc for just this > particular host, or do I need to edit mtlogin? cloginrc timeout knob is supposed to provide this, but its missing in mtlogin. this patch should do it. Index: bin/mtlogin.in =================================================================== --- bin/mtlogin.in (revision 2457) +++ bin/mtlogin.in (working copy) @@ -71,7 +71,7 @@ # tracks if we receive them on the command line. set do_passwd 1 # Sometimes routers take awhile to answer (the default is 10 sec) -set timeout 45 +set timeoutdflt 45 # Find the user in the ENV, or use the unix userid. if {[ info exists env(CISCO_USER) ]} { @@ -177,7 +177,7 @@ -T* { if {! [ regexp .\[tT\](.+) $arg ignore timeout]} { incr i - set timeout [ lindex $argv $i ] + set timeoutdflt [ lindex $argv $i ] } # Command file } -x* - @@ -466,6 +466,12 @@ set autoenable 1 set enable 0 + # device timeout + set timeout [find timeout $router] + if { [llength $timeout] == 0 } { + set timeout $timeoutdflt + } + # Figure out passwords if { $do_passwd } { set pswd [find password $router] From rwest at zyedge.com Fri Apr 27 13:27:25 2012 From: rwest at zyedge.com (Ryan West) Date: Fri, 27 Apr 2012 13:27:25 +0000 Subject: [rancid] F5 BIG-IP devices - any tricks? In-Reply-To: References: Message-ID: <5DC4853C6CC3EE4788779E0726E034DD0119E0C1@zy-ex1.zyedge.local> Josh, Can you post your full f5rancid? I'm not having much luck with the link that was provided earlier. Thanks, -ryan -----Original Message----- From: rancid-discuss-bounces at shrubbery.net [mailto:rancid-discuss-bounces at shrubbery.net] On Behalf Of dl Sent: Thursday, April 26, 2012 2:30 PM To: Baird, Josh Cc: rancid-discuss at shrubbery.net Subject: Re: [rancid] F5 BIG-IP devices - any tricks? I've been able to get BIG-IP 10.2.2 Build 763.3 Final and BIG-IP 10.2.2 Build 930.0 Hotfix HF3 to work with rancid. Ubuntu Lucid version, with some patches: - rancid user on the LTM device has to have full perms (Administrator with Advanced Shell) - the expect patch has to be applied (http://www.shrubbery.net/rancid/#osystems) - I'm using rancid package 2.3.2-1 but replaced f5login script and clogin script with the version from 2.3.8 I'm reviewing my changes to verify this is all I've modified, I'll let you know if I find something else missing (just got it working in Dev and about to prop the changes to prod so I'll be reviewing it all here today). On Thu, Apr 26, 2012 at 05:22, Baird, Josh wrote: > I'll try this today. > > -----Original Message----- > From: rancid-discuss-bounces at shrubbery.net > [mailto:rancid-discuss-bounces at shrubbery.net] On Behalf Of Matthew > Walster > Sent: Thursday, April 26, 2012 5:08 AM > To: Shain Singh > Cc: rancid-discuss at shrubbery.net > Subject: Re: [rancid] F5 BIG-IP devices - any tricks? > > On 21 March 2012 08:58, Shain Singh wrote: >>> Has anyone managed to do that ? (full shell, read only access) or >>> access using sudo ? >> >> I'd say it may be easier trying to write another Expect script to use >> the tmsh instead. Makes it future proof as I believe F5 is heading >> away from giving complete shell access to their devices. > > It would appear someone's made a good effort on producing this code, > but I don't have any non-production boxes to test it against. > > Does the following work for you? > > http://blog.routedlogic.net/2011/12/08/rancid-monitoring-of-f5s-with-b > igip-v11-x/ > > Matthew Walster > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss > _______________________________________________ > Rancid-discuss mailing list > Rancid-discuss at shrubbery.net > http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss _______________________________________________ Rancid-discuss mailing list Rancid-discuss at shrubbery.net http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From sylvain74230 at yahoo.fr Fri Apr 27 14:57:42 2012 From: sylvain74230 at yahoo.fr (Sylvain 74) Date: Fri, 27 Apr 2012 15:57:42 +0100 (BST) Subject: [rancid] (no subject) Message-ID: <1335538662.3840.YahooMailNeo@web28706.mail.ir2.yahoo.com> http://bbqandbluesinthepark.com/wp-content/themes/thesis_16/mynews.php?sugar160.jpeg -------------- next part -------------- An HTML attachment was scrubbed... URL: From heas at shrubbery.net Sat Apr 28 07:22:05 2012 From: heas at shrubbery.net (heasley) Date: Sat, 28 Apr 2012 07:22:05 +0000 Subject: [rancid] F5 BIG-IP devices - any tricks? In-Reply-To: References: Message-ID: <20120428072205.GA24822@shrubbery.net> Thu, Apr 26, 2012 at 11:30:14AM -0700, dl: > - the expect patch has to be applied (http://www.shrubbery.net/rancid/#osystems) Please tell us what version of tcl and expect you have. From rwest at zyedge.com Sat Apr 28 14:30:35 2012 From: rwest at zyedge.com (Ryan West) Date: Sat, 28 Apr 2012 14:30:35 +0000 Subject: [rancid] F5 BIG-IP devices - any tricks? In-Reply-To: <20120428072205.GA24822@shrubbery.net> References: <20120428072205.GA24822@shrubbery.net> Message-ID: <5DC4853C6CC3EE4788779E0726E034DD011A1D19@zy-ex1.zyedge.local> John, The link that was provided earlier by Matthew seems promising. I was able to run all commands on both v10 and v11 devices. The patch, however, did not apply properly against a 2.3.8 build and my attempts to manually input the lines worked except for this routine, where it fails at the end: +# This routine processes a "tmsh list" +sub WriteTermTMSH { + my($lines) = 0; + print STDERR " In WriteTerm: $_" if ($debug); + + while () { + tr/15//d; + next if (/^s*$/); + # end of config - hopefully. f5 does not have a reliable end-of-config + # tag. + if (/^$prompt/) { + $found_end++; + last; + } + return(-1) if (/command authorization failed/i); + + $lines++; + + if (/(bind-pw|encrypted-password|user-password-encrypted|passphrase) / && $filter_pwds >= 1) { + ProcessHistory("ENABLE","","","# $1 n"); + next; + } + + # catch anything that wasnt matched above. + ProcessHistory("","","","$_"); + } + + if ($lines 'ShowVersion'}, Here is the link to the full changes. If anyone can tell me how to fix the last line, I should be able to quickly test it against v11 and v10 devices that we monitor. http://blog.routedlogic.net/2011/12/08/rancid-monitoring-of-f5s-with-bigip-v11-x/ Thanks, -ryan -----Original Message----- From: rancid-discuss-bounces at shrubbery.net [mailto:rancid-discuss-bounces at shrubbery.net] On Behalf Of heasley Sent: Saturday, April 28, 2012 3:22 AM To: dl Cc: rancid-discuss at shrubbery.net Subject: Re: [rancid] F5 BIG-IP devices - any tricks? Thu, Apr 26, 2012 at 11:30:14AM -0700, dl: > - the expect patch has to be applied (http://www.shrubbery.net/rancid/#osystems) Please tell us what version of tcl and expect you have. _______________________________________________ Rancid-discuss mailing list Rancid-discuss at shrubbery.net http://www.shrubbery.net/mailman/listinfo.cgi/rancid-discuss From mwlucas at blackhelicopters.org Mon Apr 30 15:06:24 2012 From: mwlucas at blackhelicopters.org (Michael W. Lucas) Date: Mon, 30 Apr 2012 11:06:24 -0400 Subject: [rancid] Set per-host timeout in .cloginrc? In-Reply-To: <20120426220426.GJ61005@shrubbery.net> References: <20120426220017.8BD6B88C84@guelah.shrubbery.net> <20120426211106.GA64187@bewilderbeast.blackhelicopters.org> <20120426220426.GJ61005@shrubbery.net> Message-ID: <20120430150624.GA79135@bewilderbeast.blackhelicopters.org> Patch works. Timeout is successfully set, changes checked in. Thank you! ==ml On Thu, Apr 26, 2012 at 03:04:26PM -0700, heasley wrote: > Thu, Apr 26, 2012 at 05:11:06PM -0400, Michael W. Lucas: > > Hi, > > > > I have a Mikrotik that runs export very slowly. It has several > > full-route BGP peers in IPv4 and IPv6, filtering rules, and so on, so > > this isn't terribly surprising. > > > > The default rancid timeout is 90 seconds. > > > > Is it possible to change the timeout in .cloginrc for just this > > particular host, or do I need to edit mtlogin? > > cloginrc timeout knob is supposed to provide this, but its missing in > mtlogin. this patch should do it. > > Index: bin/mtlogin.in > =================================================================== > --- bin/mtlogin.in (revision 2457) > +++ bin/mtlogin.in (working copy) > @@ -71,7 +71,7 @@ > # tracks if we receive them on the command line. > set do_passwd 1 > # Sometimes routers take awhile to answer (the default is 10 sec) > -set timeout 45 > +set timeoutdflt 45 > > # Find the user in the ENV, or use the unix userid. > if {[ info exists env(CISCO_USER) ]} { > @@ -177,7 +177,7 @@ > -T* { > if {! [ regexp .\[tT\](.+) $arg ignore timeout]} { > incr i > - set timeout [ lindex $argv $i ] > + set timeoutdflt [ lindex $argv $i ] > } > # Command file > } -x* - > @@ -466,6 +466,12 @@ > set autoenable 1 > set enable 0 > > + # device timeout > + set timeout [find timeout $router] > + if { [llength $timeout] == 0 } { > + set timeout $timeoutdflt > + } > + > # Figure out passwords > if { $do_passwd } { > set pswd [find password $router] -- Michael W. Lucas http://www.MichaelWLucas.com/, http://blather.MichaelWLucas.com/ Latest book: SSH Mastery http://www.michaelwlucas.com/nonfiction/ssh-mastery mwlucas at BlackHelicopters.org, Twitter @mwlauthor