AXP Tips and Tricks

Analysis
Feb 12, 20094 mins

Every once and while the Planets line up the stars intersect certain orbital planes and something awesome happens. Like the time when I drank my first Newcastle Ale or learning how to fish with a Rapala X-Rap or my Mother in Law canceled her week stay at our house. Every once and while, something cool happens. At Cisco, for me that event was the AXP module. I know it sounds kinda cheesy but the AXP is something I have been waiting on for a long time. The ability to interact directly with a router via a native API and not just the router but the modular code constructs inside the IOS itself. I played around with the CUAE for a while, writing my own applications for voice stuff. I also wrote a bunch of TCL scripts for EEM apps on the Catalyst line. It was a real hoot but still I wanted to write code that could mine info from all areas of the router. Then I was introduced to the AXP. This is the interactive part of the blog; download “I Don’t Want to Miss a Thing” by Aerosmith and press play, NOW. Picture me, in a field of green lush grass swinging the AXP module around in a slow circle…Man, Valentines day is really getting to me… Anyway… I am a huge fan of the AXP, but along the way I have made some mistakes and learned better ways of using the module. So here are a few quick tips to overcome some of the issues I had with the AXP. 00×01 Java I was out a customer a site trying to get the Java SDK 1.5 working on the AXP and could never get it to go. Good ole Anurag Gurtu showed me the light on this one. By default the AXP supports IBM J9. To use the Java 1.5 SDK then all you need to do is: – Download the SDK – Package build it with the pkg_build script – Install the app – Then set JAVA_HOME and then your ready to go 00×02 Multicasting Many of the coolest ideas out there today revolve around multicasting. But how do we get the AXP to multicast thru the router itself. The router config is simple enough right: config t ip multicast-routing interface fa0/0 ip pim sparse-dense-mode ip igmp version 3 exit interface Integrated-Service-Engine1/0 ip pim sparse-dense-mode ip igmp version 3 end Now I just add a multicast route on the AXP: ip route 224.0.0.0 240.0.0.0

and test with the mping command to verify and now we are ready to go! 00×03 The Unknown Version error This one had me going. But once again Anurag hooked me up with a often overlooked command. When building a package with a dependency, I used the command: deps ssid when I uploaded I got the error: “Unknown Version Attribute 0” I needed to carry that command out a bit further and use the command: deps ssid version specifier worked great after that! 00×04 Log Viewing Log files are critical when writing applications for debugging and system interaction. But what do you do if your app does not write to /var/logs? The simplest answer is normally the best one. I easy tip for doing this is to create symbolic link in your post install script. If my app writes to coolapp.log then it would be: ln -s /var/log/coolapp.log /coolapp.log Now you can view the logs via the show logs command and read the contents with show logs name coolapp.log We also did a great WebEx session with the AXP development and management team. If you missed it, make sure you go out to: http://blogs.cisco.com/innovation/comments/vod_cisco_virtual_workshop/ and check it out. Plus if you run into any problems in development like I almost always do, then check out the fantastic support community at: http://developer.cisco.com/web/axp/forums Now time for me to take my AXP module out for a picnic… Happy Coding! Jimmy Ray Purser Trivia File Transfer Protocol Nothing makes folks run for the hills like skanky breath. The phrase “Often a bridesmaid but never a bride” actually comes from an advertisement for Listerine mouthwash. The text was written by Milton Feasley and first appeared in 1925.