Third-Party Software For Cisco Routers?

Hi All,

I have been assuming for years that Cisco will not allow third-party software to run on their routers, then realized tonight that I should ask instead of assuming.

Two questions:

  1. Has IOS morphed into a full-blown operating system or is it stil what it was 20 years ago?

  1. Is there any way of getting 3rd-party software onto a commercial Cisco router? More than 99% of the software would be written in The Purest C++, but the remaining 1% would require robust synchronization primitives from the underlying OS, including threads, mutexes, events, semaphores, etc. Gutting the router just to get my software onto it would not be an option. I would need to add the software to already- deployed routers.

Ideally, Cisco would offer somthing like Juniper's JunOS SDK:

formatting link
TIA,

-Le Chaud Lapin-

Reply to
Le Chaud Lapin
Loading thread data ...

IOS is a narrow view of what Cisco is using now, so you can't be so generic. Ie. they have NX-OS for switches (which is linux underneath). Samething with the ASA's as of version 8.2+ or so. There are also two more variations of IOS.

Configs are simular enough from one varient to another.

I'd say it is a full blown OS, but they don't give you access beyond their command shell and probably never will, so its probably not moot to what you want.

Cisco came out with kind of a product for you. Its not cheap though. I also don't know the future path of it, since its only listed for the ISR and not the ISR G2.

formatting link
Basicly a PC on a card, that lets you write sandboxed code to run on it that can interface to the router in interesting ways. Probably not tight enough integration for you though.

Cisco also has the EEM system that could launch TCL scripts based on certain conditions.

Well, JunOS has it easy, since its FreeBSD running on a PC, just with a whole lotta hardware ASIC muscle behind that. Cisco isn't going to let you interface to the linux kernel that hides behind some of its newer IOS lines though.

Reply to
Doug McIntyre

As Doug says:- Many/most/all routers now have TCL. It has a lot of hooks into the underlying OS and seems quite capable. You need a fancy Feature Set.

To start to learn TCL a few years ago I wrote a Game Of Life that ran on TCL on IOS. I didn't get the job and so never did any more.

Hmmm. My code won't run now.

Very odd, I did all the development by editing off-line and pasting the code in to a VTY to run it but that no longer works since IOS does not seem to correctly buffer the input and code is getting lost.

Probably a bug that has been fixed. I am on c870-advipservicesk9-mz.124-15.T7.bin at present.

Oh yes; the Game of Life was done on dynamips. I can't remember whether I used a VTY or the console.

Quite cool.

Game of Life on TCL on IOS on Dynamips router emulator (likes Linux) on Cygwin linux emulator (dynamips on windows always uses cygwin) on Windows Vista

Miracle it worked at all but it really did. Just shows how robust modern software can be.

Here is what happens on an 877 I have here.

tt#tclsh

Then pasting this in:-

set x "a b c" puts "Item at index 2 of the list {$x} is: [lindex $x 2]\n"

Produces this

tt(tcl)#set x "a b c" a b c tt(tcl)#]\n" invalid command name "] "" ^ % Invalid input detected at '^' marker.

tt(tcl)#

Pasting the lines seperately does work as expected.

Years ago someone did a linux build for IOS that could be put on a 2500 router. No use at all but I understand it did run.

Reply to
bod43
[snip]

How unfortunate.

Knowing that the back end for Cisco has beciome, in some cases, Linux, is still useful, however.

I guess I will take what I can and focus on Juniper.

-Le Chaud Lapin-

Reply to
Le Chaud Lapin

Cabling-Design.com Forums website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.