Monday, August 3, 2009

Router Core Dumps

I wanted to write something about a very seldom used series of commands used to save the last gasp of a router to a server via something like tftp, of in this case ftp.

• The Core dump:
How do you save a router core dump to a server?
First off you have to know that saving a core dump via the exception command - something like this...
!
router# exception dump [hostname or IP]

will pass the file via tftp to the server you defined. The issue with this is that it will only dump the first 16 MB of the core file. This is a tftp limitation so lets just move onto configuring it to use ftp.

• FTP configuration
First you have to setup the service and you would think the command would be something like "service ftp" but no...

router#ip ftp username [somename]
!
router#ip ftp password [somepassword123]

• The exception command is the next step and here are the options you get:

router#exception ?
core-file --- Set name of core dump file
crashinfo --- Crashinfo collection
data-corruption --- Data error exception handling
delay-dump --- Pause dump (in the case of dump via peer)
dump --- Set name of host to dump to
flash --- Set the device and erase permission
memory --- Memory leak debugging
protocol --- Set protocol for sending core file
region-size --- Size of region for exception-time memory pool
spurious-interrupt --- Crash after a given number of spurious interrupts

We will elect to set the protocol:
!
router#exception protocol ftp
!


• Now the real heart of al this, the dump command with the the server ip
!
router #exception dump [x.x.x.x]

Thats all their is to it. Have fun testing this one out.