Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Third-Party Software For Cisco Routers?

4 views
Skip to first unread message

Le Chaud Lapin

unread,
Oct 27, 2010, 11:48:50 PM10/27/10
to
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:

0. 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:

http://www.juniper.net/us/en/products-services/nos/junos/junos-sdk/

TIA,

-Le Chaud Lapin-

Doug McIntyre

unread,
Oct 28, 2010, 1:05:10 AM10/28/10
to
Le Chaud Lapin <jaibu...@gmail.com> writes:
>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:

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

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.

>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.

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.

http://www.cisco.com/en/US/products/ps6449/index.html

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.

>Ideally, Cisco would offer somthing like Juniper's JunOS SDK:
>http://www.juniper.net/us/en/products-services/nos/junos/junos-sdk/

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.

bod43

unread,
Oct 28, 2010, 6:36:21 AM10/28/10
to
On 28 Oct, 06:05, Doug McIntyre <mer...@geeks.org> wrote:

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.

Le Chaud Lapin

unread,
Oct 29, 2010, 1:53:41 AM10/29/10
to
On Oct 28, 12:05 am, Doug McIntyre <mer...@geeks.org> wrote:
> Le Chaud Lapin <jaibudu...@gmail.com> writes:
[snip]

> 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.

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-

0 new messages