AXP 1.6 Developer Guide
Appendices

Table Of Contents

Appendices

Appendix A: Porting an Application from Fedora Core 6: Examples

Setup

Example 1: Simple C++ Application

Example 2: Porting an Existing Application

Identifying Cisco AXP Package Contents

Libraries

Bundling Libraries in Your Application

Identifying Libraries to Bundle

Libc files

Library location and LD_LIBRARY_PATH

Appendix B: Commands in AXP Reference OS

Cisco AXP 1.5 Reference OS Commands

Files Trimmed from Cisco AXP Reference OS

Cisco AXP 1.1 Reference OS Commands

Nonexecutable Binary Commands

Appendix C: Libraries in AXP Reference OS

Libraries in Cisco AXP Reference OS

Libraries in Cisco AXP 1.1 Reference OS

Appendix D: Comparison of Linux Distributions for AXPOS

Appendix E: RPM Packages in the AXP Reference OS

Appendix F: Skeleton Virtual Instance Files

Appendix G: Configuring Applications

Remote Serial Device Configuration

Verifying Remote Serial Device

Remote Serial Device Configuration: Example

Testing Remote Serial Device: Example

Netconf

Configuring Netconf/ssh on Cisco IOS Software

Configuring Netconf/ssh on Cisco AXP Service Module

Configuring Netconf/ssh: Example

Netconf Sessions

Troubleshooting ssh Connection

Additional References

Synchronizing Files

Prerequisites

Synchronization Example

CLI Plug-in Invocation

EXEC Mode

Configuration Mode

Application Status Monitor

Configuring the Application Status Monitor Interval and Recovery Threshold

Verifying the Application Status Monitor Output

Tracing

Packet Analysis

Configuring Router IP Traffic Export

Enabling Interface Monitoring

Diagnostic Commands

copy tech-support Command

show tech-support Command

show resource limits Command

show resource limits memory Command

show resource limits memory Command—top level

show resource limits memory Command—application sub-mode

Appendix H: AXP Ports Usage

Appendix I: API Schemas

common.xsd

param.xsd

axp-sysInfo.xsd

axp-sysOp.xsd

axp-notify.xsd

axp-notify-configChange.xsd


Appendices


This is a list of the appendices for Cisco AXP.

Appendix A: Porting an Application from Fedora Core 6: Examples

Appendix B: Commands in AXP Reference OS

Appendix C: Libraries in AXP Reference OS

Appendix D: Comparison of Linux Distributions for AXPOS

Appendix E: RPM Packages in the AXP Reference OS

Appendix F: Skeleton Virtual Instance Files

Appendix G: Configuring Applications

Appendix H: AXP Ports Usage

Appendix I: API Schemas

Appendix A: Porting an Application from Fedora Core 6: Examples

This section shows two examples of porting an application from a Fedora Core 6 development environment onto Cisco AXP.

Example 1 is a simple C++ application. Example 2 is a more complex application that ports httpd software from the Apache Software Foundation.

This section consists of the following stages:

Setup

Example 1: Simple C++ Application

Example 2: Porting an Existing Application

Identifying Cisco AXP Package Contents

Bundling Libraries in Your Application

Setup

The development environment setup used is based on a Fedora Core 6 workstation.

The Fedora Core 6 workstation is used for both of the following:

port source platform

development machine

Set up the machine and prepare it for Cisco AXP development.

Install the base OS on the workstation—Fedora Core 6.

Install and configure the tftp, ftp server.

Install other packages needed for Cisco AXP SDK.

Install sharutils (uuencode utility).

If the XML processing software xmlstarlet is not already present, install xmlstarlet.

Download and extract the Cisco AXP SDK tar file axp-sdk.<package>.tar.gz from the "Download Software" link in the Support area at: http://www.cisco.com/en/US/products/ps9701/index.html.

Create a workspace directory in which to work.

Example 1: Simple C++ Application

When a C++ application is compiled with the Fedora Core 6 compiler (3.4.4), the produced binaries are dependent at a minimum on the following libraries (found using ldd):

libstdc++.so.6
libm.so.6
libgcc_s.so.1
libc.so.6
/lib/ld-linux.so.2

These libraries are provided by AXP Reference OS so that the minimum set of libraries does not have to be bundled as part of a third party application.

Ensure that the path LD_LIBRARY_PATH is setup prior to launching an application.

Example:

LD_LIBRARY_PATH=/usr/lib:/lib

For this simple application, there is no need to patch the libc. The application works with the AXP Reference OS libraries. However, applications that are compiled in Fedora Core 6 have a different linking format, and when they are run in another environment they may fail with a floating point exception error. To alleviate this exception: compile your C/C++ application in Fedora Core 6 using either linking option "-Xlinker -hash-style=sysv" or "-Xlinker -hash-style=both".

When running your simple C++ application on the Cisco AXP blade, if you encountered a Thread Local Storage (TLS) error, then your program requires TLS support. Cisco AXP does not support TLS. However you can still port your application to Cisco AXP by including the libc libraries, including all libraries that provide support for libc.

See the "Updating System Libraries" section on page 250.

Example 2: Porting an Existing Application

The source operating system is Fedora Core 6 Linux—a popular distribution offering a large number of downloadable applications (RPM packages). To port Apache's httpd application to the network-module on Cisco AXP, perform the following steps.

1. Download the RPM

2. Extract the RPM

3. Inspect the RPM Contents

4. Postinstall Script

5. Script Examples

6. Troubleshooting: Missing Configuration File

Download the RPM

Download the httpd RPM package from the Fedora Core website. Obtain the compiled version, not the source package.) Ensure that the package is for the i386 platform. This example does not build the executable from source code.

Extract the RPM

Extract the content of the RPM. This enables you to examine the content, modify the RPM file content as appropriate, add other files, and repackage.

For extracting the RPM use the provided Cisco AXP RPM Extraction tool. The RPM extractor tool is part of Cisco AXP SDK, located in the tools directory. To use the RPM extractor tool all you need is to create a directory and specify the extracted RPM file is to be written to this directory. Create a directory called extracted_httpd_rpm.

An example of extracting the RPM is:

../tools/rpm_extractor.sh --proj extracted_httpd_rpm httpd-2.2.3-5.i386.rpm

The rpm_extractor tool creates the following directory structure under the extracted_httpd_rpm directory:

rpm_extractor  
deps
output
scripts

The deps directory contains a file, httpd-2.2.3-5.i386.rpm.deps, which lists the various commands and libraries that the extracted RPM file is dependent upon. The output directory contains the directory and file contents of the extracted RPM file. Copy these directories to the source directory. Use the files to package the httpd data. The scripts directory have a file, httpd-2.2.3-5.i386.rpm.scripts, which contains any preinstall, postinstall and preuninstall scripts. The preinstall and postinstall scripts can be copied into your Cisco AXP postinstall script that you use for your application, but you must verify that these commands will run on the Cisco AXP blade. Some changes to these commands may be required. Cisco AXP does not support preuninstall scripts.

Inspect the RPM Contents

This example reuses as much of the RPM content. "httpd" will not be running on a Fedora Core 6 distribution and you must make sure that the dependencies of the executable from the RPM are resolved.

To resolve the dependencies, go into each script and executable provided by the RPM and make sure that the script includes all the dependent software such as binaries, libraries and a configuration file that is then packaged into the new Cisco AXP installed package.

Identifying Libraries to Bundle

See the "Bundling Libraries in Your Application" section.

After running "strace" on the httpd executable, we identified the libraries that were loaded and copy them in our directory structure. It is important to also recreate the links that points to those libraries in our directory structure. Here is the list of the libraries and the symbolic libraries to include.

Other libraries that are libc-related libraries and are still required, but are covered in a later section:

From the library /lib:

libcom_err.so.2->libcom_err.so.2.1

libcrypto.so.0.9.8b

libcrypto.so.6->libcrypto.so.0.9.8b

libdb-4.3.so

libdistcache.so.1->libdistcache.so.1.1.1

libexpat.so.0->libexpat.so.0.5.0

libexpat.so.0.5.0

libgcc_s.so.1->libgcc_s-4.1.1-20061011.so.1

libnal.so.1->libnal.so.1.1.1

libpcre.so.0->libpcre.so.0.0.1

libselinux.so.1

libsepol.so.1

libssl.so.4->libssl.so.0.9.8b

libssl.so.6->libssl.so.0.9.8b

libuuid.so.1->libuuid.so.1.2

From /usr/lib:

libapr-1.so.0->libapr-1.so.0.2.7

libaprutil-1.so.0->libaprutil-1.so.0.2.7

libaspell.so.15->libaspell.so.15.1.3

libbz2.so->libbz2.so.1.0.3

libbz2.so.1->libbz2.so.1.0.3

libcurl.so->libcurl.so.3.0.0

libcurl.so.3->libcurl.so.3.0.0

libgmp.so->libgmp.so.3.3.3

libgmp.so.3->libgmp.so.3.3.3

libgssapi_krb5.so->libgssapi_krb5.so.2.2

libgssapi_krb5.so.2->libgssapi_krb5.so.2.2

libidn.so->libidn.so.11.5.19

libidn.so.11->libidn.so.11.5.19

libk5crypto.so->libk5crypto.so.3.0

libk5crypto.so.3->libk5crypto.so.3.0

libkrb5.so->libkrb5.so.3.2

libkrb5.so.3->libkrb5.so.3.2

libkrb5support.so->libkrb5support.so.0.1

libkrb5support.so.0->libkrb5support.so.0.1

liblber-2.3.so.0->liblber-2.3.so.0.2.15

liblber.so->liblber-2.3.so.0.2.15

libldap-2.3.so.0->libldap-2.3.so.0.2.15

libldap_r-2.3.so.0->libldap_r-2.3.so.0.2.15

libldap.so->libldap_r-2.3.so.0.2.15

libperl.so

libpq.so.4->libpq.so.4.1

libpspell.so.15->libpspell.so.15.1.3

libpython2.4.so->libpython2.4.so.1.0

librt.so.1->librt-2.5.so

libsasl2.so->libsasl2.so.2.0.22

libsasl2.so.2->libsasl2.so.2.0.22

libselinux.so.1->../../lib/libselinux.so.1

libsqlite3.so->libsqlite3.so.0.8.6

libsqlite3.so.0->libsqlite3.so.0.8.6

libstdc++.so.6->libstdc++.so.6.0.8

libutil.so.1->libutil-2.5.so

libxml2.so->libxml2.so.2.6.26

libxml2.so.2->libxml2.so.2.6.26

libz.so->libz.so.1.2.3

libz.so.1->libz.so.1.2.3

Postinstall Script

The extraction tool reports any installation related scripts bundled in the RPM as it extracts the RPM package. The RPM system supports a different hook to trigger an install-related script. Compare this to Cisco AXP, which only supports a postinstall script.

Go through all the installation scripts that are bundled in the original RPM package and "port" them to a Cisco AXP postinstall script. When the postinstall script runs it makes sure the installation scripts run in Cisco AXP. These installation scripts or steps are specific to the needs of the package.

For example, installation steps can include: creating users, setting permission, creating directories, and setting up the base configuration. In the postinstall script, mimic the functionality of each of the original scripts and test the postinstall script in the Cisco AXP environment.

In the scripts directory created by the rpm_extractor tool, there is a file httpd-2.2.3-5.i386.rpm.scripts that contains scripts extracted from the RPM file.

You must test each script manually on Cisco AXP to check that the commands are supported. Make any code changes required, and repackage the files using Cisco AXP SDK packaging tool.

Script Examples

The following examples are for preinstall, postinstall, and preuninstall scripts. (Cisco AXP does not support postuninstall scripts.)

preinstall scriptlet (using /bin/sh)

# Add the "apache" user
/usr/sbin/useradd -c "Apache" -u 48 \
        -s /sbin/nologin -r -d /var/www apache 2> /dev/null || :


Note Testing the preinstall script shows that Cisco AXP does not support the creation of system accounts (-r option). Also, you do not need to redirect the stderr to the bit bucket.


postinstall scriptlet (using /bin/sh)

# Register the httpd service
/sbin/chkconfig --add httpd


Note Testing the postinstall script shows that Cisco AXP does not support the chkconfig command. Therefore, you will probably need to create your own start and kill symbolic links in the /etc/rc.d/rc3 and rc6 directory, and have the links point to the httpd startup script in folder etc/rc.d/init.d .


Apache expects a group named "apache" with an id of 48 to exist.

preuninstall scriptlet (using /bin/sh)

if [ $1 = 0 ]; then
        /sbin/service httpd stop > /dev/null 2>&1
        /sbin/chkconfig --del httpd
fi

/bin/postinstall.sh

#!/bin/bash

#add group
/usr/bin/groupadd -g 48 apache

#add user
/usr/bin/useradd -c "Apache" -u 48 -s /sbin/nologin -d /var/www apache

Troubleshooting: Missing Configuration File

It is possible that when you start httpd on the network-module, httpd complains about a missing "/etc/mime.types" file. The file comes from "mailcap" package which is not a dependent package. However, for the purposes of this example, include the file from the "mailcap" package.

Identifying Cisco AXP Package Contents

Libraries

To avoid recompiling the httpd software from source code, include the Fedora Core 6 system libraries. This is required because the RPM executables were compiled against the Fedora system libraries and not the libraries in the virtual instance.

Fedora Core 6 comes with libc-2.5 and Native Portable Operating System Interface (POSIX) Thread Library (NPTL) support whereas the vserver provides libc-2.3.5 which is compiled without NPTL support. To solve this problem, all the libraries that are required by the httpd application must be included in the installation package.

Identify what is required to be copied from the workstation (running Fedora Core 6) when installing the package. Taking all of the libraries would include unnecessary libraries taking up an unnecessarily large amount of disk space.

To identify the required libraries, you can use these utilities:

ldd checker

pkg_check.sh

These utilities will tell you which libraries are missing in the Cisco AXP installation package and are not provided by the virtual instance.


Note Some libraries might not be identified as missing using the above checks, but these libraries should still be included in the installation package as well as being on the vserver. This is so that the library in the package is compatible with libc-2.5 from Fedora Core 6—the library in the package is used in preference to the library provided by the vserver.


You can identify the required libraries of an executable using the "ldd" tool by running the tool on the executable and the libraries that the executable depends on. Another alternative is to install httpd on the workstation by installing the RPM and running httpd using the "strace" utility.

Bundling Libraries in Your Application

Identifying Libraries to Bundle

One important step is to identify the libraries that you have to package with your application. This is a critical step since your application will not run if libraries are missing after the application is installed on the network-module.

To identify libraries, use one of the following options:

1) Cisco AXP ldd-checker—this tool detects the missing libraries. It checks the application package and the list of libraries that are provided by the AXP Reference OS. This is the preferred way to identify missing libraries.

2) ldd tool—you can also use the ldd tool directly.

3) Use the "strace" utility—this is a little different, as this tool is actually run on the blade and will let you know which libraries are loaded and where they are found on the system. This is convenient when troubleshooting library issues.

Libc files

If the binary software to be ported to Cisco AXP depends on a different version of libc (for example, Fedora Core 6 uses libc 2.5), you will have to copy the libc from the system and bundle it in your application. You will also need to copy libraries required by libc. If not, there will be some mismatch at runtime between the libc in the software being ported to Cisco AXP and the version of libc that comes with the AXP Reference OS.

Here is a list of softlinks and the files they point to that should be included when bundling libc in an application:

ld.so.1 -> ld-2.5.so (Library loading)

libc.so.6 -> libc-2.5.so

libcrypt.so.1 -> libcrypt-2.5.so (Encryption)

libdl.so.2 -> libdl-2.5.so (Dynamic Linker)

libm.so.6 -> libm-2.5.so (Math library)

libnsl.so.1-> libnsl-2.5.so (Name Service Library)

libnss_dns.so.2 -> libnss_dns-2.5.so

libnss_files.so.2 -> libnss_files-2.5.so

libpthread.so.0 -> libpthread-0.10.so (POSIX Thread Support)

libresolv.so.2 -> libresolv-2.5.so (Name resolution)

librt.so.1 -> librt-2.5.so (Realtime Extension)

libthread_db.so.1 -> libthread-1.0.so (linuxthreads)

libutil.so.1 -> libutil-2.5.so (Utility)

Note: You need to make sure that all the software links related to those libraries provided by the AXP Reference OS were overwritten so that everything is pointing to the packaged libraries.

Library location and LD_LIBRARY_PATH


Note Environment variable LD_LIBRARY_PATH determines the libraries that examined. This variable must list the names of all the libraries required by the application.


If libraries are bundled inside the application under "/usr/lib" you must adjust the LD_LIBRARY_PATH to include the "/usr/lib" path.

Overwrite the AXP Reference OS libraries by placing new libraries in "/lib" (not in "/usr/lib").

Appendix B: Commands in AXP Reference OS

Cisco AXP 1.5 Reference OS Commands

Cisco AXP 1.1 Reference OS Commands

Nonexecutable Binary Commands

Cisco AXP 1.5 Reference OS Commands

Table 112 lists the binary commands that are available in the Cisco AXP 1.5 Reference OS (AXPOS), based on the CentOS linux distribution.

In Table 112, the "AXPOS (1.5) binary" column shows the commands in the Cisco AXP 1.5 Reference OS. The "1.1 Reference OS binary" column shows the equivalent command used in the
Cisco AXP 1.1 Reference OS. The "RPM" column gives the name of the RPM to install to use the command.

Table 112 CentOS Commands in AXPOS 

AXPOS (1.5) binary
1.1 Reference OS binary
RPM
Description

awk

awk

gawk

pattern scanning and processing

basename

basename

coreutils

strip directory and suffix from filenames

bash

bash

bash

GNU Bourne-Again Shell

cat

cat

coreutils

concatenate files and print on the standard output

chgrp

chgrp

coreutils

change group ownership

chmod

chmod

coreutils

change file access permissions

chown

chown

coreutils

change file owner and group

cksum

cksum

coreutils

checksum and count the bytes in a file

 

cmp

diffutils

compare two files

col

col

util-linux

filter reverse line feeds

colrm

colrm

util-linux

remove columns from a file

cp

cp

coreutils

copy files and directories

curl

curl

curl

transfer a URL

date

date

coreutils

print or set the system date and time

dd

dd

coreutils

convert and copy a file

df

df

coreutils

reports filesystem disk space usage

dig

dig

bind-utils

DNS lookup utility

dir

dir

coreutils

list directory contents

dirname

dirname

coreutils

strip non-directory suffix from file name

dmesg

dmesg

util-linux

print/control kernel ring buffer

du

du

coreutils

estimate file space usage

echo

echo

coreutils

display a line of text

egrep

egrep

grep

print lines matching a pattern

env

env

coreutils

run a program in a modified environment

 

expect

expect

programmed dialogue with interactive programs

expr

expr

coreutils

evaluate expressions

fdisk

fdisk

util-linux

partition table manipulator for Linux

find

find

findutils

search for files in a directory hierarchy

free

free

procps

display amount of free and used memory in system

 

gdbserver

gdb

remote server for the gnu debugger

getopt

getopt

util-linux

parse command options (enhanced)

grep

grep

grep

print lines matching a pattern

groupadd

groupadd

shadow-utils

create a new group

groupdel

groupdel

shadow-utils

modifies system account files, deleting entries referring to the specified group

groupmod

groupmod

shadow-utils

modifies the definition of a group

groups

groups

coreutils

prints the groups a user belongs to

gunzip

gunzip

gzip

uncompresses specified files that were previously compressed using gzip

gzip

gzip

gzip

compresses specified files and adds extension .gz

 

hdparm

hdparm

get/set hard disk parameters

head

head

coreutils

outputs the first ten lines of a file or list of files to standard output

hexdump

hexdump

util-linux

filters the specified files and displays them in a user defined format

host

host

bind-utils

resolve hostname

hostname

hostname

net-tools

shows or sets the system's host name

id

id

coreutils

prints information for the current user

ifconfig

ifconfig

net-tools

configure a network interface

init

init

sysvinit

process control initialization

 

iostat

sysstat

report cpu and i/o statistics for devices and partitions

 

ip

iproute

show/manipulate routing

ipcs

ipcs

util-linux

report xsi interprocess communication facilities status

 

java

libgcj

java programming language

kill

kill

util-linux

sends a signal to a process, default signal is TERM

 

killall

psmisc

kill processes by name

killall5

killall5

sysvinit

send signal to all process

ln

ln

coreutils

link files

logger

logger

util-linux

logs to syslog

losetup

losetup

util-linux

setup and control loop device

ls

ls

coreutils

list directory contents

 

lsmod

module-init-tools

show the status of modules in the Linux kernel

md5sum

md5sum

coreutils

compute and check MD5 message digest

mkdir

mkdir

coreutils

make directories

mkfifo

mkfifo

coreutils

make FIFOs (named pipes)

mknod

mknod

coreutils

make block or character special files

mktemp

mktemp

mktemp

make temporary file name

more

more

util-linux

filter for paging through text one screenful at a time

mount

mount

util-linux

mount a filesystem

 

mpstat

sysstat

report processors related statistics

mv

mv

coreutils

move (rename) files

netstat

netstat

net-tools

print network connections, routing tables, etc...

nice

nice

coreutils

modify scheduling priority

nohup

nohup

coreutils

run a command immune to hangup

 

open

kbd

open file or device

 passwd

passwd

passwd

update a user's authentication tokens

pgrep

pgrep

procps

look up or signal processes based on name and other attributes

pidof

pidof

sysvinit

find the process ID of a running program

 

pidstat

(n/a)

check the existence of a process on a remote machine

ping

ping

iputils

send ICMP ECHO_REQUEST to network hosts

pkill

pkill

procps

look up or signal processes based on name and other attributes

pmap

pmap

procps

report memory map of a process

printf

printf

coreutils

format and print data

pwd

pwd

coreutils

print name of current/working directory

pwdx

pwdx

procps

report current working directory of a process

 

python

python

an interpreted, interactive, object-oriented programming language

rename

rename

util-linux

renames multiple files

renice

renice

util-linux

alter priority of running process

rm

rm

coreutils

remove files/directories

rmdir

rmdir

coreutils

remove empty directories

route

route

net-tools

show/manipulate route table

runlevel

runlevel

sysvinit

find the current and previous system runlevel

sed

sed

sed

stream editor for filtering and transforming text

setsid

setsid

util-linux

run a program in a new session

setterm

setterm

util-linux

set terminal attributes

sh

sh

bash

the bash shell

sha1sum

sha1sum

coreutils

compute and check SHA1 message digest

skill

skill

procps

deprecated

sleep

sleep

coreutils

delay for a specified length of time

snice

snice

procps

deprecated

sort

sort

coreutils

sort lines of text files

strace

strace

strace

trace system calls and signals

stty

stty

coreutils

change and print terminal line settings

su

su

coreutils

run a shell with substitue user and group ID

 

syslog_ng

(n/a)

system logging; CentOS supports sysklogd no syslog-ng

tac

tac

coreutils

concatenate and print files in reverse

tail

tail

coreutils

output the last ten lines of files

tar

tar

tar

GNU version of the tar archiving utility to store or extract files to a tarfile

 

tc

iproute

show/manipulate traffic control settings

 

tcpdump

tcpdump

dump traffic on a network

 

telnet

krb5-workstation

user interface to the telnet protocol

test

test

coreutils

check file types and compare values

 

tftp

tftp

trivial file transfer protocol client

 

time

 

run programs and summarize system resource usage

top

top

procps

display Linux tasks

touch

touch

coreutils

change file timestamps

tr

tr

coreutils

translate or delete characters

 

traceroute

traceroute

print the route packets trace to network host

tty

tty

coreutils

print the file name of the terminal connected to stdin

umount

umount

util-linux

unmount filesystem

uname

uname

coreutils

print system information

uptime

uptime

procps

tell how long the system has been running

useradd

useradd

shadow-utils

creates a login user account on a local system

userdel

userdel

shadow-utils

deletes a user account

usermod

usermod

shadow-utils

modifies an existing user account

 

vconfig

vconfig

vlan configuration program

vi

vi

vim-minimal

line editor

vmstat

vmstat

procps

report virtual memory statistics

wc

wc

coreutils

print newline, word and byte counts for each file

which

which

which

locate a command

whoami

whoami

coreutils

print effective userid

FALSE

FALSE

coreutils

do nothing, indicates lack of success / failure

TRUE

TRUE

coreutils

do nothing, indicates success

addpart

 

util-linux

add partition ioctl

adduser

 

showdow-utils

add a user or group to the system

agetty

 

util-linux

alternative linux getty

alternatives

 

chkconfig

links to default commands

arch

 

util-linux

print machine architecture

arp

 

net-tools

manipulate system arp cache, requires /proc/net/arp

arping

 

iputils

send arp request to a neighbor host

avcstat

 

libselinux

display selinux avc statistics

base64

 

coreutils

encode/decode/print base64 data

bashbug-32

 

bash

bug report for bash

blockdev

 

util-linux

block device ioctls

cal

 

util-linux

display a calendar

captoinfo

 

ncurses

termcap to terminfo conversion

chage

 

shadow-utils

change user passwd expiry info

change_console

 

sysvinit

change console used by init

chcon

 

coreutils

change selinux security context

chfn

 

util-linux

change finger info

chkconfig

 

coreutils

updates and queries runlevel information for system services

chpasswd

 

shadow-utils

change password

chroot

 

coreutils

change root

chrt

 

util-linux

manipulate real-time attributes of a process

chsh

 

util-linux

change the login shell

clear

 

ncurses

clear the terminal screen

clock

 

util-linux

determine process time

clockdiff

 

iputils

measure clock difference between hosts

colcrt

 

util-linux

filter nroff output for CRT previewing

column

 

util-linux

columnate lists

comm

 

coreutils

compare 2 sorted files line by line

consoletype

 

initscripts

print type of console connected to stdin

cracklib-check

 

cracklib

cracklib utilities

cracklib-format

 

cracklib

cracklib utilities

cracklib-packer

 

cracklib

cracklib utilities

cracklib-unpacker

 

cracklib

cracklib utilities

create-cracklib-dict

 

cracklib

cracklib utilities

csplit

 

coreutils

split a file

ctrlaltdel

 

util-linux

set the funtion of ctrl-alt-del combo

cut

 

coreutils

remove sections from file

cytune

 

util-linux

tune cyclades driver params

ddate

 

util-linux

dates conversion (linux jokes)

delpart

 

util-linux

delete partition ioctl

dircolors

 

coreutils

color setup for ls

dmsetup

 

device-mapper

low level logical volume management

dmsetup.static

 

device-mapper

low level logical volume management

dnsdomainname

 

net-tools

show the system's DNS domain name

doexec

 

initscripts

run executable

domainname

 

net-tools

show or set the system's NIS/YP domain name

ether-wake

 

net-tools

wake-on-lan magic packet

ex

 

vim-minimal

start vi in ex mode

execcap

 

libcap

limit capabilities of a program

expand

 

coreutils

convert tabs to spaces

factor

 

coreutils

print factors

faillog

 

shadow-utils

display faillog

fdformat

 

util-linux

floppy disk format

fgrep

 

grep

print lines matching a pattern

flock

 

util-linux

manage locks from shell scripts

floppy

 

util-linux

floppy disk format

fmt

 

coreutils

text manipulation

fold

 

coreutils

text manipulation

fsck.cramfs

 

util-linux

check and optionally repair one or more Linux file systems ( -y option is unsupported)

fstab-decode

 

initscripts

decodes escapes in the specified FIARGUMENTs and uses them to run COMMAND. The argument escaping uses the same rules as path escaping in /etc/fstab, /etc/mtab and /proc/mtab

gawk

 

gawk

pattern scanning and processing language

gendiff

 

rpm

utility to aid in error-free diff file generation

genhostid

 

initscripts

generate random hostid

getenforce

 

libselinux

get current mode of selinux

getkey

 

initscripts

waits until one of the specified KEYS is pressed. If there are no specified KEYS, the pressing of any key is accepted. KEYS are matched case-insensitive.

getpcaps

 

libcap

display capabilities on processes

getsebool

 

libselinux

get selinux boolean value

glibc_post_upgrade.i686

 

glibc

glibc is a package containing contains standard libraries which are used by multiple programs on the system. glibc_post_upgrade.i686 is for running glibc

gpasswd

 

shadow-utils

administer /etc/group file

grpck

 

shadow-utils

verify group files

grpconv

 

shadow-utils

config passwd and group files

grpunconv

 

shadow-utils

config passwd and group files

gtar

 

tar

 

gzexe

 

gzip

compress executables

halt

 

sysvinit

shutdown the system

hostid

 

coreutils

print host id

hwclock

 

util-linux

config hw clock

iconvconfig

 

glibc

generates a cache that internationalised applications can use to reduce loading time

iconvconfig.i686

 

glibc

idn

 

libidn

internationalized domain name command line tool

ifdown

 

initscripts

takes down a network interface

ifenslave

 

iputils

attach/detach slave network devices

ifup

 

initscripts

brings a network off

igawk

 

gawk

simple shell script that adds the ability to have "include files" to gawk

info

 

info

read info documents

infocmp

 

ncurses

terminfo compare

infokey

 

info

compile customizations for Info

infotocap

 

ncurses

convert a terminfo description into a termcap description

initlog

 

initscripts

deprecated

install

 

coreutils

copy files and set attributes

install-info

 

info

creates, updates or removes entries in the Info dir file

ionice

 

util-linux

i/o scheduling

ipcalc

 

initscripts

simple manipulation of IP address

ipcrm

 

util-linux

remove IPC facility (shared mem, semaphore set, xsi message queue)

ipmaddr

 

net-tools

manipulate multicast address

iptunnel

 

net-tools

manipulate IP tunnels

isosize

 

util-linux

outputs the length of an iso9660 file system that is contained in given file.

join

 

coreutils

text manipulation

klogd

 

sysklogd

kernel log daemon

last

 

sysvinit

show listing of last logged in users

lastb

 

sysvinit

show listing of last logged in users

lastlog

 

shadow-utils

report last logins

lchage

 

libuser

display or change user password policy

lchfn

 

libuser

change finger information

lchsh

 

libuser

change login shell

ldconfig

 

glibc

 

less

 

less

 

lessecho

 

less

 

lesskey

 

less

 

lesspipe.sh

 

less

lgroupadd

 

libuser

add a user group

lgroupdel

 

libuser

delete a user group

lgroupmod

 

libuser

modify a user group

libgcc_post_upgrade

 

libgcc

lid

 

libuser

display users and groups info

link

 

coreutils

links files

lnewusers

 

libuser

create new user accounts

login

 

util-linux

to log in

logname

 

coreutils

 

look

 

util-linux

display lines beginning with a given string

lpasswd

 

libuser

change group or user password

luseradd

 

libuser

add a user

luserdel

 

libuser

delete a user

lusermod

 

libuser

modify a user

matchpathcon

 

libselinux

prints file path security context

mcookie

 

util-linux

generate magic cookie for xauth

mesg

 

sysvinit

control write access to terminal

mii-diag

 

net-tools

network adapter control and monitoring

mii-tool

 

net-tools

view/manipulate media-independent interface status

mkdict

 

cracklib-dicts

cracklib-dict utilities

mkfs

 

util-linux

build a linux filesystem

mkfs.cramfs

 

util-linux

mkswap

 

util-linux

setup linux swap area

mountpoint

 

sysvinit

check if a directory is a mountpoint

namei

 

util-linux

follow a pathname until a terminal point is found

nameif

 

net-tools

name network interfaces based on mac address

netplugd

 

net-tools

network cable hotplug management daemon

netreport

 

initscripts

request notification of network interface changes

newgrp

 

shadow-utils

create new group

newusers

 

shadow-utils

create new user

nisdomainname

 

net-tools

 

nl

 

coreutils

number of lines in a file

nologin

 

util-linux

politely refuse a login

nslookup

 

bind-utils

query internet name servers

nsupdate

 

bind-utils

dynamic dns update

od

 

coreutils

dump files in octal and other formats

openssl

 

openssl

openssl command line tool

packer

 

cracklib-dicts

 

pam_console_apply

 

pam

set or revoke permissions for users

pam_tally

 

pam

the login counter module

pam_tally2

 

pam

 

pam_timestamp_check

 

pam

check or clear authentication timestamps

partx

 

util-linux

telling the kernel about presence and numbering of on-disk partitions

paste

 

coreutils

merge lines of files

pathchk

 

coreutils

check whether file names are valid or portable

pcregrep

 

pcre

grep with perl compatible regex

pcretest

 

pcre

tesing perl compatible regex

pgawk

 

gawk

 

ping6

 

iputils

 

pinky

 

coreutils

lightweight finger

pivot_root

 

util-linux

change the root filesystem

plipconfig

 

net-tools

fine tune PLIP device params

poweroff

 

sysvinit

shutdown the system

ppp-watch

 

initscripts

PPP interface

pr

 

coreutils

convert text files for printing

printenv

 

coreutils

 

ps

 

procps

report a snapshot of current processes

ptx

 

coreutils

 

pwck

 

shadow-utils

verify integrity of password files

pwconv

 

shadow-utils

converts to/from shadow

pwunconv

 

shadow-utils

converts to/from shadow

ramsize

 

util-linux

query/set image root device, RAM disk size, or video mode

raw

 

util-linux

bind a linux raw character device

rdev

 

util-linux

query/set image root device, RAM disk size, or video mode

rdisc

 

iputils

network router discovery daemon

readlink

 

coreutils

display value of a sym link

readprofile

 

util-linux

read kernel profiling info

reboot

 

sysvinit

shutdown the system

reset

 

ncurses

terminal initialization

resetall

 

ncurses

terminal initialization

rev

 

util-linux

reverse lines of a file

rootflags

 

util-linux

query/set image root device, RAM disk size, or video mode

rpm

 

rpm

RPM command

rpm2cpio

 

rpm

extract cpio archive from RPM

rpmdb

 

rpm

 

rpmquery

 

rpm

 

rpmsign

 

rpm

 

rpmverify

 

rpm

 

runcon

 

coreutils

run command with specified selinux security context

runuser

 

coreutils

run a shell with substitue user and group ID

rvi

 

vim-minimal

run vim

rview

 

vim-minimal

run vim

script

 

util-linux

make typescript of terminal session

selinuxenabled

 

libselinux

tool used in shell to determine if selinux is enabled

seq

 

coreutils

print a sequence of numbers

service

 

initscripts

run a system v script

setenforce

 

libselinux

modify selinux mode

setpcaps

 

libcap

 

setsysfont

 

initscripts

sfdisk

 

util-linux

partition table manipulator for Linux

sg

 

shadow-utils

execute command as different group ID

sha224sum

 

coreutils

 

sha256sum

 

coreutils

 

sha384sum

 

coreutils

 

sha512sum

 

coreutils

 

shred

 

coreutils

overwrite a file to hide its content

shutdown

 

sysvinit

bring the system down

slabtop

 

procps

display kernel slab cache info in real time

slattach

 

net-tools

attach a network interface to a serial line

sln

 

glibc

static ln

split

 

coreutils

split a file

sqlite3

 

sqlite

command line interface for sqlite version 3

stat

 

coreutils

display file or filesystem status

sucap

 

libcap

 

sudo

 

sudo

execute a command as another user

sudoedit

 

sudo

execute a command as another user

sulogin

 

sysvinit

single-user login

sum

 

coreutils

checksum and count the blocks in a file

swapoff

 

util-linux

enable/disable devices and files to paging and swapping

swapon

 

util-linux

enable/disable devices and files to paging and swapping

sync

 

coreutils

flush filesystem buffers

sys-unconfig

 

initscripts

shell script to reconfig system upon next boot

sysctl

 

procps

configure kernel parameters at runtime

syslogd

 

sysklogd

Linux system logging utilities

tack

 

ncurses

terminfo action checker

tailf

 

util-linux

like tail -f

taskset

 

util-linux

retrieve or set a process cpu affinity

tee

 

coreutils

read from standard input and write to standard output and files

telinit

 

sysvinit

process control initialization

tic

 

ncurses

terminfo entry-description compiler

tload

 

procps

graphic representation of system load average

toe

 

ncurses

table of terminfo entries

togglesebool

 

libselinux

flip the current value of a boolean

tput

 

ncurses

initialize a terminal or query terminfo database

tracepath

 

iputils

trace path to a network host

tracepath6

 

iputils

trace path to a network host

tset

 

ncurses

terminal initialization

tsort

 

coreutils

perform topological sort

tunelp

 

util-linux

set various parameters for the lp device

ul

 

util-linux

do underlining

unexpand

 

coreutils

convert spaces to tabs

uniq

 

coreutils

report or omit repeated lines

unix_chkpwd

 

pam

helper binary that verifies the password of the current user

unix_update

 

pam

helper binary that updates the password of a user

unlink

 

coreutils

call the unlink function to remove the specified file

update-alternatives

 

chkconfig

maintain symbolic links determining default commands

usernetctl

 

initscripts

allow a user to manipulate a network interface

users

 

coreutils

print the user names of users currently logged in to the current host

usleep

 

initscripts

sleep some number of microseconds

utmpdump

 

sysvinit

vdir

 

coreutils

list directory contents

vidmode

 

util-linux

query/set image root device, RAM disk size, or video mode

view

 

vim-minimal

vim related

vigr

 

util-linux

edit group file

vipw

 

util-linux

edit password file

visudo

 

sudo

edit the sudoers file

w

 

procps

show who is logged on and what they are doing

wall

 

sysvinit

broadcast message

watch

 

procps

execute a program periodically

whereis

 

util-linux

locate binary, source, manual for a command

who

 

coreutils

show who is logged in

write

 

util-linux

write message to a user

yes

 

coreutils

output a string repeatedly until killed

ypdomainname

 

net-tools

 

zcat

 

gzip

 

zcmp

 

gzip

 

zdiff

 

gzip

 

zegrep

 

gzip

 

zfgrep

 

gzip

 

zforce

 

gzip

 

zgrep

 

gzip

 

zless

 

gzip

 

zmore

 

gzip

 

znew

 

gzip

 

Files Trimmed from Cisco AXP Reference OS

To conserve disk space, the following files are not present in the Cisco AXP (1.5) Reference OS:

All files under directory:

/usr/share/info

/usr/share/doc

/usr/share/man

/usr/share/locale

/share

Most files under: /usr/share/terminfo

Documentation and manual files from all RPMs.

Most terminfo files and terminfo database files.

Terminalinfo (terminfo) is a system that allows programs to use display terminals in a device-independent way. To expand the terminfo database, either manually package additional terminfo files, or reinstall the terminfo RPM into the AXPOS.


Tip Locale files which are not required for internationalization of certain RPMs can be trimmed. They do not affect functionality and can be added back when required.


Cisco AXP 1.1 Reference OS Commands

Table 113 lists the Cisco AXP 1.1 Commands binary commands that are not part of the Cisco AXP 1.5 Reference OS (AXPOS). The table lists the RPMs that are required to make these commands available for the AXPOS.

For example, the cmp command is in Cisco AXP 1.1, but it is not part of the Cisco AXP 1.5 Reference OS (AXPOS). The first row of Table 113 below shows the cmp command. (cmp is a command to compare two files.) The second column shows that to use cmp in Cisco AXP 1.5, you must install the diffutils RPM package. You must also install any other packages that the diffutils RPM package depends on.

Table 113 Cisco AXP 1.1 Commands

AXP 1.0 Linux Command
RPM Required
Description

cmp

diffutils

compare two files

expect

expect

programmed dialogue with interactive programs

gdbserver

gdb

remote server for the gnu debugger

hdparm

hdparm

get/set hard disk parameters

iostat

sysstat

report cpu and i/o statistics for devices and partitions

ip

iproute

show/manipulate routing

java

libgcj

the java programming language

killall

psmisc

kill processes by name

lsmod

module-init-tools

show the status of modules in the Linux kernel

mpstat

sysstat

report processors related statistics

open

kbd

open file or device

pidstat

(n/a)

check the existence of a process on a remote machine

python

python

an interpreted, interactive, object-oriented programming language

syslog_ng

(n/a)

system logging; CentOS supports sysklogd no syslog-ng

tc

iproute

show/manipulate traffic control settings

tcpdump

tcpdump

dump traffic on a network

telnet

krb5-workstation

user interface to the telnet protocol

tftp

tftp

trivial file transfer protocol client

traceroute

traceroute

print the route packets trace to network host

vconfig

vconfig

vlan configuration program


Nonexecutable Binary Commands

Table 114 lists the binary commands that are part of the AXPOS, but may fail when executed.

Table 114 Nonexecutable CentOS Commands in AXPOS

Command
Description
Able to Invoke Command?
RPM

arp

manipulate system arp cache, requires /proc/net/arp

requires /proc/net/arp

net-tools

avcstat

display selinux avc statistics

error opening /avc/cache_stats

libselinux

df

report filesystem disk space usage

requires /etc/mtab

coreutils

dnsdomainname

show the system's DNS domain name

host name lookup failure

net-tools

free

display amount of free and used memory in system

need /proc

procps

halt

shutdown the system

need /dev/initctl, runlevel

sysvinit

ifconfig

configure a network interface

warning: cannot open /proc/net/dev

net-tools

init

process control initialization

need /dev/initctl

sysvinit

logger

log to syslog

requires /dev/log

util-linux

netstat

print network connections, routing tables, and other information

requires /proc/net/ entries

net-tools

poweroff

shutdown the system

need /dev/initctl, runlevel

sysvinit

ps

report a snapshot of current processes

requires /proc

procps

pwck

verifies integrity of password files

requires /var/adm, /etc/news, other files

shadow-utils

readprofile

read kernel profiling info

requires /proc/profile

util-linux

reboot

shutdown the system

need /dev/initctl, runlevel

sysvinit

route

show/manipulate route table

requires /proc/net/route

net-tools

script

make typescript of terminal session

openpty failed

util-linux

uptime

tell how long the system has been running

requires /proc mounted

procps

view

vim related

issues with terminal

vim-minimal

vigr

edit group file

issues with terminal

util-linux

vipw

edit password file

issues with terminal

util-linux

vmstat

report virtual memory statistics

requires /proc mounted

procps

w

shows who is logged on and what they are doing

requires /proc mounted

procps


Appendix C: Libraries in AXP Reference OS

Libraries in Cisco AXP Reference OS

Libraries in Cisco AXP 1.1 Reference OS

Libraries in Cisco AXP Reference OS

Table 115 shows typical libraries that are available in the AXP Reference OS (AXPOS).

Table 115 Libraries in AXP Reference OS

CentOS library
RPM

/usr/libexec/sudo_noexec.so

sudo

./usr/lib/libform.so.5

ncurses-5.5-24.20060715

./usr/lib/libz.so.1

zlib-1.2.3-3

/usr/lib/libkrb5support.so.0

krb5-libs-1.6.1-25.el5

/usr/lib/libisccc.so.0

bind-libs-9.3.4-6.P1.el5

/usr/lib/libuser.so.1.1.6

libuser

/usr/lib/libdes425.so.3

krb5-libs-1.6.1-25.el5

/usr/lib/libgssrpc.so.4

krb5-libs-1.6.1-25.el5

/usr/lib/libkrb4.so.2

krb5-libs-1.6.1-25.el5

/usr/lib/libncursesw.so.5

ncurses-5.5-24.20060715

/usr/lib/librpm-4.4.so

rpm-libs-4.4.2-48.el5

/usr/lib/libkadm5clnt.so.5.1

krb5-libs-1.6.1-25.el5

/usr/lib/libpanel.so.5

ncurses-5.5-24.20060715

/usr/lib/libgssapi_krb5.so.2.2

krb5-libs-1.6.1-25.el5

/usr/lib/libpcreposix.so.0

pcre-6.6-2.el5_1.7

/usr/lib/libncurses.so.5.5

ncurses-5.5-24.20060715

/usr/lib/libcrack.so

cracklib

/usr/lib/libreadline.so.5

readline-5.1-1.1

/usr/lib/libkrb5.so.3

krb5-libs-1.6.1-25.el5

/usr/lib/libpcrecpp.so.0

pcre-6.6-2.el5_1.7

/usr/lib/librpmbuild-4.4.so

rpm-libs-4.4.2-48.el5

/usr/lib/libkrb5support.so.0.1

krb5-libs-1.6.1-25.el5

/usr/lib/libidn.so.11

libidn-0.6.5-1.1

./usr/lib/libform.so.5.5

ncurses-5.5-24.20060715

./usr/lib/libncursesw.so.5.5

ncurses-5.5-24.20060715

./usr/lib/libdns.so.22

bind-libs-9.3.4-6.P1.el5

./usr/lib/libmenu.so.5

ncurses-5.5-24.20060715

./usr/lib/libdns.so.22.1.0

bind-libs-9.3.4-6.P1.el5

./usr/lib/libpanel.so.5.5

ncurses-5.5-24.20060715

./usr/lib/librpmio-4.4.so

rpm-libs-4.4.2-48.el5

./usr/lib/libmenuw.so.5

ncurses-5.5-24.20060715

./usr/lib/libpanelw.so.5.5

ncurses-5.5-24.20060715

./usr/lib/libisc.so.11.1.1

bind-libs-9.3.4-6.P1.el5

./usr/lib/libbind9.so.0.0.8

bind-libs-9.3.4-6.P1.el5

/usr/lib/libidn.so.11.5.19

libidn-0.6.5-1.1

/usr/lib/python2.4/site-packages/cracklibmodule.so

cracklib

/usr/lib/python2.4/site-packages/libusermodule.so

libuser

/usr/lib/libformw.so.5.5

ncurses-5.5-24.20060715

/usr/lib/libcrack.so.2.8.0

cracklib

/usr/lib/libpcreposix.so.0.0.0

pcre-6.6-2.el5_1.7

/usr/lib/libkdb5.so.4.0

krb5-libs-1.6.1-25.el5

/usr/lib/libz.so.1.2.3

zlib-1.2.3-3

/usr/lib/libuser.so.1

libuser

/usr/lib/libuser/libuser_ldap.so

libuser

/usr/lib/libuser/libuser_shadow.so

libuser

/usr/lib/libuser/libuser_files.so

libuser

/usr/lib/libstdc++.so.6

libstdc4.1.2-42.el5

/usr/lib/libbz2.so.1.0.3

bzip2-libs-1.0.3-3

/usr/lib/libbeecrypt.so.6

beecrypt-4.1.2-10.1.1

/usr/lib/libgssrpc.so.4.0

krb5-libs-1.6.1-25.el5

./usr/lib/libncurses.so.5

ncurses-5.5-24.20060715

./usr/lib/libsqlite3.so.0.8.6

sqlite-3.3.6-2

./usr/lib/libpcrecpp.so.0.0.0

pcre-6.6-2.el5_1.7

./usr/lib/libbind9.so.0

bind-libs-9.3.4-6.P1.el5

./usr/lib/libcurl.so.3.0.0

curl-7.15.5-2.el5

./usr/lib/liblwres.so.9

bind-libs-9.3.4-6.P1.el5

./usr/lib/libpopt.so.0.0.0

popt-1.10.2-48.el5

/usr/lib/libdes425.so.3.0

krb5-libs-1.6.1-25.el5

/usr/lib/libkadm5srv.so.5

krb5-libs-1.6.1-25.el5

/usr/lib/libk5crypto.so.3

krb5-libs-1.6.1-25.el5

./usr/lib/liblwres.so.9.1.5

bind-libs-9.3.4-6.P1.el5

/usr/lib/libgssapi_krb5.so.2

krb5-libs-1.6.1-25.el5

./usr/lib/libbind.so.4

bind-libs-9.3.4-6.P1.el5

/usr/lib/openssl/engines/libatalla.so

openssl-0.9.8b-10.el5

/usr/lib/openssl/engines/libsureware.so

openssl-0.9.8b-10.el5

/usr/lib/openssl/engines/libubsec.so

openssl-0.9.8b-10.el5

/usr/lib/openssl/engines/libchil.so

openssl-0.9.8b-10.el5

/usr/lib/openssl/engines/libgmp.so

openssl-0.9.8b-10.el5

/usr/lib/openssl/engines/lib4758cca.so

openssl-0.9.8b-10.el5

/usr/lib/openssl/engines/libaep.so

openssl-0.9.8b-10.el5

/usr/lib/openssl/engines/libcswift.so

openssl-0.9.8b-10.el5

/usr/lib/openssl/engines/libnuron.so

openssl-0.9.8b-10.el5

./usr/lib/libpopt.so.0

popt-1.10.2-48.el5

./usr/lib/libstdc++.so.6.0.8

libstdc4.1.2-42.el5

./usr/lib/libselinux.so

libselinux-1.33.4-5.el5

./usr/lib/libpopt.so

popt-1.10.2-48.el5

/usr/lib/libkrb5.so.3.3

krb5-libs-1.6.1-25.el5

./usr/lib/libmenuw.so.5.5

ncurses-5.5-24.20060715

./usr/lib/libisccc.so.0.2.2

bind-libs-9.3.4-6.P1.el5

./usr/lib/librpmdb-4.4.so

rpm-libs-4.4.2-48.el5

./usr/lib/libsqlite3.so.0

sqlite-3.3.6-2

./usr/lib/libhistory.so.5

readline-5.1-1.1

/usr/lib/libcrack.so.2

cracklib

./usr/lib/libbeecrypt.so.6.4.0

beecrypt-4.1.2-10.1.1

/usr/lib/libkrb4.so.2.0

krb5-libs-1.6.1-25.el5

/usr/lib/libkdb5.so.4

krb5-libs-1.6.1-25.el5

/usr/lib/libkadm5srv.so.5.1

krb5-libs-1.6.1-25.el5

./usr/lib/gconv/ISO_6937-2.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-CA-FR.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-4.so

glibc-2.5-24

./usr/lib/gconv/IEC_P27-1.so

glibc-2.5-24

./usr/lib/gconv/IBM9448.so

glibc-2.5-24

./usr/lib/gconv/INIS.so

glibc-2.5-24

./usr/lib/gconv/IBM285.so

glibc-2.5-24

./usr/lib/gconv/CP1125.so

glibc-2.5-24

./usr/lib/gconv/IBM866.so

glibc-2.5-24

./usr/lib/gconv/IBM932.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-AT-DE.so

glibc-2.5-24

./usr/lib/gconv/IBM037.so

glibc-2.5-24

./usr/lib/gconv/TCVN5712-1.so

glibc-2.5-24

./usr/lib/gconv/VISCII.so

glibc-2.5-24

./usr/lib/gconv/UTF-16.so

glibc-2.5-24

./usr/lib/gconv/IBM1149.so

glibc-2.5-24

./usr/lib/gconv/IBM857.so

glibc-2.5-24

./usr/lib/gconv/IBM1026.so

glibc-2.5-24

./usr/lib/gconv/IBM1157.so

glibc-2.5-24

./usr/lib/gconv/libJISX0213.so

glibc-2.5-24

./usr/lib/gconv/IBM1122.so

glibc-2.5-24

./usr/lib/gconv/CP1253.so

glibc-2.5-24

./usr/lib/gconv/IBM1142.so

glibc-2.5-24

./usr/lib/gconv/JOHAB.so

glibc-2.5-24

./usr/lib/gconv/INIS-CYRILLIC.so

glibc-2.5-24

./usr/lib/gconv/IBM1145.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-3.so

glibc-2.5-24

./usr/lib/gconv/IBM4909.so

glibc-2.5-24

./usr/lib/gconv/IBM1123.so

glibc-2.5-24

./usr/lib/gconv/EUC-TW.so

glibc-2.5-24

./usr/lib/gconv/IBM1147.so

glibc-2.5-24

./usr/lib/gconv/IBM930.so

glibc-2.5-24

./usr/lib/gconv/SHIFT_JISX0213.so

glibc-2.5-24

./usr/lib/gconv/GREEK-CCITT.so

glibc-2.5-24

./usr/lib/gconv/EUC-JISX0213.so

glibc-2.5-24

./usr/lib/gconv/IBM9030.so

glibc-2.5-24

./usr/lib/gconv/ISO-IR-209.so

glibc-2.5-24

./usr/lib/gconv/CP1252.so

glibc-2.5-24

./usr/lib/gconv/CP10007.so

glibc-2.5-24

./usr/lib/gconv/IBM803.so

glibc-2.5-24

./usr/lib/gconv/GEORGIAN-PS.so

glibc-2.5-24

./usr/lib/gconv/IBM1146.so

glibc-2.5-24

./usr/lib/gconv/IBM851.so

glibc-2.5-24

./usr/lib/gconv/IBM256.so

glibc-2.5-24

./usr/lib/gconv/IBM874.so

glibc-2.5-24

./usr/lib/gconv/GEORGIAN-ACADEMY.so

glibc-2.5-24

./usr/lib/gconv/IBM297.so

glibc-2.5-24

./usr/lib/gconv/TIS-620.so

glibc-2.5-24

./usr/lib/gconv/GOST_19768-74.so

glibc-2.5-24

./usr/lib/gconv/CP1256.so

glibc-2.5-24

./usr/lib/gconv/IBM922.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-16.so

glibc-2.5-24

./usr/lib/gconv/IBM1156.so

glibc-2.5-24

./usr/lib/gconv/EUC-JP.so

glibc-2.5-24

./usr/lib/gconv/IBM918.so

glibc-2.5-24

./usr/lib/gconv/IBM1008_420.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-8.so

glibc-2.5-24

./usr/lib/gconv/ISO_5428.so

glibc-2.5-24

./usr/lib/gconv/GBK.so

glibc-2.5-24

./usr/lib/gconv/IBM1163.so

glibc-2.5-24

./usr/lib/gconv/IBM901.so

glibc-2.5-24

./usr/lib/gconv/RK1048.so

glibc-2.5-24

./usr/lib/gconv/IBM891.so

glibc-2.5-24

./usr/lib/gconv/ISO-IR-197.so

glibc-2.5-24

./usr/lib/gconv/IBM935.so

glibc-2.5-24

./usr/lib/gconv/KOI-8.so

glibc-2.5-24

./usr/lib/gconv/IBM869.so

glibc-2.5-24

./usr/lib/gconv/IBM1154.so

glibc-2.5-24

./usr/lib/gconv/IBM1371.so

glibc-2.5-24

./usr/lib/gconv/BIG5.so

glibc-2.5-24

./usr/lib/gconv/ISO-2022-CN-EXT.so

glibc-2.5-24

./usr/lib/gconv/KOI8-T.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-2.so

glibc-2.5-24

./usr/lib/gconv/IBM1130.so

glibc-2.5-24

./usr/lib/gconv/IBM420.so

glibc-2.5-24

./usr/lib/gconv/IBM856.so

glibc-2.5-24

./usr/lib/gconv/CP1251.so

glibc-2.5-24

./usr/lib/gconv/IBM903.so

glibc-2.5-24

./usr/lib/gconv/libISOIR165.so

glibc-2.5-24

./usr/lib/gconv/IBM1133.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-5.so

glibc-2.5-24

./usr/lib/gconv/IBM1148.so

glibc-2.5-24

./usr/lib/gconv/ISO-2022-JP-3.so

glibc-2.5-24

./usr/lib/gconv/IBM437.so

glibc-2.5-24

./usr/lib/gconv/libJIS.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-14.so

glibc-2.5-24

./usr/lib/gconv/IBM868.so

glibc-2.5-24

./usr/lib/gconv/libKSC.so

glibc-2.5-24

./usr/lib/gconv/CP1254.so

glibc-2.5-24

./usr/lib/gconv/IBM852.so

glibc-2.5-24

./usr/lib/gconv/IBM870.so

glibc-2.5-24

./usr/lib/gconv/ECMA-CYRILLIC.so

glibc-2.5-24

./usr/lib/gconv/ISO-2022-CN.so

glibc-2.5-24

./usr/lib/gconv/CP775.so

glibc-2.5-24

./usr/lib/gconv/IBM284.so

glibc-2.5-24

./usr/lib/gconv/IBM1162.so

glibc-2.5-24

./usr/lib/gconv/MAC-UK.so

glibc-2.5-24

./usr/lib/gconv/GREEK7-OLD.so

glibc-2.5-24

./usr/lib/gconv/GBGBK.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-UK.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-US.so

glibc-2.5-24

./usr/lib/gconv/HP-ROMAN8.so

glibc-2.5-24

./usr/lib/gconv/IBM871.so

glibc-2.5-24

./usr/lib/gconv/TSCII.so

glibc-2.5-24

./usr/lib/gconv/IBM904.so

glibc-2.5-24

./usr/lib/gconv/CWI.so

glibc-2.5-24

./usr/lib/gconv/IBM423.so

glibc-2.5-24

./usr/lib/gconv/IBM5347.so

glibc-2.5-24

./usr/lib/gconv/NATS-SEFI.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-10.so

glibc-2.5-24

./usr/lib/gconv/IBM939.so

glibc-2.5-24

./usr/lib/gconv/IBM4971.so

glibc-2.5-24

./usr/lib/gconv/IBM281.so

glibc-2.5-24

./usr/lib/gconv/GREEK7.so

glibc-2.5-24

./usr/lib/gconv/IBM860.so

glibc-2.5-24

./usr/lib/gconv/EUC-KR.so

glibc-2.5-24

./usr/lib/gconv/IBM1112.so

glibc-2.5-24

./usr/lib/gconv/DEC-MCS.so

glibc-2.5-24

./usr/lib/gconv/IBM12712.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-ES-A.so

glibc-2.5-24

./usr/lib/gconv/KOI8-U.so

glibc-2.5-24

./usr/lib/gconv/IBM1047.so

glibc-2.5-24

./usr/lib/gconv/IBM1160.so

glibc-2.5-24

./usr/lib/gconv/UHC.so

glibc-2.5-24

./usr/lib/gconv/IBM1129.so

glibc-2.5-24

./usr/lib/gconv/IBM500.so

glibc-2.5-24

./usr/lib/gconv/GB18030.so

glibc-2.5-24

./usr/lib/gconv/EUC-CN.so

glibc-2.5-24

./usr/lib/gconv/IBM278.so

glibc-2.5-24

./usr/lib/gconv/IBM1399.so

glibc-2.5-24

./usr/lib/gconv/MIK.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-ES-S.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-13.so

glibc-2.5-24

./usr/lib/gconv/INIS-8.so

glibc-2.5-24

./usr/lib/gconv/IBM280.so

glibc-2.5-24

./usr/lib/gconv/IBM1132.so

glibc-2.5-24

./usr/lib/gconv/ISO_2033.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-AT-DE-A.so

glibc-2.5-24

./usr/lib/gconv/ISIRI-3342.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-1.so

glibc-2.5-24

./usr/lib/gconv/T.61.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-FI-SE-A.so

glibc-2.5-24

./usr/lib/gconv/NATS-DANO.so

glibc-2.5-24

./usr/lib/gconv/ISO_5427-EXT.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-IT.so

glibc-2.5-24

./usr/lib/gconv/MAC-IS.so

glibc-2.5-24

./usr/lib/gconv/ISO_10367-BOX.so

glibc-2.5-24

./usr/lib/gconv/IBM855.so

glibc-2.5-24

./usr/lib/gconv/IBM16804.so

glibc-2.5-24

./usr/lib/gconv/EUC-JP-MS.so

glibc-2.5-24

./usr/lib/gconv/IBM424.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-9.so

glibc-2.5-24

./usr/lib/gconv/IBM1143.so

glibc-2.5-24

./usr/lib/gconv/IBM863.so

glibc-2.5-24

./usr/lib/gconv/IBM275.so

glibc-2.5-24

./usr/lib/gconv/IBM1388.so

glibc-2.5-24

./usr/lib/gconv/IBM1158.so

glibc-2.5-24

./usr/lib/gconv/IBM933.so

glibc-2.5-24

./usr/lib/gconv/IBM1097.so

glibc-2.5-24

./usr/lib/gconv/MACINTOSH.so

glibc-2.5-24

./usr/lib/gconv/IBM902.so

glibc-2.5-24

./usr/lib/gconv/IBM880.so

glibc-2.5-24

./usr/lib/gconv/IBM1144.so

glibc-2.5-24

./usr/lib/gconv/IBM9066.so

glibc-2.5-24

./usr/lib/gconv/IBM1141.so

glibc-2.5-24

./usr/lib/gconv/IBM861.so

glibc-2.5-24

./usr/lib/gconv/IBM866NAV.so

glibc-2.5-24

./usr/lib/gconv/IBM290.so

glibc-2.5-24

./usr/lib/gconv/CSN_369103.so

glibc-2.5-24

./usr/lib/gconv/IBM943.so

glibc-2.5-24

./usr/lib/gconv/KOI8-R.so

glibc-2.5-24

./usr/lib/gconv/UTF-32.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-6.so

glibc-2.5-24

./usr/lib/gconv/IBM905.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-PT.so

glibc-2.5-24

./usr/lib/gconv/CP737.so

glibc-2.5-24

./usr/lib/gconv/IBM864.so

glibc-2.5-24

./usr/lib/gconv/PT154.so

glibc-2.5-24

./usr/lib/gconv/IBM1124.so

glibc-2.5-24

./usr/lib/gconv/BIG5HKSCS.so

glibc-2.5-24

./usr/lib/gconv/GBBIG5.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-FI-SE.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-DK-NO-A.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-FR.so

glibc-2.5-24

./usr/lib/gconv/ISO_6937.so

glibc-2.5-24

./usr/lib/gconv/UTF-7.so

glibc-2.5-24

./usr/lib/gconv/IBM1167.so

glibc-2.5-24

./usr/lib/gconv/libGB.so

glibc-2.5-24

./usr/lib/gconv/CP1250.so

glibc-2.5-24

./usr/lib/gconv/IBM277.so

glibc-2.5-24

./usr/lib/gconv/CP1255.so

glibc-2.5-24

./usr/lib/gconv/ISO-2022-JP.so

glibc-2.5-24

./usr/lib/gconv/UNICODE.so

glibc-2.5-24

./usr/lib/gconv/IBM1164.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-ES.so

glibc-2.5-24

./usr/lib/gconv/ISO_11548-1.so

glibc-2.5-24

./usr/lib/gconv/libCNS.so

glibc-2.5-24

./usr/lib/gconv/IBM1004.so

glibc-2.5-24

./usr/lib/gconv/ISO_5427.so

glibc-2.5-24

./usr/lib/gconv/ARMSCII-8.so

glibc-2.5-24

./usr/lib/gconv/ISO646.so

glibc-2.5-24

./usr/lib/gconv/SAMI-WS2.so

glibc-2.5-24

./usr/lib/gconv/CP1258.so

glibc-2.5-24

./usr/lib/gconv/IBM1161.so

glibc-2.5-24

./usr/lib/gconv/IBM274.so

glibc-2.5-24

./usr/lib/gconv/IBM1166.so

glibc-2.5-24

./usr/lib/gconv/ANSI_X3.110.so

glibc-2.5-24

./usr/lib/gconv/IBM921.so

glibc-2.5-24

./usr/lib/gconv/IBM038.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-DK-NO.so

glibc-2.5-24

./usr/lib/gconv/ASMO_449.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-11.so

glibc-2.5-24

./usr/lib/gconv/LATIN-GREEK-1.so

glibc-2.5-24

./usr/lib/gconv/IBM273.so

glibc-2.5-24

./usr/lib/gconv/IBM862.so

glibc-2.5-24

./usr/lib/gconv/CP932.so

glibc-2.5-24

./usr/lib/gconv/SJIS.so

glibc-2.5-24

./usr/lib/gconv/IBM865.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-7.so

glibc-2.5-24

./usr/lib/gconv/IBM1153.so

glibc-2.5-24

./usr/lib/gconv/IBM1390.so

glibc-2.5-24

./usr/lib/gconv/IBM1140.so

glibc-2.5-24

./usr/lib/gconv/IBM1025.so

glibc-2.5-24

./usr/lib/gconv/IBM4517.so

glibc-2.5-24

./usr/lib/gconv/IBM1137.so

glibc-2.5-24

./usr/lib/gconv/IBM1364.so

glibc-2.5-24

./usr/lib/gconv/IBM1046.so

glibc-2.5-24

./usr/lib/gconv/IBM850.so

glibc-2.5-24

./usr/lib/gconv/IBM1008.so

glibc-2.5-24

./usr/lib/gconv/ISO8859-15.so

glibc-2.5-24

./usr/lib/gconv/CP1257.so

glibc-2.5-24

./usr/lib/gconv/IBM875.so

glibc-2.5-24

./usr/lib/gconv/MAC-SAMI.so

glibc-2.5-24

./usr/lib/gconv/LATIN-GREEK.so

glibc-2.5-24

./usr/lib/gconv/ISO-2022-KR.so

glibc-2.5-24

./usr/lib/gconv/IBM4899.so

glibc-2.5-24

./usr/lib/gconv/IBM937.so

glibc-2.5-24

./usr/lib/gconv/EBCDIC-IS-FRISS.so

glibc-2.5-24

./usr/lib/gconv/IBM1155.so

glibc-2.5-24

./usr/lib/libelf.so.1

elfutils-libelf-0.125-3.el5

./usr/lib/libhistory.so.5.1

readline-5.1-1.1

./usr/lib/libpanelw.so.5

ncurses-5.5-24.20060715

/usr/lib/libkadm5clnt.so.5

krb5-libs-1.6.1-25.el5

./usr/lib/libelf-0.125.so

elfutils-libelf-0.125-3.el5

./usr/lib/libreadline.so.5.1

readline-5.1-1.1

./usr/lib/libformw.so.5

ncurses-5.5-24.20060715

./usr/lib/libisc.so.11

bind-libs-9.3.4-6.P1.el5

./usr/lib/libcurl.so.3

curl-7.15.5-2.el5

./usr/lib/libisccfg.so.1.0.6

bind-libs-9.3.4-6.P1.el5

./usr/lib/libmenu.so.5.5

ncurses-5.5-24.20060715

/usr/lib/libk5crypto.so.3.1

krb5-libs-1.6.1-25.el5

./usr/lib/libbind.so.4.0.7

bind-libs-9.3.4-6.P1.el5

./usr/lib/libbz2.so.1

bzip2-libs-1.0.3-3

./usr/lib/libisccfg.so.1

bind-libs-9.3.4-6.P1.el5

./lib/libcrypt.so.1

glibc-2.5-24

./lib/libdl.so.2

glibc-2.5-24

./lib/libnss_nisplus.so.2

glibc-2.5-24

/lib/libpamc.so.0.81.0

pam

./lib/libdl-2.5.so

glibc-2.5-24

./lib/libpthread.so.0

glibc-2.5-24

/lib/libdevmapper.so

device-mapper-1.02.24-1.el5

./lib/libcom_err.so.2.1

e2fsprogs-libs-1.39-15.el5

./lib/libacl.so.1

libacl-2.2.39-3.el5

./lib/libBrokenLocale.so.1

glibc-2.5-24

./lib/libanl-2.5.so

glibc-2.5-24

./lib/libaudit.so.0

audit-libs-1.6.5-9.el5

/lib/libcap.so.1

libcap

./lib/libuuid.so.1.2

e2fsprogs-libs-1.39-15.el5

./lib/libss.so.2

e2fsprogs-libs-1.39-15.el5

./lib/libselinux.so.1

libselinux-1.33.4-5.el5

./lib/libnss_files.so.2

glibc-2.5-24

./lib/libaudit.so.0.0.0

audit-libs-1.6.5-9.el5

./lib/libgcc_s-4.1.2-20080102.so.1

libgcc-4.1.2-42.el5

/lib/libpam.so.0

pam

./lib/libattr.so.1

libattr-2.4.32-1.1

./lib/libc-2.5.so

glibc-2.5-24

/lib/libssl.so.0.9.8b

openssl-0.9.8b-10.el5

./lib/libnss_dns-2.5.so

glibc-2.5-24

./lib/libnss_nisplus-2.5.so

glibc-2.5-24

./lib/libauparse.so.0.0.0

audit-libs-1.6.5-9.el5

/lib/security/pam_tally2.so

pam

/lib/security/pam_selinux.so

pam

/lib/security/pam_issue.so

pam

/lib/security/pam_namespace.so

pam

/lib/security/pam_stack.so

pam

/lib/security/pam_chroot.so

pam

/lib/security/pam_shells.so

pam

/lib/security/pam_exec.so

pam

/lib/security/pam_echo.so

pam

/lib/security/pam_rootok.so

pam

/lib/security/pam_time.so

pam

/lib/security/pam_listfile.so

pam

/lib/security/pam_permit.so

pam

/lib/security/pam_filter.so

pam

/lib/security/pam_limits.so

pam

/lib/security/pam_succeed_if.so

pam

/lib/security/pam_warn.so

pam

/lib/security/pam_securetty.so

pam

/lib/security/pam_postgresok.so

pam

/lib/security/pam_lastlog.so

pam

/lib/security/pam_ftp.so

pam

/lib/security/pam_cracklib.so

pam

/lib/security/pam_motd.so

pam

/lib/security/pam_tally.so

pam

/lib/security/pam_mail.so

pam

/lib/security/pam_mkhomedir.so

pam

/lib/security/pam_unix_auth.so

pam

/lib/security/pam_rhosts.so

pam

/lib/security/pam_xauth.so

pam

/lib/security/pam_env.so

pam

/lib/security/pam_timestamp.so

pam

/lib/security/pam_rhosts_auth.so

pam

/lib/security/pam_unix_passwd.so

pam

/lib/security/pam_localuser.so

pam

/lib/security/pam_debug.so

pam

/lib/security/pam_group.so

pam

/lib/security/pam_rps.so

pam

/lib/security/pam_umask.so

pam

/lib/security/pam_nologin.so

pam

/lib/security/pam_deny.so

pam

/lib/security/pam_console.so

pam

/lib/security/pam_loginuid.so

pam

/lib/security/pam_userdb.so

pam

/lib/security/pam_unix.so

pam

/lib/security/pam_access.so

pam

/lib/security/pam_wheel.so

pam

/lib/security/pam_unix_acct.so

pam

/lib/security/pam_unix_session.so

pam

/lib/security/pam_keyinit.so

pam

/lib/security/pam_stress.so

pam

./lib/libc.so.6

glibc-2.5-24

./lib/libutil-2.5.so

glibc-2.5-24

./lib/libtermcap.so.2

libtermcap-2.0.8-46.1

./lib/libe2p.so.2

e2fsprogs-libs-1.39-15.el5

./lib/libcom_err.so.2

e2fsprogs-libs-1.39-15.el5

./lib/libnss_compat.so.2

glibc-2.5-24

./lib/libnsl-2.5.so

glibc-2.5-24

./lib/libnss_dns.so.2

glibc-2.5-24

/lib/libgthread-2.0.so.0.1200.3

glib2

/lib/libglib-2.0.so.0.1200.3

glib2

./lib/libcidn-2.5.so

glibc-2.5-24

/lib/libgmodule-2.0.so.0

glib2

./lib/librt.so.1

glibc-2.5-24

./lib/libresolv.so.2

glibc-2.5-24

/lib/libdevmapper-event.so.1.02

device-mapper-1.02.24-1.el5

/lib/libpam_misc.so.0

pam

./lib/libe2p.so.2.3

e2fsprogs-libs-1.39-15.el5

/lib/libdevmapper-event.so

device-mapper-1.02.24-1.el5

./lib/librt-2.5.so

glibc-2.5-24

/lib/libpam_misc.so.0.81.2

pam

/lib/libgmodule-2.0.so.0.1200.3

glib2

./lib/libauparse.so.0

audit-libs-1.6.5-9.el5

./lib/libext2fs.so.2

e2fsprogs-libs-1.39-15.el5

/lib/libgthread-2.0.so.0

glib2

./lib/libanl.so.1

glibc-2.5-24

./lib/libpthread-2.5.so

glibc-2.5-24

./lib/libtermcap.so.2.0.8

libtermcap-2.0.8-46.1

./lib/libnss_hesiod.so.2

glibc-2.5-24

./lib/libcrypt-2.5.so

glibc-2.5-24

./lib/ld-linux.so.2

glibc-2.5-24

/lib/libkeyutils-1.2.so

keyutils-libs-1.2-1.el5

/lib/libpamc.so.0

pam

./lib/libSegFault.so

glibc-2.5-24

./lib/libproc-3.2.7.so

procps-3.2.7-9.el5

./lib/libgcc_s.so.1

libgcc-4.1.2-42.el5

./lib/libext2fs.so.2.4

e2fsprogs-libs-1.39-15.el5

./lib/libm.so.6

glibc-2.5-24

./lib/libattr.so.1.1.0

libattr-2.4.32-1.1

./lib/libblkid.so.1.0

e2fsprogs-libs-1.39-15.el5

./lib/libnsl.so.1

glibc-2.5-24

./lib/libthread_db.so.1

glibc-2.5-24

./lib/libnss_compat-2.5.so

glibc-2.5-24

./lib/libpcre.so.0

pcre-6.6-2.el5_1.7

./lib/rtkaio/librt.so.1

glibc-2.5-24

./lib/rtkaio/librtkaio-2.5.so

glibc-2.5-24

./lib/rtkaio/i686/nosegneg/librt.so.1

glibc-2.5-24

./lib/rtkaio/i686/nosegneg/librtkaio-2.5.so

glibc-2.5-24

./lib/libnss_nis.so.2

glibc-2.5-24

./lib/libnss_nis-2.5.so

glibc-2.5-24

./lib/libcidn.so.1

glibc-2.5-24

./lib/libnss_files-2.5.so

glibc-2.5-24

./lib/libuuid.so.1

e2fsprogs-libs-1.39-15.el5

/lib/libcrypto.so.6

openssl-0.9.8b-10.el5

./lib/libBrokenLocale-2.5.so

glibc-2.5-24

/lib/libcrypto.so.0.9.8b

openssl-0.9.8b-10.el5

/lib/libkeyutils.so.1

keyutils-libs-1.2-1.el5

./lib/libthread_db-1.0.so

glibc-2.5-24

./lib/libsepol.so.1

libsepol-1.15.2-1.el5

./lib/i686/nosegneg/libpthread.so.0

glibc-2.5-24

./lib/i686/nosegneg/libc-2.5.so

glibc-2.5-24

./lib/i686/nosegneg/libc.so.6

glibc-2.5-24

./lib/i686/nosegneg/librt.so.1

glibc-2.5-24

./lib/i686/nosegneg/librt-2.5.so

glibc-2.5-24

./lib/i686/nosegneg/libpthread-2.5.so

glibc-2.5-24

./lib/i686/nosegneg/libm.so.6

glibc-2.5-24

./lib/i686/nosegneg/libthread_db.so.1

glibc-2.5-24

./lib/i686/nosegneg/libthread_db-1.0.so

glibc-2.5-24

./lib/i686/nosegneg/libm-2.5.so

glibc-2.5-24

/lib/libssl.so.6

openssl-0.9.8b-10.el5

./lib/libresolv-2.5.so

glibc-2.5-24

./lib/libss.so.2.0

e2fsprogs-libs-1.39-15.el5

./lib/ld-2.5.so

glibc-2.5-24

./lib/libblkid.so.1

e2fsprogs-libs-1.39-15.el5

./lib/libpcre.so.0.0.1

pcre-6.6-2.el5_1.7

./lib/libacl.so.1.1.0

libacl-2.2.39-3.el5

./lib/libutil.so.1

glibc-2.5-24

/lib/libcap.so.1.10

libcap

/lib/libgobject-2.0.so.0.1200.3

libcap

/lib/libdevmapper.so.1.02

device-mapper-1.02.24-1.el5

./lib/libm-2.5.so

glibc-2.5-24

./lib/libnss_hesiod-2.5.so

glibc-2.5-24

/lib/libgobject-2.0.so.0

glib2

./etc/ld.so.cache

glibc-2.5-24

./etc/ld.so.conf.d

glibc-2.5-24

./etc/ld.so.conf

glibc-2.5-24


Libraries in Cisco AXP 1.1 Reference OS

The following table shows the libraries in Cisco AXP 1.1 Reference OS.

./lib/liberr.so

./lib/python2.3/lib-dynload/sha.so.2.3.3

./lib/libudppacer.so.1

./cisco/lib/libpcap.so.0

./lib/libnss_files-2.3.5.so

./lib/python2.3/lib-dynload/syslog.so.2

./lib/libdns.so.16.2.0

 

./lib/libpanel.so.5.4

./lib/python2.3/lib-dynload/mmap.so.2.3.3

./lib/libcrypt.so.1

./cisco/lib/libcrypto.so.0.9.8a

./lib/libexpat.so.1.95.8

./lib/python2.3/lib-dynload/strop.so.2

./lib/libjavautil.so.1.0.0

./cisco/lib/libjavautil.so

./lib/libm.so.6

./lib/python2.3/lib-dynload/_weakref.so

./lib/libpcreposix.so.0.0.0

./cisco/lib/libatrace.so.1

./lib/libzlib.so

./lib/python2.3/lib-dynload/cStringIO.so.2

./lib/libnss_dns-2.3.5.so

./cisco/lib/libresolv.so

./lib/libcom_err.so

./lib/python2.3/lib-dynload/grp.so.2

./lib/libthread_db.so

./cisco/lib/libssl.so.0.9.8

./lib/libisc.so

./lib/python2.3/lib-dynload/cPickle.so.2

./lib/libc-2.3.5.so

./cisco/lib/libthread-1.0.so

./lib/libmenu.so

./lib/python2.3/lib-dynload/rotor.so.2

./lib/libcrypt.so

./cisco/lib/libnsl.so

./lib/libappreapi.so.

./lib/python2.3/lib-dynload/struct.so

./lib/libstdc++.so.6.0.3

./cisco/lib/libss.so.2.0

./lib/librt-2.3.5.so

./lib/python2.3/lib-dynload/resource.so

./lib/libatrace.so.1.0.0

./cisco/lib/ld.so

./lib/libexpat.so.1

./lib/python2.3/lib-dynload/struct.so.2

./lib/ld-linux.so.2

./cisco/lib/libnss_files.so.2

./lib/libpthread.so

./lib/python2.3/lib-dynload/crypt.so.2.3.3

./lib/libdl.so.2

./cisco/lib/libresolv.so.2

./lib/libatrace.so

./lib/python2.3/lib-dynload/timing.so

./lib/liberr.so.1

./cisco/lib/libcares.so

./lib/libblkid.so

./lib/python2.3/lib-dynload/datetime.so.2

./lib/libnss_dns.so.2

./cisco/lib/libcares.so.1

./lib/libuuid.so.1.2

./lib/python2.3/lib-dynload/unicodedata.so

./lib/liblocal_socket.so

./cisco/lib/libform.so.5.4

./lib/libzlib.so.1.2.3

./lib/python2.3/lib-dynload/_weakref.so.2

./lib/libncurses.so

./cisco/lib/libform.so

./lib/libpcap.so.0

./lib/python2.3/lib-dynload/syslog.so

./lib/libproc-3.2.5.so

./cisco/lib/libtar.so

 

./lib/python2.3/lib-dynload/pcre.so.2.3.3

./lib/libcurl-7.15.2.so

./cisco/lib/libsysdb.so.1

./lib/libcrypto.so.0.9.8a

./lib/python2.3/lib-dynload/_csv.so

./lib/libdl-2.3.5.so

 

./lib/libjavautil.so

./lib/python2.3/lib-dynload/pwd.so.2

./lib/libdl.so

./cisco/lib/libssl.so

./lib/libatrace.so.1

./lib/python2.3/lib-dynload/itertools.so.2

./lib/libdnshlpr.so

./cisco/lib/libcares-1.2.0.so

./lib/libresolv.so

./lib/python2.3/lib-dynload/math.so

./lib/libnss_dns.so

./cisco/lib/libnsl.so.1

./lib/libssl.so.0.9.8

./lib/python2.3/lib-dynload/select.so.2

./lib/libcurl.so

./cisco/lib/libnss_files.so

./lib/libthread-1.0.so

./lib/python2.3/lib-dynload/cPickle.so

./lib/libpcre.so.0.0.1

./cisco/lib/libm-2.3.5.so

./lib/libnsl.so

./lib/python2.3/lib-dynload/_csv.so.2.3.3

./lib/librt.so

./cisco/lib/libpcap.so.0.9.3

./lib/libss.so.2.0

./lib/python2.3/lib-dynload/array.so.2.3.3

./lib/libss.so

./cisco/lib/libcrypto.so

./lib/ld.so

./lib/python2.3/lib-dynload/operator.so.2.3.3

./lib/libblkid.so.1.0

./cisco/lib/libm.so

./lib/libnss_files.so.2

./lib/python2.3/lib-dynload/parser.so.2

./lib/libpthread.so.0

./cisco/lib/libdecrypt_lib.so.0.9.8a

./lib/libresolv.so.2

./lib/python2.3/lib-dynload/zlib.so

./lib/libc.so.6

./cisco/lib/libext2fs.so.2.4

./lib/libcares.so

./lib/python2.3/lib-dynload/regex.so.2

./lib/libpanel.so.5

./cisco/lib/libutil.so.1

./lib/libcares.so.1

./lib/python2.3/lib-dynload/fcntl.so.2

./lib/libresolv-2.3.5.so

./cisco/lib/liblocal_socket.so.0.1.0

./lib/libform.so.5.4

./lib/python2.3/lib-dynload/math.so.2

./lib/libcli_distribution_vm.so

./cisco/lib/libssl.so.0.9.8a

./lib/libform.so

./lib/python2.3/lib-dynload/pycurl.so

./lib/librt.so.1

./cisco/lib/libisc.so.8.6.1

./lib/libtar.so

./lib/python2.3/lib-dynload/_locale.so.2

./lib/libnsl-2.3.5.so

./cisco/lib/libstdc++.so

./lib/libsysdb.so.1

./lib/python2.3/lib-dynload/termios.so.2

./lib/liberr.so.1.0.0

./cisco/lib/libsysdb.so

 

./lib/python2.3/lib-dynload/grp.so.2.3.3

./lib/libform.so.5

./cisco/lib/libudppacer.so

./lib/libssl.so

./lib/python2.3/lib-dynload/time.so.2.3.3

./lib/libe2p.so

 

./lib/libcares-1.2.0.so

./lib/python2.3/lib-dynload/crypt.so.2

./lib/libdnshlpr.so.1.0.0

./cisco/lib/libncurses.so.5

./lib/libnsl.so.1

./lib/python2.3/lib-dynload/timing.so.2

./lib/libnet-tools.so

./cisco/lib/libmenu.so.5.4

./lib/libnss_files.so

./lib/python2.3/lib-dynload/time.so

./lib/libcrypt-2.3.5.so

./cisco/lib/libtar.so.1.15.1

./lib/libm-2.3.5.so

./lib/python2.3/lib-dynload/datetime.so

./lib/libpanel.so

./cisco/lib/libgcc_s.so.1

./lib/libpcap.so.0.9.3

./lib/python2.3/lib-dynload/mmap.so

./lib/libcli_distribution_vm.so.1

./cisco/lib/libdnshlpr.so.1

./lib/libcrypto.so

./lib/python2.3/lib-dynload/nis.so.2.3.3

./lib/libpthread-0.10.so

./cisco/lib/libcrypto.so.0.9.8

./lib/libm.so

./lib/python2.3/lib-dynload/resource.so.2

./lib/libdns.so

./cisco/lib/libext2fs.so

./lib/libdecrypt_lib.so.0.9.8a

./lib/python2.3/lib-dynload/struct.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libj9hookable23.so

./cisco/lib/libutil.so

./lib/libext2fs.so.2.4

./lib/python2.3/lib-dynload/cmath.so.2

./opt/IBM-ME-2.3.1/jre/bin/libjnichk.so

./cisco/lib/libuuid.so

./lib/libutil.so.1

./lib/python2.3/lib-dynload/_random.so

./opt/IBM-ME-2.3.1/jre/bin/libj9vm23.so

./cisco/lib/libnet-tools-1.60.so

./lib/liblocal_socket.so.0.1.0

./lib/python2.3/lib-dynload/syslog.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libj9dyn23.so

./cisco/lib/libmenu.so.5

./lib/libssl.so.0.9.8a

./lib/python2.3/lib-dynload/pwd.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libj9jitd23.so

./cisco/lib/libstdc++.so.6

./lib/libisc.so.8.6.1

./lib/python2.3/lib-dynload/grp.so

./opt/IBM-ME-2.3.1/jre/bin/libgcc_s.so.1

./cisco/lib/libpcap.so

./lib/libstdc++.so

./lib/python2.3/lib-dynload/sysdbPython.so

./opt/IBM-ME-2.3.1/jre/bin/libj9fdm23.so

./cisco/lib/libpcre.so

./lib/libsysdb.so

./lib/python2.3/lib-dynload/timing.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libj9prf23.so

./cisco/lib/libexpect.so

./lib/libudppacer.so

./lib/python2.3/lib-dynload/_hotshot.so.2

./opt/IBM-ME-2.3.1/jre/bin/libjclfoun11_23.so

./cisco/lib/libexpect.so.5.43.0

 

./lib/python2.3/lib-dynload/fcntl.so

./opt/IBM-ME-2.3.1/jre/bin/libj9rdbi23.so

./cisco/lib/libutil-2.3.5.so

./lib/libncurses.so.5

./lib/python2.3/lib-dynload/iosapiPython.so

./opt/IBM-ME-2.3.1/jre/bin/libstdc++.so.5

./cisco/lib/ld-2.3.5.so

./lib/libmenu.so.5.4

./lib/python2.3/lib-dynload/errReportPython.so.2

./opt/IBM-ME-2.3.1/jre/bin/libslprof.so

./cisco/lib/libpcreposix.so

./lib/libtar.so.1.15.1

./lib/python2.3/lib-dynload/_csv.so.2

./opt/IBM-ME-2.3.1/jre/bin/libapversion.so

./cisco/lib/libe2p.so.2.3

./lib/libgcc_s.so.1

./lib/python2.3/lib-dynload/termios.so

./opt/IBM-ME-2.3.1/jre/bin/libj9jpi23.so

./cisco/lib/libjavautil.so.1

./lib/libdnshlpr.so.1

./lib/python2.3/lib-dynload/md5.so

./opt/IBM-ME-2.3.1/jre/bin/libj9thr23.so

./cisco/lib/libappreapi.so

./lib/libcrypto.so.0.9.8

./lib/python2.3/lib-dynload/zlib.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libj9prt23.so

./cisco/lib/libncurses.so.5.4

./lib/libext2fs.so

./lib/python2.3/lib-dynload/_socket.so.2

./opt/IBM-ME-2.3.1/jre/bin/libj9jit23.so

./cisco/lib/libsysdb.so.1.0.0

./lib/libutil.so

./lib/python2.3/lib-dynload/nis.so

./opt/IBM-ME-2.3.1/jre/bin/libiverel23.so

./cisco/lib/libthread_db.so.1

./lib/libuuid.so

./lib/python2.3/lib-dynload/_hotshot.so

./opt/IBM-ME-2.3.1/jre/bin/libtrace.so

./cisco/lib/libgcc_s.so

./lib/libnet-tools-1.60.so

./lib/python2.3/lib-dynload/regex.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libj9zlib23.so

./cisco/lib/libdecrypt_lib.so.0.9.8

./lib/libmenu.so.5

./lib/python2.3/lib-dynload/rotor.so

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavautil.so

./cisco/lib/libcom_err.so.2.1

./lib/libcli_distribution_vm.so.1.0.0

./lib/python2.3/lib-dynload/errReportPython.so

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavaio.so.0.0.0

./cisco/lib/libproc.so

./lib/libstdc++.so.6

./lib/python2.3/lib-dynload/array.so.2

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavaio.so.0

./cisco/lib/libexpat.so

./lib/libpcap.so

./lib/python2.3/lib-dynload/pwd.so

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavanio.so.0.0.0

./cisco/lib/libdecrypt_lib.so

./lib/libpcre.so

./lib/python2.3/lib-dynload/math.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavaio.so

./cisco/lib/libudppacer.so.1.0.0

./lib/libexpect.so

./lib/python2.3/lib-dynload/sha.so

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavanio.so.0

./cisco/lib/libudppacer.so.1

./lib/libexpect.so.5.43.0

./lib/python2.3/lib-dynload/unicodedata.so.2

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavalang.so.0.0.0

./cisco/lib/libdns.so.16.2.0

./lib/libutil-2.3.5.so

./lib/python2.3/lib-dynload/sysdbPython.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavalangreflect.so

./cisco/lib/libcrypt.so.1

./lib/ld-2.3.5.so

./lib/python2.3/lib-dynload/_locale.so

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavalangreflect.so.0

./cisco/lib/libjavautil.so.1.0.0

./lib/libpcreposix.so

./lib/python2.3/lib-dynload/zlib.so.2

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavautil.so.0

./cisco/lib/libpcreposix.so.0.0.0

./lib/libe2p.so.2.3

./lib/python2.3/lib-dynload/binascii.so.2

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavalang.so

./cisco/lib/libnss_dns-2.3.5.so

./lib/libjavautil.so.1

./lib/python2.3/lib-dynload/_random.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavalang.so.0

./cisco/lib/libthread_db.so

./lib/libappreapi.so

./lib/python2.3/lib-dynload/array.so

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavanet.so.0.0.0

./cisco/lib/libc-2.3.5.so

./lib/libncurses.so.5.4

./lib/python2.3/lib-dynload/pycurl.so.2

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavanet.so

./cisco/lib/libcrypt.so

./lib/libsysdb.so.1.0.0

./lib/python2.3/lib-dynload/pcre.so

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavanio.so

./cisco/lib/libstdc++.so.6.0.3

./lib/libthread_db.so.1

./lib/python2.3/lib-dynload/_random.so.2

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavautil.so.0.0.0

./cisco/lib/libatrace.so.1.0.0

./lib/libgcc_s.so

./lib/python2.3/lib-dynload/_socket.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavanet.so.0

./cisco/lib/libdl.so.2

./lib/libdecrypt_lib.so.0.9.8

./lib/python2.3/lib-dynload/dl.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/classpath/libjavalangreflect.so.0.0.0

./cisco/lib/liberr.so.1

./lib/libcom_err.so.2.1

./lib/python2.3/lib-dynload/termios.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libjsig.so

./cisco/lib/libnss_dns.so.2

./lib/libproc.so

./lib/python2.3/lib-dynload/itertools.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libj9gcchk23.so

./cisco/lib/liblocal_socket.so

./lib/libexpat.so

./lib/python2.3/lib-dynload/operator.so.2

./opt/IBM-ME-2.3.1/jre/bin/libj9dbg23.so

./cisco/lib/libncurses.so

./lib/libdecrypt_lib.so

./lib/python2.3/lib-dynload/binascii.so

./opt/IBM-ME-2.3.1/jre/bin/libj9gc23.so

./cisco/lib/libproc-3.2.5.so

./lib/python2.3/lib-dynload/resource.so.2.3.3

./lib/python2.3/lib-dynload/parser.so.2.3.3

./opt/IBM-ME-2.3.1/jre/bin/libj9vrb23.so

./cisco/lib/libcurl-7.15.2.so

./lib/python2.3/lib-dynload/_testcapi.so

./lib/python2.3/lib-dynload/pyexpat.so

./opt/IBM-ME-2.3.1/jre/bin/libaptools.so

./cisco/lib/libdl-2.3.5.so

./lib/python2.3/lib-dynload/md5.so.2

./lib/python2.3/lib-dynload/pyexpat.so.2

./opt/IBM-ME-2.3.1/jre/bin/libj9bcv23.so

./cisco/lib/libdl.so

./lib/python2.3/lib-dynload/cmath.so

./lib/python2.3/lib-dynload/cmath.so.2.3.3

./usr/lib/libnetconf.so

./cisco/lib/libdnshlpr.so

./lib/python2.3/lib-dynload/iosapiPython.so.

./lib/python2.3/lib-dynload/sha.so.2

./usr/lib/libjavadomainsock.so

./cisco/lib/libnss_dns.so

./lib/python2.3/lib-dynload/_testcapi.so.2.3.3

./lib/python2.3/lib-dynload/mmap.so.2

./usr/lib/libnetconf.so.0.1.0

./cisco/lib/libcurl.so

./lib/python2.3/lib-dynload/pcre.so.2

./lib/python2.3/lib-dynload/errReportPython.so.2.3.3

./usr/lib/libjavadomainsock.so.0.1.0

./cisco/lib/libpcre.so.0.0.1

./lib/python2.3/lib-dynload/cStringIO.so

./lib/python2.3/lib-dynload/select.so.2.3.3

./cisco/lib/liberr.so

./cisco/lib/librt.so

./lib/python2.3/lib-dynload/strop.so.2.3.3

./lib/python2.3/lib-dynload/sysdbPython.so.2

./cisco/lib/libnss_files-2.3.5.so

./cisco/lib/libss.so

./lib/python2.3/lib-dynload/dl.so.2

./lib/python2.3/lib-dynload/_socket.so

./cisco/lib/libpanel.so.5.4

./cisco/lib/libblkid.so.1.0

./lib/python2.3/lib-dynload/fcntl.so.2.3.3

./lib/python2.3/lib-dynload/rotor.so.2.3.3

./cisco/lib/libexpat.so.1.95.8

./cisco/lib/libpthread.so.0

./lib/python2.3/lib-dynload/crypt.so

./lib/python2.3/lib-dynload/md5.so.2.3.3

./cisco/lib/libm.so.6

./cisco/lib/libc.so.6

./lib/python2.3/lib-dynload/cStringIO.so.2.3.3

./lib/python2.3/lib-dynload/pycurl.so.2.3.3

./cisco/lib/libzlib.so

./cisco/lib/libpanel.so.5

./lib/python2.3/lib-dynload/pyexpat.so.2.3.3

./lib/python2.3/lib-dynload/strop.so

./cisco/lib/libcom_err.so

./cisco/lib/libresolv-2.3.5.so

./lib/python2.3/lib-dynload/datetime.so.2.3.3

./lib/python2.3/lib-dynload/unicodedata.so.2.3.3

./cisco/lib/libisc.so

./cisco/lib/librt.so.1

./lib/python2.3/lib-dynload/parser.so

./lib/python2.3/lib-dynload/binascii.so.2.3.3

./cisco/lib/libmenu.so

./cisco/lib/libnsl-2.3.5.so

./lib/python2.3/lib-dynload/_testcapi.so.2

./lib/python2.3/lib-dynload/itertools.so

./cisco/lib/libappreapi.so.

./cisco/lib/liberr.so.1.0.0

./lib/python2.3/lib-dynload/select.so

./lib/python2.3/lib-dynload/cPickle.so.2.3.3

./cisco/lib/librt-2.3.5.so

./cisco/lib/libform.so.5

./lib/python2.3/lib-dynload/_locale.so.2.3.3

./lib/python2.3/lib-dynload/regex.so

./cisco/lib/libexpat.so.1

./cisco/lib/libe2p.so

./lib/python2.3/lib-dynload/dl.so

./lib/python2.3/lib-dynload/operator.so

./cisco/lib/libpthread.so

./cisco/lib/libdnshlpr.so.1.0.0

./lib/python2.3/lib-dynload/_weakref.so.2.3.3

./lib/python2.3/appreapipy.so

./cisco/lib/libatrace.so

./cisco/lib/libnet-tools.so

./lib/python2.3/lib-dynload/time.so.2

./lib/python2.3/appreapipy.so.

./cisco/lib/libblkid.so

./cisco/lib/libcrypt-2.3.5.so

./lib/python2.3/lib-dynload/nis.so.2

./lib/libudppacer.so.1.0.0

./cisco/lib/libuuid.so.1.2

./cisco/lib/libpanel.so

./lib/python2.3/lib-dynload/_hotshot.so.2.3.3

 

./cisco/lib/libzlib.so.1.2.3

./cisco/lib/libpthread-0.10.so

     

./cisco/lib/libdns.so


Appendix D: Comparison of Linux Distributions for AXPOS

Cent OS 5.2 is the basis of the Cisco AXP Reference OS (AXPOS). Some of the attributes of CentOS are listed in Table 1, which shows how Cent OS compares with other options such as RedHat Enterprise Linux (RHEL), and Fedora Linux distributions.

Table 116 Comparison of Attributes between Linux Distributions

Attribute
CentOS
RHEL
Fedora

Latest versions

5.1, 5.2

5.2

9, 10

Projected EOL

2011 to 2014

2011 to 2014

About 2 years

Release cycle

1 to 1.5 years

1 year

1 year

Compatibility with RHEL

Almost 100%

--

Less compatible than CentOS

CPU architecture

x86, x86_64, with plans for ppc in progress

x86, x86_64, ppc, etc...

x86, x86_64, ppc, etc...

Price and support

Free, online documentation, and no professional support.

Commercial, online documentation, and professional support.

Free, online documentation, and no professional support.

Linux kernel version

2.6.18

2.6.18

2.6.25

glibc version

2.5

2.5

2.8


Appendix E: RPM Packages in the AXP Reference OS

The AXP Reference OS or the AXP User Defined Linux Environment runs on the guest OS of the service module and is used by third party applications.

Table 117 lists the names of the RPMs. For full details of the RPMs (including version, licensing, source filename, and size, see Table 118.

Table 117 RPMs in AXP Reference OS

audit-libs

e2fsprogs-libs

iputils

ncurses

shadow-utils

basesystem

elfutils-libelf

less

net-tools

sqlite

bash

filesystem

libacl

pcre

strace

beecrypt

findutils

libattr

popt

sysklogd

bind-libs

gawk

libgcc

procps

SysVinit

bind-utils

glibc

libselinux

readline

tar

bzip2-libs

grep

libsepol

rpm

util-linux

chkconfig

gzip

libstdc++

rpm-libs

vim-minimal

coreutils

info

libtermcap

sed

which

curl

initscripts

mktemp

setup

zlib

keyutils-libs

libidn

krb5-libs

openssl

device-mapper

cracklib

cracklib-dicts

glib2

libcap

libuser

pam

passwd

sudo

   

Table 118 Full Details of RPMs in AXP Reference OS

RPM name
filename
version
license
source filename
size

audit-libs

audit-libs-1.6.5-9.el5.i386.rpm

1.6.5

LGPL

audit-1.6.5-9.el5.src.rpm

126235

basesystem

basesystem-8.0-5.1.1.el5.centos.noarch.rpm

8

public domain

basesystem-8.0-5.1.1.el5.centos.src.rpm

0

bash

bash-3.2-21.el5.i386.rpm

3.2

GPLv2+

bash-3.2-21.el5.src.rpm

5349369

beecrypt

beecrypt-4.1.2-10.1.1.i386.rpm

4.1.2

LGPL

beecrypt-4.1.2-10.1.1.src.rpm

260671

bind-libs

bind-libs-9.3.4-6.P1.el5.i386.rpm

9.3.4

BSD-like

bind-9.3.4-6.P1.el5.src.rpm

1997220

bind-utils

bind-utils-9.3.4-6.P1.el5.i386.rpm

9.3.4

BSD-like

bind-9.3.4-6.P1.el5.src.rpm

285637

bzip2-libs

bzip2-libs-1.0.3-3.i386.rpm

1.0.3

BSD

bzip2-1.0.3-3.src.rpm

66340

chkconfig

chkconfig-1.3.30.1-2.i386.rpm

1.3.30.1

GPL

chkconfig-1.3.30.1-2.src.rpm

581523

coreutils

coreutils-5.97-14.el5.i386.rpm

5.97

GPLv2+

coreutils-5.97-14.el5.src.rpm

9021731

curl

curl-7.15.5-2.el5.i386.rpm

7.15.5

MIT

curl-7.15.5-2.el5.src.rpm

473889

e2fsprogs-libs

e2fsprogs-libs-1.39-15.el5.i386.rpm

1.39

GPL

e2fsprogs-1.39-15.el5.src.rpm

209732

elfutils-libelf

elfutils-libelf-0.125-3.el5.i386.rpm

0.125

GPL

elfutils-0.125-3.el5.src.rpm

82364

filesystem

filesystem-2.4.0-1.el5.centos.i386.rpm

2.4.0

Public Domain

filesystem-2.4.0-1.el5.centos.src.rpm

0

findutils

findutils-4.2.27-4.1.i386.rpm

4.2.27

GPL

findutils-4.2.27-4.1.src.rpm

677405

gawk

gawk-3.1.5-14.el5.i386.rpm

3.1.5

GPL

gawk-3.1.5-14.el5.src.rpm

4348327

glibc

glibc-2.5-24.i686.rpm

2.5

LGPL

glibc-2.5-24.src.rpm

12579066

grep

grep-2.5.1-54.2.el5.i386.rpm

2.5.1

GPL

grep-2.5.1-54.2.el5.src.rpm

438014

gzip

gzip-1.3.5-10.el5.centos.i386.rpm

1.3.5

GPL

gzip-1.3.5-10.el5.centos.src.rpm

177422

info

info-4.8-14.el5.i386.rpm

4.8

GPL

texinfo-4.8-14.el5.src.rpm

273619

initscripts

initscripts-8.45.19.EL-1.el5.centos.1.i386.rpm

8.45.19.EL

GPL

initscripts-8.45.19.EL-1.el5.centos.1.src.rpm

5428112

iputils

iputils-20020927-43.el5.i386.rpm

20020927

BSD

iputils-20020927-43.el5.src.rpm

265965

less

less-394-5.el5.i386.rpm

394

GPL

less-394-5.el5.src.rpm

169603

libacl

libacl-2.2.39-3.el5.i386.rpm

2.2.39

LGPL

acl-2.2.39-3.el5.src.rpm

24460

libattr

libattr-2.4.32-1.1.i386.rpm

2.4.32

LGPL

attr-2.4.32-1.1.src.rpm

14296

libgcc

libgcc-4.1.2-42.el5.i386.rpm

4.1.2

GPL

gcc-4.1.2-42.el5.src.rpm

73040

libselinux

libselinux-1.33.4-5.el5.i386.rpm

1.33.4

Public domain (uncopyrighted)

libselinux-1.33.4-5.el5.src.rpm

132024

libsepol

libsepol-1.15.2-1.el5.i386.rpm

1.15.2

GPL

libsepol-1.15.2-1.el5.src.rpm

241432

libstdc++

libstdc4.1.2-42.el5.i386.rpm

4.1.2

GPL

gcc-4.1.2-42.el5.src.rpm

925520

libtermcap

libtermcap-2.0.8-46.1.i386.rpm

2.0.8

LGPL

libtermcap-2.0.8-46.1.src.rpm

11636

mktemp

mktemp-1.5-23.2.2.i386.rpm

1.5

BSD

mktemp-1.5-23.2.2.src.rpm

13488

ncurses

ncurses-5.5-24.20060715.i386.rpm

5.5

distributable

ncurses-5.5-24.20060715.src.rpm

2828939

net-tools

net-tools-1.60-78.el5.i386.rpm

1.6

GPL

net-tools-1.60-78.el5.src.rpm

764183

pcre

pcre-6.6-2.el5_1.7.i386.rpm

6.6

BSD

pcre-6.6-2.el5_1.7.src.rpm

223885

popt

popt-1.10.2-48.el5.i386.rpm

1.10.2

GPL

rpm-4.4.2-48.el5.src.rpm

124013

procps

procps-3.2.7-9.el5.i386.rpm

3.2.7

GPL

procps-3.2.7-9.el5.src.rpm

371546

readline

readline-5.1-1.1.i386.rpm

5.1

GPL

readline-5.1-1.1.src.rpm

344561

rpm

rpm-4.4.2-48.el5.i386.rpm

4.4.2

GPL

rpm-4.4.2-48.el5.src.rpm

1633585

rpm-libs

rpm-libs-4.4.2-48.el5.i386.rpm

4.4.2

GPL

rpm-4.4.2-48.el5.src.rpm

2122100

sed

sed-4.1.5-5.fc6.i386.rpm

4.1.5

GPL

sed-4.1.5-5.fc6.src.rpm

328527

setup

setup-2.5.58-1.el5.noarch.rpm

2.5.58

public domain

setup-2.5.58-1.el5.src.rpm

379754

shadow-utils

shadow-utils-4.0.17-13.el5.i386.rpm

4.0.17

BSD

shadow-utils-4.0.17-13.el5.src.rpm

2717831

sqlite

sqlite-3.3.6-2.i386.rpm

3.3.6

Public Domain

sqlite-3.3.6-2.src.rpm

420482

strace

strace-4.5.16-1.el5.1.i386.rpm

4.5.16

BSD

strace-4.5.16-1.el5.1.src.rpm

400994

sysklogd

sysklogd-1.4.1-44.el5.i386.rpm

1.4.1

GPL

sysklogd-1.4.1-44.el5.src.rpm

120336

SysVinit

SysVinit-2.86-14.i386.rpm

2.86

GPL

SysVinit-2.86-14.src.rpm

193729

tar

tar-1.15.1-23.0.1.el5.i386.rpm

1.15.1

GPL

tar-1.15.1-23.0.1.el5.src.rpm

1669541

util-linux

util-linux-2.13-0.47.el5.i386.rpm

2.13

distributable

util-linux-2.13-0.47.el5.src.rpm

4705876

vim-minimal

vim-minimal-7.0.109-3.el5.3.i386.rpm

7.0.109

freeware

vim-7.0.109-3.el5.3.src.rpm

590552

which

which-2.16-7.i386.rpm

2.16

GPL

which-2.16-7.src.rpm

31385

zlib

zlib-1.2.3-3.i386.rpm

1.2.3

BSD

zlib-1.2.3-3.src.rpm

79276

keyutils-libs

keyutils-libs-1.2-1.el5.i386.rpm

1.2

GPL/LGPL

keyutils-1.2-1.el5.src.rpm

32836

libidn

libidn-0.6.5-1.1.i386.rpm

0.6.5

LGPL

libidn-0.6.5-1.1.src.rpm

600183

krb5-libs

krb5-libs-1.6.1-25.el5.i386.rpm

1.6.1

MIT, freely distributable.

krb5-1.6.1-25.el5.src.rpm

1418248

openssl

openssl-0.9.8b-10.el5.i686.rpm

0.9.8b

BSDish

openssl-0.9.8b-10.el5.src.rpm

3381752

device-mapper

device-mapper-1.02.24-1.el5.i386.rpm

1.02.24

GPL

device-mapper-1.02.24-1.el5.src.rpm

1505046

cracklib

cracklib-2.8.9-3.3.i386.rpm

2.8.9

Artistic

cracklib-2.8.9-3.3.src.rpm

143009

cracklib-dicts

cracklib-dicts-2.8.9-3.3.i386.rpm

2.8.9

Artistic

cracklib-2.8.9-3.3.src.rpm

8043753

pam

pam-0.99.6.2-3.27.el5.i386.rpm

0.99.6.2

GPL or BSD

pam-0.99.6.2-3.27.el5.src.rpm

2503722

sudo

sudo-1.6.8p12-12.el5.i386.rpm

1.6.8p12

BSD

sudo-1.6.8p12-12.el5.src.rpm

474367

glib2

glib2-2.12.3-2.fc6.i386.rpm

2.12.3

LGPL

glib2-2.12.3-2.fc6.src.rpm

2420981

libcap

libcap-1.10-26.i386.rpm

1.1

BSD-like and LGPL

libcap-1.10-26.src.rpm

43762

libuser

libuser-0.54.7-2.el5.5.i386.rpm

0.54.7

LGPL

libuser-0.54.7-2.el5.5.src.rpm

1591979

passwd

passwd-0.73-1.i386.rpm

0.73

BSD

passwd-0.73-1.src.rpm

23441


Appendix F: Skeleton Virtual Instance Files

Table 119 Skeleton Virtual Instance Files

./dev

./proc

/proc/ioports

./dev/pts

/proc/net/

/proc/kcore

./dev/rtc

/proc/sys/

/proc/kmsg

./dev/tty

/proc/sysvipc/

/proc/ksyms

./dev/full

/proc/tty/

/proc/loadavg

./dev/null

/proc/cpuinfo

/proc/locks

./dev/ptmx

/proc/crypto

/proc/meminfo

./dev/zero

/proc/devices

/proc/misc

./dev/ipc_sockets

/proc/execdomains

/proc/modules

./dev/ipc_sockets/status_listener

/proc/filesystems

/proc/pci

./dev/random

/proc/interrupts

/proc/slabinfo

./dev/urandom

/proc/iomem

/proc/stat

./usr

 

/proc/swaps

./usr/local

 

/proc/uptime

./usr/local/etc

 

/proc/version

./usr/local/etc/zoneinfo

 

/tmp

./usr/local/etc/zoneinfo/localtime

   

./usr/share

   

The following files are not initially present. The files are added when an application is run, that has been packaged to share timezone information with the host OS.

/usr/share/zoneinfo/iso3166.tab

/usr/share/zoneinfo/zone.tab

/usr/share/zoneinfo/zonerules.tab

/etc/localtime

/usr/local/etc/zoneinfo/localtime

In addition, a file and directory are added when a particular time zone is selected. For example, when the time zone for America/New_York is selected, the following file and directory are added to the virtual instance:

/usr/share/zoneinfo/America

/usr/share/zoneinfo/America/New_York

Appendix G: Configuring Applications

The following sections describe procedures for configuring and using applications installed on the service module.

Configuration guidelines are provided for the following Cisco AXP features in this appendix. Use these guidelines to customize your product documentation for these features.

Remote Serial Device Configuration

Netconf

Synchronizing Files

CLI Plug-in Invocation

Application Status Monitor

Tracing

Packet Analysis

Enabling Interface Monitoring

Diagnostic Commands

Remote Serial Device Configuration

Cisco AXP supports external device connections through Cisco IOS software host serial ports. The virtual serial device on the local Cisco AXP platform interacts with external Cisco IOS software serial devices.

For the remote serial device configuration to work on the Cisco AXP service module, the application must be packaged with the Remote Serial Device (vserial) package. Refer to Table 4 on page 26.

Remote serial device configuration enables an application running on the service module to access external Cisco IOS serial devices connected to the serial port of a Cisco IOS router.

Applications can support peripherals, such as GPS locators, connected to serial ports.


Note A maximum of 16 serial devices, including the AUX line, are supported by the vserial package.


Cisco AXP currently supports the following asynchronous interfaces:

HWIC-4T

HWIC-4A/S

HWIC-8A/S-232

HWIC-8A

HWIC-16A

Table 120 Cisco AXP Asynchronous Support

Specification
HWIC-4T
HWIC-4A/S
HWIC-8A/S-232
HWIC-8A
HWIC-16A

Asynchronous support

Y

Y

Y

Y

Y

Asynchronous maximum speed (per port)

230.4 Kbps

230.4 Kbps

230.4 Kbps

230.4 Kbps

230.4 Kbps

Bisync support

N

N

N

N

N

Serial protocols

EIA-232

EIA-232

EIA-232

EIA-232

EIA-232

Lead manipulation

Y

Y

Y

Y

Y

Network clock synchronization

Y

Y

Y

N

N


The Cisco IOS router's auxiliary serial ports are virtualized and appear in the Cisco AXP OS as local devices. External devices connected to the Cisco IOS router appear as standard local devices such as "/dev/tty1" or "/dev/tty2" to Linux applications hosted on application service modules.

Third party applications can therefore control external peripherals attached to the router's auxiliary serial port without special knowledge of the location of the devices. Applications can open/close/read/write to the peripherals using standard Linux System calls such as: open("/dev/vtty1"), and read( ).

When the virtual serial device opens, a reverse telnet session is established, connecting to the Cisco IOS software host line interfaces. All serial data transfer is carried through this reverse telnet session.


Note Reverse telnet works only with line interfaces, and with serial interfaces that are configured in async mode. Reverse telnet does not work if serial interfaces are configured in synchronous mode.


Linux applications use the virtual device driver to control and receive signal state notifications on all async RS232 leads. A fixed TCP port is assigned to each of the TTY and AUX lines, and to the serial interfaces in ASYNC mode, when reverse telnet is implemented in Cisco IOS software.

The following are the vserial CLI commands that are available on the AXP side:

show device serial —Lists all the serial devices accessible from AXP.

bind serial name —Available inside the application's context and is used to bind a particular serial device to an application.

The following subset of the twelve options specified in RFC 2217 protocol are available after configuring a remote serial device:

SET-BAUDRATE

SET-DATASIZE

SET-PARITY

SET-STOPSIZE

SET-CONTROL

NOTIFY-LINESTATE

NOTIFY-MODEMSTATE

For more information on RFC 2217, refer to the RFC 2217 (Telnet Com Port Control Option) by entering 2217 at the following page:

Request for Comments

The port-index and the TCP port for various interfaces are pre-defined in Cisco IOS software, and are shown in Table 121.

Table 121 Cisco IOS Software Line Numbers and Port Values

Interface Name
Port Index
TCP Port

Console

0

Cannot be used.

tty1

1

6001

tty2

2

6002

...

...

...

ttyn

n

600n

AUX

n+1

600(n+1)

vtty1

n+2

600(n+2)

...

...

...

Serial interface in ASYNC mode

Platform dependent

Platform dependent


For the remote serial device, NETCONF must be configured on the router and the Cisco AXP service module. Refer to the "Netconf" section.

PREREQUISITE TASKS

The third party application must be packaged with a dependency of the UUID of the remote serial device package. Refer to the "Cisco AXP Add-on Packages" section on page 10.

SUMMARY STEPS

On the Cisco IOS router:

Configure NETCONF

Refer to the "Netconf" section.

Configure the serial interface in async mode

1. configure terminal

2. interface serial slot/module/port

3. physical-layer async

4. no ip address

5. line line-num

6. no exec

7. transport input telnet

8. speed baud-rate

9. exit

10. exit

Configure Lines for Reverse Telnet and Aysnchronous Interface with Stop Bits and Parity

11. interface async slot/module/port

12. no ip address

13. encapsulation slip

14. line line-number

15. no exec

16. transport preferred none

17. transport input all

18. transport output all

19. stopbits number

20. parity value

21. speed baud-rate

22. exit

23. exit

On the Cisco AXP service module:

Configure NETCONF

Refer to the "Netconf" section

Bind the Interface and Serial Devices

24. config t

25. app-service serialapp

26. bind interface

27. bind serial

28. end

29. app-service serialapp

30. reset

31. end

DETAILED STEPS

 
Command or Action
Purpose
 

On the router:

 
 

Configure NETCONF

Refer to the "Netconf" section.

 

Configure the serial interface in async mode

 

Step 1 

configure terminal 

Enters configuration mode.

Step 2 

interface serial slot/subslot/port 

Defines the interface serial parameters.

Step 3 

physical-layer async 

Configures the interface for async communication.

Step 4 

no ip address 

Sets no IP address.

Step 5 

line line-num 

Configures the console terminal line and enters line configuration sub-mode.

line-num— Line number.

Step 6 

no exec 

Turns off the EXEC process for the specified line in the line command.

Step 7 

transport input telnet 

Defines the protocols for connection to a specific line of the router.

telnet—Specifies all types of incoming TCP/IP connections.

Step 8 

speed baud-rate 

Sets the transmit and receive speeds.

Step 9 

exit 

Exits line configuration sub-mode.

Step 10 

exit 

Exits configuration mode.


Configure Lines for Reverse Telnet and Aysnchronous 
Interface with Stop Bits and Parity
 

Step 11 

interface async slot/subslot/port 

Defines the interface asynchronous parameters.

Step 12 

no ip address 

Sets no IP address.

Step 13 

encapsulation slip 

Configures slip encapsulation.

Step 14 

line line-num 

Configures the console terminal line and enters line configuration sub-mode.

line-num— Line number.

Step 15 

no exec 

Turns off the EXEC process for the specified line in the line command.

Step 16 

transport preferred none

Specifies the transport protocol that the Cisco IOS software uses if the user does not specify one when initiating a connection.

none— Prevents any protocol selection on the line. The system normally assumes that any unrecognized command is a hostname. If the protocol is set to none, the system no longer makes that assumption. No connection is attempted if the command is not recognized.

Step 17 

transport input all 

Defines the protocols for connection to a specific line of the router.

all—Selects all protocols.

Step 18 

transport output all 

Defines the protocols for connection to a specific line of the router.

all—Selects all protocols.

Step 19 

stopbits number 

Sets the number of stop bits transmitted per byte.

number— Number of stop bits.

Step 20 

parity value 

Sets terminal parity.

Step 21 

speed baud-rate 

Sets the transmit and receive speeds.

Step 22 

exit 

Exits line configuration sub-mode.

Step 23 

exit 

Exits configuration mode.

 

On the Cisco AXP Service Module:

 

Configure NETCONF

Refer to the "Netconf" section.


Bind the Interface and Serial Devices:

 

Step 24 

config t

Enters configuration mode.

Step 25 

app-service serialapp 

Enters application service mode.

serialapp—Serial device application name inside the third party application.

Step 26 

bind interface network-interface-name 

Attaches the networking device to or from the virtual environment.

Step 27 

bind serial device-id [device-id-on-hosting 
environment] 
Example:
bind serial vtty000 modem 

Binds the serial device, which is connected to the Cisco IOS software side, inside the virtual environment.

If the bind command is successful, a device node /dev/modem is created in the application's virtual instance and the user can access the device as any other regular device.

device-id— Device ID of the serial device connected to the Cisco IOS software side. Use the show device serial command to view device ID.

device-id-on-hosting-environment—(Optional) Designates a name that is different from the device ID (device-id) inside the hosting environment.

Step 28 

end

Exits application service mode.

Step 29 

app-service serialapp

Enters application service mode.

serialapp— Serial device application name inside the third party application.

Step 30 

reset

Resets the application service environment.

Step 31 

end

Exits application service mode.

Verifying Remote Serial Device

Use the show line command on the Cisco IOS router to obtain the Cisco IOS serial device configuration, and then use the show device serial command on the Cisco AXP service module to view all the remote serial devices.

SUMMARY STEPS

1. On the router

show line

2. On the service module

show device serial

3. (Optional) show processes | include NETCONF

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

show line

Example:

router#show line

Displays the Cisco IOS serial device configuration. The line numbers displayed in the output are the same as the port index.

Step 2 

show device serial

Example:
se-Module> show device serial 

Displays all the remote serial devices detected by the service module.

Note Only displays a maximum of 16 serial devices (including AUX line.

Step 3 

(Optional) show processes | include NETCONF

(Optional) Displays processes running with NETCONF. Use this command if the show device serial command in step 2 does not show any remote serial devices.

Verifying Remote Serial Device: Example

router# show line 
Tty    Line Typ   Tx/Rx      A  Modem  Roty AccO AccI  Uses  Noise Overruns  Int
* 0      0   CTY              -    -     -    -    -     2      0    0/0       -
  1      1   AUX   9600/9600  -    -     -    -    -     2      0    0/0       -
  0/0/0  2   TTY   9600/9600  -    -     -    -    -     0      0    0/0    Se0/0/0
  0/0/1  3   TTY   9600/9600  -    -     -    -    -     0      0    0/0    Se0/0/1
* 66     66  TTY   9600/9600  -    -     -    -    -     2      0    0/0      -
  514    514 VTY              -    -     -    -    23    0      0    0/0      -
  515    515 VTY              -    -     -    -    23    0      0    0/0      -
  516    516 VTY              -    -     -    -    23    0      0    0/0      -


In the show device serial command output shown below, the Line Type, Line No. and Interface Name fields are mapped to the output of the show line command. The Assigned To field is set by the bind command and shows the specific application to which the remote serial device is attached.


Note show device serial lists a maximum of 16 serial devices (including the AUX line).


se-Module> show device serial 
Device Name     TTY No. Line No.   Line Type    Intf Name  Assigned To
vaux1           1       1            AUX        -               -
vtty000         0/0/0   2            TTY        Se0/0/0         serialapp
vtty001         0/0/1   3            TTY        Se0/0/1         -

Remote Serial Device Configuration: Example

Configure NETCONF on the Cisco IOS router

Refer to the "Configuring Netconf/ssh on Cisco IOS Software" section and the "Configuring Netconf/ssh: Example" section.

Configure the Serial Interface in async Mode:


interface Serial0/0/0 <-- If the physical device is connected to serial 0/0/0 
interface
  physical-layer async <-- AXP only supports async communication
  no ip address

Configure Lines for Reverse Telnet and Asynchronous Interface with Stop Bits and Parity

line 0/0/0
  no exec
  transport input telnet
  speed 4800
For start-stop synchronous communication, low level asynchronous configuration is 
under the line sub-mode.

router(config)#line 0/0/0 0/0/7
router(config-line)#? <--------------- Enters line sub-mode.

interface Async0/0/2
 no ip address
 encapsulation slip
!
interface Async0/0/3
 no ip address
 encapsulation slip

line 0/0/0 0/0/7
 no exec
 transport preferred none
 transport input all
 transport output all
 stopbits 1.5
 speed 230400

interface Async0/0/2
 no ip address
 encapsulation slip
!
interface Async0/0/3
 no ip address
 encapsulation slip

line 0/0/0 0/0/7
 no exec
 transport preferred none
 transport input all
 transport output all
 parity even
 speed 230400

Configure NETCONF on the Cisco AXP service module

Refer to the "Configuring Netconf/ssh on Cisco AXP Service Module" section and the "Configuring Netconf/ssh: Example" section.

Testing Remote Serial Device: Example

This example shows the application code used to test a serial modem device.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <fcntl.h>
#include <termios.h>
#include <ctype.h>
#include <sys/time.h>
#include <stropts.h>
#include <sys/ioctl.h>

int serial_open(char *dev) {
	int ttyfd;

	if (dev == NULL) {
		printf("\nDevice Empty");
		return -1;
	}
        printf("Opening..%s",dev);
	ttyfd = open (dev, O_RDWR | O_NONBLOCK | O_NOCTTY | O_NDELAY);

	if (ttyfd < 0) {
		perror("Device Open Failed: ");
		return (-1);
	}
	fcntl(ttyfd, F_SETFL, 0);
	return ttyfd;
}

int device_send(int ttyfd, char* data, int len) {
	int n;

	n = write(ttyfd, data, len);
	if (n<0) {
		perror("Device send failed: ");
		return n;
	}

	printf("Send Worked: %d", n);
	return 0;
}

int device_recv(int ttyfd) {
	char data[128];
	int r=0;
	memset(data, 0, sizeof(data));

	r = read(ttyfd, data, 128);
	if (r<0) {
		perror("device_recv failed: ");
		return -1;
	}

	printf("\nReceived: %s, Len: %d", data, r);
	return 0;
}
int modem_read (int fd) {
	char buffer[255];  /* Input buffer */
	char *bufptr;      /* Current char in buffer */
	int  nbytes;       /* Number of bytes read */

	printf("\nReading...");
	/* read characters into our string buffer until we get a CR or NL */
	bufptr = buffer;
	while ((nbytes = read(fd, bufptr, buffer + sizeof(buffer) - bufptr - 1)) > 0)
	{
		bufptr += nbytes;
		if (bufptr[-1] == '\n' || bufptr[-1] == '\r')
			break;
	}
	if (nbytes<0) {
		perror("Modem Read Failed: ");
		return (-1);
	}

	printf("\nModem Replied: %s", buffer);
	return 0;
}

int select_data (int fd) {
	struct timeval timeout;
	int readsocks=0;
	fd_set socks;

	FD_ZERO(&socks);
	FD_SET(fd,&socks);
	timeout.tv_sec = 1;
	timeout.tv_usec = 0;

	while(1) {
		readsocks = select(FD_SETSIZE+1, &socks, (fd_set *)0,(fd_set *) 0, &timeout);

		if (readsocks < 0) {
			perror("select");
			exit(1);
		}
		if (readsocks == 0) {
			/* Nothing ready to read, just show that
		   	   we're alive */
			//printf(".");
			continue;
		}
		if (FD_ISSET(fd,&socks)) {
			/* Data Avilable */
			if (modem_read(fd) < 0) {
				return -1;
			}

		}
	}

}
void raw_mode(int fd) {
	struct termios options;
    /* get the current options */
    tcgetattr(fd, &options);

    /* set raw input, 1 second timeout */
    options.c_cflag     |= (CLOCAL | CREAD);
    options.c_lflag     &= ~(ICANON | ECHO | ECHOE | ISIG);
    options.c_oflag     &= ~OPOST;
    options.c_cc[VMIN]  = 0;
    options.c_cc[VTIME] = 10;

    /* set the options */
    tcsetattr(fd, TCSANOW, &options);
}

int                  /* O - 0 = MODEM ok, -1 = MODEM bad */
init_modem(int fd)   /* I - Serial port file */
{
	char buffer[255];  /* Input buffer */
	char *bufptr;      /* Current char in buffer */
	int  nbytes;       /* Number of bytes read */
	int  tries;        /* Number of tries so far */

	for (tries = 0; tries < 3; tries ++)
	{
		/* send an AT command followed by a CR */
		if (write(fd, "AT\r", 3) < 3) {
			perror("Modem Write Failed: ");
			continue;
		}

		/* read characters into our string buffer until we get a CR or NL */
		bufptr = buffer;
		while ((nbytes = read(fd, bufptr, buffer + sizeof(buffer) - bufptr - 1)) > 0)
		{
			bufptr += nbytes;
			if (bufptr[-1] == '\n' || bufptr[-1] == '\r')
				break;
		}
		if (nbytes<0) {
			perror("Modem Read Failed: ");
		}

		printf("\nRead %d Bytes(%s)", nbytes, buffer);

		/* nul terminate the string and see if we got an OK response */
		*bufptr = '\0';

		if (strstr(buffer, "OK") != NULL) {
			printf("\nModem Initialized");
			return (0);
		}
	}
	printf("\nModem Initialization Failed");
	return (-1);
}

int dial(int fd, char* number) {
	char cmd[64];

	memset(cmd, 0, 64);
	sprintf(cmd, "ATD %s\r", number);
	printf("\n(%d)Dialing...%s", strlen(cmd), cmd);
	if (write(fd, cmd, strlen(cmd)) < 3) {
		perror("Modem Write Failed: ");
		return -1;
	}
	return 0;
}

void print_termios(struct termios *options) {
	printf("\nTERMIOS ");
	printf("\nSpeed: %d", cfgetispeed(options));
	printf("\n");

}

void set_ioctl_baud(int fd, speed_t speed) 
{
    struct termios ttyset;

    if (ioctl (fd, TCGETA, &ttyset) < 0) {
        perror("IOCTL GETA ERROR");
        exit(1);
    }
    print_termios(&ttyset);
    ttyset.c_ispeed = speed;
    ttyset.c_ospeed = speed;

    if (ioctl (fd, TCSETA, &ttyset) < 0) {
        perror("IOCTL SETA ERROR");
        exit(1);
    }
}


int set_baud(int fd,  speed_t speed) {
    struct termios options;

    /*
     * Get the current options for the port...
     */

    tcgetattr(fd, &options);
    print_termios(&options);
    /*
     * Set the baud rates to 19200...
     */

    cfsetispeed(&options, speed);
    cfsetospeed(&options, speed);

    /*
     * Enable the receiver and set local mode...
     */

    options.c_cflag |= (CLOCAL | CREAD);

    /*
     * Set the new options for the port...
     */

    tcsetattr(fd, TCSANOW, &options);

    tcgetattr(fd, &options);
    print_termios(&options);
}

int main(int argc, char *argv[]) {

	char *dev;
	int r, ttyfd;
	if (argc > 1) 
	    dev = strdup(argv[1]);
        else
	    dev = strdup("/dev/modem");
	ttyfd=serial_open(dev);
	if (ttyfd) {
            //raw_mode(ttyfd);
            //init_modem(ttyfd);
            set_ioctl_baud(ttyfd, B4800);
            //dial(ttyfd, "9809649");
            //select_data(ttyfd);
            close(ttyfd);
	}
	printf("\n");
}

Netconf

Netconf provides a programmatic interface for Cisco IOS CLI. This section describes the steps required to configure the router and application service module for netconf. Netconf requires a crypto (K9) Cisco IOS software image.

Netconf is supported over transport protocol Secure Shell (SSH). Netconf over BEEP is no longer supported. Netconf over SSH offers security on the Cisco IOS side. Credentials such as username/password must be supplied on the Cisco AXP side for the connection to be established.

Netconf is described in the following sections:

Configuring Netconf/ssh on Cisco IOS Software

Configuring Netconf/ssh on Cisco AXP Service Module

Configuring Netconf/ssh: Example

Netconf Sessions

Troubleshooting ssh Connection

Additional References

Configuring Netconf/ssh on Cisco IOS Software

To configure netconf/ssh on the Cisco IOS side, perform the following steps:

1. configure terminal

2. username user [privilege privilege] password [0|7] password

3. hostname hostname

4. ip domain-name domain

5. crypto key generate rsa modulus 1028

6. ip ssh version 2

7. netconf ssh

8. exit

9. (Optional) clear netconf counters

DETAILED STEPS

 
Command or Action
Purpose

On the router:

 

Step 1 

configure terminal

Enter configuration mode.

Step 2 

username user [privilege privilege] password [0|7] password

privilege: value of 15 is required for \configuration commands and/or "show run" EXEC commands.

Step 3 

hostname hostname

Specifies hostname for ssh.

Step 4 

ip domain-name domain

Specifies domain name for ssh.

Step 5 

crypto key generate rsa modulus 1024

Generates RSA crypto keys with modulus 1024.

Step 6 

ip ssh version 2

Enables the ssh server for local and remote authentication on the router using ssh version 2.0.

For further information on Cisco IOS ssh, refer to Additional References.

Step 7 

netconf ssh

Use ssh to establish a netconf session.

Step 8 

exit

 

Step 9 

clear netconf counters

(Optional) Clear netconf statistics counters.

Configuring Netconf/ssh on Cisco AXP Service Module

To configure netconf/ssh on the Cisco AXP side, perform the following steps:

SUMMARY STEPS

1. configure terminal

2. netconf ssh client {router ip/hostname username user password [0|7] password}

DETAILED STEPS

 
Command or Action
Purpose

On the Cisco AXP service module:

 

Step 1 

configure terminal

Enter configuration mode.

Step 2 

netconf ssh client router ip/hostname username user password [0|7] password}

Specifies ssh as the transport protocol for netconf sessions.

Configuring Netconf/ssh: Example

In this example, 192.168.24.30 is the IP address of the Cisco IOS router.

On the Cisco IOS router:

username axp_user privilege 15 password axp_pass

ip domain-name cisco.com

hostname axp_router

crypto key generate rsa modulus 1024

netconf ssh

On the Cisco AXP service module:

netconf ssh client 192.168.24.30 username axp_user password axp_pass

Netconf Sessions

Netconf is used by the following APIs/components: IOS Event API (eventapid), IOS CLI API (iosapid), and Remote Serial Client (vserial_client). Netconf behaves slightly differently for each of these components.

For iosapid, a netconf session is removed when the connection is dropped, and the netconf session is not reestablished until the next IOS CLI API operation is requested by the application.

For eventapid or vserial_client, a netconf session is set up without the application having to make a request. The netconf session is setup during process initialization.

After the service module starts with netconf configured in the startup/running config, the eventapid or vserial_client starts (if an application is dependent upon eventapid or vserial_client). The netconf connection is established using the current netconf configuration.

If a new netconf configuration is set up, then the existing netconf sessions are not changed, unless the connection is dropped. For example, a connection may be dropped due to the Cisco AXP service module being reloaded. Connections may also be dropped due to a general network failure. Afterwards, any netconf sessions that are reestablished use the new netconf configuration. A controlled way to change an existing netconf session to accept a new configuration is to clear a netconf session.

To clear a netconf session use the following commands from the Cisco AXP service module:

1. show netconf session

Lists the sessions—allowing you to choose which session id to clear

SessionID (first column of the output): identifies the netconf session.

Connection Identity (second column of the output): shows the name of the application running in the guest OS.

2. clear netconf session session id

When a connection is dropped, components eventapid and vserial_client try to connect using the current netconf configuration.

For iosapi connections, a netconf session is removed when the connection is dropped, and the netconf session is not reestablished until the application performs the next IOS CLI API operation.

To view netconf sessions, use the command: show netconf session

Example 1

In this example, the application "mytest1" has a dependency on eventapid, the router is reloaded and a new session is established using the existing netconf configuration, which was set up using the command

netconf ssh client 192.168.24.30 username axp_user1 password axp_pass1

If the application was also dependent upon vserial_client, there would be another netconf session with a Connection Identity of VSerial_API_Client.

1.

se-192-168-24-31# show netconf session

SessionID           Connection Identity      Remote Address
1220928724          mytest1                  192.168.24.30:22
1220929252          Event_API_Client         192.168.24.30:22
se-192-168-24-31#

2.

Reload the router.

The netconf session for Event_API_Client is established.

3.

View the netconf sessions using the show netconf session command. (If the application had a dependency on vserial_client, there would be another netconf session shown for VSerial_API_Client.)

se-192-168-24-31# show netconf session
SessionID           Connection Identity      Remote Address
1218578260          Event_API_Client         192.168.24.30:22

The eventapid session now has a new session id, and there is no iosapid session for application "mytest1".

In the above example, if the netconf configuration changes before the module reloads, then the remote address would different from 192.168.24.30:22.

Example 2

In this example, the application "mytest2" has a dependency on eventapid.

1.

(Previously a netconf configuration was set up to router IP address 192.168.24.30 using a command such as: se-192-168-24-31(config)# netconf ssh client 192.168.24.30 username cisco password 0 cisco)


se-192-168-24-31# show netconf session

SessionID           Connection Identity      Remote Address
1220929724          mytest2                  192.168.24.30:22
1220929952          Event_API_Client         192.168.24.30:22

2.

se-192-168-24-31# netconf ssh client 192.168.20.40 username cisco password 0 cisco

A new netconf configuration is set up to router 192.168.20.40, so that after the router is reloaded, the netconf sessions use IP address: 192.168.20.40.

3.

Reload the router.

The netconf session for Event_API_Client is established.

4.

View the netconf sessions using the show netconf session command.


se-192-168-24-31# show netconf session
SessionID           Connection Identity      Remote Address
1217187876          Event_API_Client         192.168.20.40:22

Troubleshooting ssh Connection

One of the reasons for ssh connection failure is a stale fingerprint.

To show the md5 fingerprint of the ssh server's host key in the known host table, use the following command:

show security ssh known-hosts

If the md5 fingerprint is stale, to clear the fingerprint of the ssh server's host key, use the following command:

clear security ssh known-hosts host

Additional References

For further information on Cisco IOS ssh, refer to:

Configuring Secure Shell on Routers and Switches Running Cisco IOS

Synchronizing Files

Cisco AXP provides a data synchronization feature that allows you to synchronize files from a virtual instance with the workstation. The sync file url command synchronizes data from a virtual instance to the workstation using the rsync utility. The synchronization feature uses the rsync utility to exclude hard-linked files from the synchronization process. Cisco AXP invokes rsync remotely using ssh.

Hard-linked files from the AXP Reference OS and other add-on files are excluded from synchronization since they are not packaged in an application. If an application requires a hard-linked file on the Cisco AXP service module to be overwritten with a file from a developer's workstation, it is necessary to first log into the Linux session in the virtual instance and remove the hard-linked file's protection.

If a file (or its directory) is deleted from one location and is used as the source of a synchronization operation, the file (or its directory) on the other location will not be automatically deleted. It must be manually deleted.

For example, if /work/helloworld-app-content/etc/mtab is deleted from the workstation repository and sync file url command is invoked with the in keyword, the file on the Cisco AXP service module will not be automatically deleted.

Files that are not protected (not hard-linked from the AXP Reference OS or add-on files), will be synchronized from the Cisco AXP service module for that virtual instance. These files include:

All files added by the developer

Temporary files used by run-time Linux

Basic directory structures

The synchronization feature depends on:

AXP Reference OS and add-on files hard-linked (UNIX file system link) in the virtual instance

rsync utility

additional RPMs—see Prerequisites

Prerequisites


Before initiating the rsync utility from the service module, perform the following tasks:

Workstation

1. On the workstation, check that the rsync utility is installed by default.

For example, if a Redhat platform is used, rsync is included.

2. Check that the sshd process is running on the workstation.

3. Check that the workstation is connected to the router via the network.

4. The developer must have a valid account on the workstation.

5. Setup a directory to contain the synchronization process content.

6. Ensure that the ~/.ssh folder has read, write and executable permissions for the owner.


Note For sshd to work, the ~/.ssh directory file permissions for "group" and "others" must not include write permission. For example: changing permissions on the directory using chmod 755 is acceptable—this gives file permissions of drwxr-xr-x. However, changing permissions on the directory using chmod 777 is unacceptable—this gives file permissions of drwxrwxrwx.


7. Make the application (an empty application at the start of development) dependent on the application development package. This provides access to the Linux shell and rsync utility.

8. Package the application with the following RPMs: nspr, openssh-server, nss, tcp_wrappers, and openssh.

9. Configure the application to bind an interface because rsync requires network connectivity.

Service Module

On the service module:

Configure the bind interface command to connect the installed application to the workstation. Refer to "Configuring External Network Interfaces" in the Cisco AXP 1.6 User Guide).

Configure ssh authentication keys to allow rsync session initiations without having to provide a password for each session. This configuration is required only once.


SUMMARY STEPS

1. app-service application-name

2. sync file url rsync:host_url direction [in|out] username username

3. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

app-service application-name

Enters application service mode.

Step 2 

sync file url rsync:host_url direction [in|out] 
username username 

Wraps the rsync command. Before invoking the rsync utility, the command first identifies the files that can or should be synchronized.

This identification process avoids synchronizing files that were hard-linked in the virtual instance, such as files from the AXP Reference OS or other add-on files.

rsync— Defines the rsync protocol

host_url— Host URL

direction—Direction of synchronizing the files:

in—Content from the workstation is used as the master file.

out—Content from the service module is used as the master file.

username—Username used for authentication to the remote host (developer's workstation).

Step 3 

exit

Exits application service mode.

Synchronization Example

This example assumes that the prerequisite tasks have been performed and the application is installed and configured on the Cisco AXP service module.

Setup

Workstation (rsync repository) address: 192.168.1.4

Username used by the developer on the workstation: john

Empty application name: helloworld

Cisco ISR prompt:

Router> 

Cisco AXP service module prompt:

appre> 

Workstation's folder to be used as a repository: /work/helloworld-app-content

Configuring SSH Authentication Keys

Configure the ssh authentication keys to establish trust between the service module and the workstation before using the sync file url command.

SUMMARY STEPS

1. Access a Linux shell session on the service module's application

2. Generate a key for the service module

3. Load the service module's public key to the workstation

4. Verify setup


Step 1 Setup a Linux session on the service module. Use the linux shell and connect console commands to access the shell of the AXP Reference OS or AXPUDL. You can obtain console access for your application by using a debug package as a dependency, or by using a postinstall script.

a. To enable the linux shell command, first obtain console access using a debug package as a dependency. Refer to the "Application Development Package" section on page 17.

b. To enable the connect console command, first obtain console access using the postinstall script. Refer to the "Postinstall Script" section on page 18.

appre> app-service helloworld 
appre>(exec-helloworld)>
appre>(exec-helloworld)> linux shell 
bash-2.05b# 

Step 2 Generate keys.

Use ssh-keygen to generate keys for the network-module.

Do not provide a passphrase. Save the generated keys under /root/.ssh/id_rsa since ssh will be looking for it.

bash-2.05b# ssh-keygen -t rsa 

a. Generate the public/private RSA key pair. You will enter information in interactive mode.

Enter the file in which you want to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.

The key fingerprint is:

d:31:68:8a:54:94:ee:9c:ba:14:79:41:53:ef:ac:ec root@appre 

Step 3 Upload the service module's public key to the workstation to ensure that the service module's public key is known by the workstation. A simple way to upload the public key is to use the scp utility.

bash-2.05b# scp /root/.ssh/id_rsa.pub john@192.168.1.4:.ssh/authorized_keys2 


Note john is the username or account on the workstation. We will use the same username to invoke the rsync command.


Step 4 Verify setup.

We can verify the setup of the authentication key by launching a simple ssh session from the service module to the workstation.

bash-2.05b# ssh john@192.168.1.4

You should not be prompted for a password for this command and should get a ssh session right away. If you do not initiate a ssh session immediately verify that:

The right key has been uploaded. The key must be uploaded on the same machine to which you are initiating ssh during the verification step.

The username is the same.

The scp operation destination does not contain any typographical errors.

Step 5 Use the sync file url command

Perform data synchronization between the service module application files and the workstation repository. The first time you synchronize, it is recommended that you synchronize out (service module to the workstation) so that the base directory layout is exported.

Synchronizing out for the first time also makes it easier to add files to the structure.

In this example, we invoke the rsync command from the application context from the CLI prompt:

appre> app-service helloworld 
appre(exec-helloworld)> sync file url rsync://192.168.1.4/work/helloworld-app-content 
direction out username john

Using this command exports the data to the workstation 192.168.1.4 and places all the data of the application, which resides on the service module, under the workstation's directory /work/helloworld-app-content.

The username john is used as credential for the connection.

The exported data must contain the following:

Basic directory structure

Temp files that were used in the virtual instance such has /tmp/*, /var/log/*, /var/lock/*

Original files that were originally packaged in the application

At this point, files can be added and modified in the workstation repository and be synchronized back in, using the same command but using in instead of out as direction.


CLI Plug-in Invocation

The Cisco AXP CLI plug-in distribution service supports CLI plug-in actions in C, Java, and shell scripts.

Developers must implement APIs using the signatures provided in the API sections of this guide;for example, the "AXP CLI API" section on page 53, and compile the APIs into application C libraries or Java classes. The CLI plug-in distribution service invokes these APIs when a user enters a command referring to one of these action classes.

EXEC Mode

Invoke an EXEC CLI plug-in as follows:

SUMMARY STEPS

1. app-service application-name

2. Enter the CLI plug-in as defined by the third party application.

3. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

app-service application-name

Example:

SE-Module>(exec-helloworld) disconnect users 20

Invokes a plug-in command in EXEC mode.

application-name— Application name.

Enter a query (?) to autogenerate a list of application names.

After entering the app-service sub-mode, enter the CLI plug-in defined by the third party application.

Step 2 


Enters the CLI plug-in after entering app-service submode.

Step 3 

exit

Exits application service custom mode.

Configuration Mode

Invoke a CLI plug-in using configuration mode as follows:

SUMMARY STEPS

1. configure terminal

2. app-service application-name

3. Enter the CLI plug-in defined by the third party application.

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure terminal

SE_Module> configure terminal

Enters configuration mode.

Step 2 

app-service application-name

Invokes a CLI plug-in using configuration mode.

application-name— Application name.

Enter a query (?) to auto-generate a list of application names.

Step 3 

Enter plugin CLI

Example:

SE-Module>(config-helloworld) http ip 10.23.34.45 port 1234

Enters the CLI plug-in after entering app-service submode.

Application Status Monitor

Cisco AXP allows third party applications to use their own plug-ins for status monitoring to help recover from a malfunctioned state.

An application must provide one or more watchdog scripts or executable files bundled in the application package—to enable the Cisco AXP application monitoring feature to be used. Cisco AXP supports Shell scripts and C language executables for application status monitoring. The number of these scripts depends on the application. The status of the application can be determined from, for example, the Process Identifier (PID), or a response to an application ping.

For more information on watchdog scripts and executables, refer to the "Application Status Monitoring using Watchdog Scripts" section on page 19.

The application status monitor has a heartbeat of 5 seconds, which is the minimum time interval used for status monitoring. For example, if the monitor interval is set at 12, monitoring of each virtual instance takes place every 12 heartbeat intervals, which is every one minute. To configure the monitoring interval for a virtual instance use the status-monitor monitor interval command.

The scripts or executables return a status code where zero indicates that the application is healthy and alive. If the status code is non-zero, this shows that the application is non-functional. When a watchdog script or executable returns a non-zero status code, relevant information such as the name of the watchdog script, return status, and time of failure is logged.

A recovery counter counts the number of times the failure takes place, and acts like a delay mechanism for further action. A recovery count of three means that the application monitor has run for three iterations and is receiving either a non-zero return status, or the watchdog script has been running for over 3 monitoring intervals and is not returning a value.

You can use the status-monitoring monitor interval command for configuring the recovery threshold that decides on the number of recovery counters before taking the next action. When the recovery threshold is reached, the virtual instance restarts and the application monitor continues to run, repeating the monitoring cycle. A virtual instance can restart any number of times.

Third party developers can also provide default configuration parameters through a configuration file packaged together with their party application.

This section contains the following tasks:

Configuring the Application Status Monitor Interval and Recovery Threshold

Verifying the Application Status Monitor Output

Configuring the Application Status Monitor Interval and Recovery Threshold

To set the monitor interval and recovery threshold, perform the following steps.

SUMMARY STEPS

1. configure terminal

1. app-service application-name

2. status-monitor monitor_interval Interval-Num recovery_threshold Threshold-Num

3. exit

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure terminal

Enters configuration mode.

Step 2 

app-service application-name

Enters application service mode.

Step 3 

status-monitor monitor_interval Interval-Num recovery_threshold Threshold-Num

Configures the monitor interval and the recovery threshold.

monitor_interval—Threshold value for monitoring interval.

Interval-Num—Value is 1 to 99. Default is 12. Measured at 5 seconds per interval.

Recovery_threshold—Threshold value for recovery attempts.

Threshold-Num—Recovery threshold number from 1 to 99. Default is 5.

Step 4 

exit

Exits application service mode.

Verifying the Application Status Monitor Output

To verify the status monitor output, perform the following step.

SUMMARY STEPS

1. show-status monitor

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

show-status monitor

View the status monitor output. See the "Viewing the Application Status Monitor" section in the
Cisco AXP User Guide.

Tracing

Trace logs capture events related to the progress of a request through the system. Trace logs survive a CPU reset; trace configurations survive a power failure. Log and display these with the trace commands.


Note Among keyword options for many trace commands is a provision to display diagnostic output on your screen or to pipe it to a file or a URL.


Table 122 Tracing Module Definitions

AXP_install

AXP_upgrade

AXP_startup

AXP_rsrcmgr

AXP_cliapi

AXP_ssh

AXP_cli

AXP_syslogsvr

AXP_appdebug

AXP_cliplugin

AXP_vserial

AXP_guestos

AXP_upgrade

AXP_iosapi

AXP_eventapi

AXP_svcapi

   

Trace logs capture events related to the progress of a request through the system. Trace logs survive a CPU reset; trace configurations survive a power failure. Log and display these with the trace commands.

To generate and display syslog and trace diagnostics, use trace commands as needed Table 123.

Table 123 Common Trace Commands 

Configuration Mode
Command
Purpose
SE-Module>

clear trace

Clears logged trace events for specified modules.

SE-Module (config)>

log trace

Logs configured traces to the service module (can be done locally or remotely).

SE-Module>

trace

Enables tracing for specified modules, entities, or activities. The no form of the command disables tracing.

SE-Module>

show errors

Displays error statistics by module, entity, or activity.

SE-Module>

show trace

Displays trace settings.

SE-Module>

show trace buffer

Displays the contents of the trace buffer.

SE-Module>

show trace store

Displays the contents of the traced messages that are stored.


In modules using the Event API, you can turn on trace flags, for errors, events and listeners.

Trace messages are encoded and stored in /var/log/atrace.log. To decode the atrace.log file, use the command:

atrace_decode

Example:
../../usr/bin/atrace_decode atrace.log 1 atrace.out ../../usr/trace/trace.tcmd
../../usr/trace/trace.tmsg"

To display messages, use the show trace command.

To turn on tracing, use the Cisco AXP EXEC mode command:

trace AXP_eventapi [all | dispatcher ] [ all | error | event | listener ]

Keywords: error, event, and listener are described in Table 124.

Table 124 trace Command Keywords

Keyword
Description

error

Turns on error tracing. To display error messages, use the show trace command.

Note Even if the error trace flag is not turned on, errors are logged to the messages.log file. To display messages.log, use the show messages.log command.

Note Error messages are also logged to Event API's own debug output (eventapi20.log) under host /var/log directory.

event

Turns on event-related tracing. To display event-related messages, use the show trace command.

Note Event-related messages are not logged to the debug output of Event API (eventapi20.log) under the host /var/log directory because they might flood the disk.

listener

Turns on the internal listeners of Event API tracing. To display error messages, use the show trace command.

Note Listeners messages are logged to debug output of the Event API (eventapi20.log) under the host /var/log directory.


Packet Analysis


Note Refer to the documentation provided by your third party vendor for any application specific packet monitoring that may apply to your product.


For packet monitoring on the Cisco AXP, you can use either network analysis monitoring, or router IP traffic (RITE). Both of these features are similar to features available on Cisco IOS software platforms. Use packet monitoring when there is only one service module in the router.

If your application requires router-generated packets to be monitored, (unsupported for RITE) refer to the "Enabling Interface Monitoring" section.

If your application needs more granular control of exported traffic, use RITE.


Note Network analysis monitoring and RITE monitoring can be configured at the same time, however, we do not recommend it. Each of these two features performs its own duplication, resulting in the duplicated packets being received if both features are configured at the same time. Furthermore, there is a limitation of only one Network Analysis Module (NAM) in a chassis—Cisco IOS software rejects registration attempts from multiple NAM modules.


For further information on network analysis monitoring, refer to Cisco Branch Routers Series Network Analysis Module.

Cisco AXP supports RITE, which duplicates and exports traffic on a monitored interface. The Integrated-Service-Engine interface used by a Cisco AXP service module behaves like an ethernet interface for monitoring.


Note Router generated traffic is not captured by RITE because router generated packets are process switched and not cef switched. Also, with RITE there can be only one export interface per profile and one profile per monitored interface.


RITE provides:

Inbound, bidirectional, or outbound traffic monitoring

Specification of the export interface

Control of ACL filtering and sampling rate

Ability to monitor interfaces with different encapsulation types including the Integrated-Service-Engine interface—behaves like an Ethernet interface

SpecifIcation of vlan as the interface

Sampling of one in every n packets during traffic sampling

Easy profile capture before applying profile on an interface

More granular traffic capture compared to using raw socket monitoring (packet analysis)

You can specify ACL, sampling rate, and also the direction (inbound/outbound) of the captured traffic

Configuring Router IP Traffic Export

To configure RITE, perform the following steps on the router side.

SUMMARY STEPS

Create an RITE capture profile on the Cisco ISR:

1. configure terminal

2. ip traffic-export profile profile-name

3. interface Integrated-Service-Engine slot/0

4. bidirectional

5. mac-address H.H.H

Configure RITE export parameters on the Cisco ISR:

6. incoming {access-list {standard | extended | named} | sample one-in-every packet-number}

7. outgoing {access-list {standard | extended | named} | sample one-in-every packet-number}

8. exit

Apply the profile to an interface:

9. interface type slot/port

10. description string

11. ip traffic-export apply profile-name

12. duplex auto

13. speed auto

14. no keepalive

15. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure terminal

Example:

Router# configure terminal

Enters global configuration mode.

Step 2 

ip traffic-export profile profile-name

Example:

Router(config)# ip traffic-export profile rite-bi

Creates or edits an IP traffic export profile, enables the profile on an ingress interface, and enters RITE configuration mode.

Step 3 

interface Integrated-Service-Engine slot /0

Example:

Router(config-rite)# interface Integrated-Service-Engine 1/0

Enters interface configuration mode for the slot and port of the service module.

slot—Specifies the service module slot.

Step 4 

bidirectional

Example:

Router(config-rite)# bidirectional

Exports incoming and outgoing IP traffic on the monitored interface. (The default is inbound only.)

Note If this command is not enabled, the default is for incoming IP traffic to be exporeted on the monitored interface.

Step 5 

mac-address H.H.H.H

Specifies the MAC address of the destination host that is receiving the exported traffic.

Step 6 

incoming {access-list {standard|extended| named}|sample one-in-every packet-number}

(Optional) Configures filtering for incoming traffic using an access-list and a sampling rate.

Note After you create a profile using the
ip traffic-export apply command, this functionality is enabled by default.

Step 7 

outgoing {access-list {standard|extended| named}|sample one-in-every packet-number}

Configures filtering for outgoing export traffic.

If you use this command, you must also use the bidirectional command, which enables outgoing traffic to be exported.

Only routed traffic (such as pass through traffic) is exported. Traffic that originates from the network device is not exported.

Step 8 

exit

(Optional) Exits RITE configuration mode.

Step 9 

interface type slot/port

Example:

Router(config)# interface eth0/0

Selects an interface to configure and enters interface configuration mode.

type—Type of interface to be configured. For example, "eth".

slot/port—Module slot number and port number.

Step 10 

description string

Adds a description to an interface configuration.

string—a clue to help you remember what is attached to this interface. The maximum length of the string is 238 characters.

Step 11 

ip traffic-export apply profile-name

Example:

Router(config-if)# ip traffic-export apply rite-bi

Creates or edits an RITE capture profile on an interface, enables the profile, and enters RITE configuration mode.

Step 12 

duplex auto

(Optional) Configures the duplex operation on an interface.

auto—Specifies the autonegotiation capability. The interface automatically operates at half or full duplex, depending on:

Environmental factors, such as the type of media.

Transmission speeds for the peer routers, hubs, and switches used in the network configuration.

Step 13 

speed auto

(Optional) Configures the speed for a Fast Ethernet interface.

auto—Turns on the Fast Ethernet autonegotiation capability.

The interface automatically operates at 10 or 100 Mbps depending on:

Environmental factors, such as the type of media.

Transmission speeds for the peer routers, hubs, and switches used in the network configuration.

Step 14 

no keepalive

Disables the ability to send keep alive packets.

Step 15 

end

Exits interface mode.

Enabling Interface Monitoring

Interface monitoring on the Cisco AXP platform is very similar to packet monitoring in a Cisco IOS software environment. Interface monitoring on a Cisco AXP service module interface uses the analysis-module monitoring command in interface configuration mode.

To enable interface monitoring, perform the following steps on the router side.

SUMMARY STEPS

1. configure terminal

2. interface type number

3. description string

4. ip address ip-address network-mask

5. duplex auto

6. speed auto

7. analysis-module monitoring

8. no keepalive

9. end

DETAILED STEPS

 
Command or Action
Purpose

Step 1 

configure terminal

Example:

router# configure terminal

Enters global configuration mode.

Step 2 

interface type number

Example: interface eth0/0

Selects an interface to configure and enters interface configuration mode.

type— Type of interface to be configured. For example GigabitEthernet (eth).

number— Module and port number.

Step 3 

description string

Example:description $ETH-LAN$$ETH-SW-LAUNCH$$INTF-INFO-GE 0/0

Adds a description to an interface configuration.

string—Clue to help you remember what is attached to this interface. This string is limited to 238 characters.

Step 4 

ip address ip-address network-mask

Configures the IP address and network mask for the specified network interface.

Step 5 

duplex auto

(Optional) Configures the duplex operation on an interface.

auto—Specifies the autonegotiation capability. The interface automatically operates at half or full duplex, depending on:

Environmental factors, such as the type of media.

Transmission speeds for the peer routers, hubs, and switches used in the network configuration.

Step 6 

speed auto

(Optional) Configures the speed for a Fast Ethernet interface.

auto—Turns on the Fast Ethernet autonegotiation capability.

The interface automatically operates at 10 or 100 Mbps depending on:

Environmental factors, such as the type of media.

Transmission speeds for the peer routers, hubs, and switches used in the network configuration.

Step 7 

analysis-module monitoring

Enables packet monitoring on an interface.

Step 8 

no keepalive

Disables the ability to send keepalive packets.

Step 9 

end

Exits interface mode.

Diagnostic Commands

The copy tech-support or show tech-support commands provide information to the third-party application. These commands are mainly for use by third-party vendors/developers, not for Cisco TAC (technical support).

You can use configuration files to identify files to include and paths to scripts. The path names are relative to the AXP Reference OS environment. All log files must be flagged.

The differences between the show tech-support and copy tech-support commands are summarized in Table 125.

Comparing show tech-support and copy tech-support Commands

The show tech-support and copy tech-support commands have similar purposes but differ in some key characteristics. Table 125 shows the difference between these two commands.

Table 125 Comparison of show tech-support and copy tech-support

 
show tech-support
copy tech-support
Output

Text output only

Both text and non-text output (tar file)

Additional Requirements

Requires screen-scraping terminal client

Requires ftp, sftp, or ftps server

Speed

Limited to console output speed

Limited to file transfer speed


These diagnostic commands are described in the following sections:

copy tech-support Command

show tech-support Command

copy tech-support Command

To collect and display diagnostic information about the application environment, use:

copy tech-support url location

Syntax Description

location

The URL location is of a form that is accepted by the Linux curl command for uploading files. Forms of this type include prefixes of ftp, sftp, and ftps. The user may be prompted to enter credentials if they were not supplied as part of the url or as separate parameters. The format of credentials if they are entered as part of a location is:

prefix://username:password@server

Note When using the AXP CLI API to call the copy tech-support command, do not specify a location beginning with "file:/tmp/" as the file location.


Command Default

None.

Command Modes

Cisco AXP application service EXEC.

Command History

Cisco AXP Version
Modification

1.0

This command was introduced.


Configuration File Format

Configuration files include zero or more lines corresponding to the following format:

[label flags pathname [parameter]...]
#comment

Each field is separated from the next field by white space. There are no continuation lines and you can include blank lines.

#comment

A comment starts with a pound sign ("#") and continues until the end of the line, and appears on a line by itself

label

Displayed in the section header of the show tech-support command.

label is also used as the output file name for this data in the copy tech-support tar file. In the output, the label can be prefixed to differentiate between host and guest data. When naming the label, use conventional file name characters.

flags

Identifies the type of record. The five flags DLBSC are permitted, others are ignored. Flags may be written in any order. Spaces between characters are not allowed.

D— pathname is a data file

L—pathname is a log file

P— pathname is a program or script used to collect data

S—data collected from this source is displayed by the show command

C—data collected from this source is exported by the copy command

Lower case and upper case flag characters are treated the same. However, by convention, use upper case.

Either the D or the P flag must be present. These flags are mutually exclusive. If neither or both appear on a line, the line is ignored. A syslog record may be generated to record the error.

The L flag may be used on both D and P lines. If this flag appears on a P line, the contents of the log file are considered to be the output of the script.

To successfully collect the data using tech-support commands, either the S flag, C flag, or (S flag and C flag) must be present. A DL line without one of these flags can be used to indicate a log file that is not included in tech-support output.

The pathname in application configuration files is relative to the chroot directory. All pathnames should be written as absolute references (with a leading slash). If the slash is missing, the presence of a leading slash is assumed.

When a pathname identifies a data file, the name may be "globbed"—the standard Linux wildcard characters can be used to identify a collection of files rather than a single file. A typical use for this feature is to include all files in a directory for output. When using wildcards, the actual base name of each file included is appended to the label field, separated by a dot (".").

If the pathname identifies a program or script, the file must be executable. Any parameters that follow the pathname are passed to the program or script as written. Wildcards and other shell script substitutions are not performed when invoking a program or script.

A comment may appear only on a line by itself.

Usage Guidelines

General Guidelines:

Copies information to a file location provided by the third party application

Displays the running-config, state, resource limits, and statistics about the application environment

Executes the /bin/techsupport binary or script file to display application specific information if provided by the third-party application

Displays kernel capabilities

Displays details on Linux Kernel Module (LKM) support

Outputs a compressed (gzip) tarball (tar).

The order in which data is collected is the same as the show tech-support command. The output file is uploaded to a specified destination.

The tarball output contains the pathnames for the show command output with the directory "show" followed by the name of the show command. Data files and script output are named according to their labels in the configuration files. For applications running in the AXP Reference OS, the virtual instance name is prefixed as a directory name.

For example, to send a file to an FTP server, enter

copy tech-support url ftp://myuserid:itspassword@servername/incoming/tech-support.tar.gz.

The output of this command is a compressed (gzip) tarball (tar) and is uploaded to the specified destination. The order in which data is collected remains the same as for the show tech-support command.

In the tarball, the pathnames for the show command output consist of the directory show followed by the name of the show command.

Data files and script output are named according to their labels in the configuration files. For applications running on the AXP Reference OS or AXPUDL, the name of the virtual instance is prefixed as a directory name.

To configure the inclusion of data files and scripts use the file "/etc/techsupport.conf"—configuration for the host system.

There is also an optional "techsupport.conf" configuration file for each virtual instance. The file is located in the vserver directory relative to the chroot directory in "/etc/cisco".

Usage Guidelines for Developers

Write an application using the application tech-support configuration to identify files to be included and scripts to be run for the copy tech-support command.

The paths to these files and scripts are relative to the AXP Reference OS environment.

Scripts must be executed within the AXP Reference OS.

Flag all the log files to be included.

Examples

copy tech-support url ftp://myftpserver.cisco.com/uploads/ts.tar.gz

copy tech-support url ftp://myusername:mypassword@myftpserver.cisco.com/uploads/tech.tgz

Related Commands

Command
Description

show tech-support

Displays diagnostic information about the application environment.


show tech-support Command

To display diagnostic information about the application environment, use the show tech-support command in Cisco AXP application service EXEC mode.

show tech-support [page]

Syntax Description

page

(Optional) Displays paginated output (--More--).


Command Default

None.

Command Modes

Cisco AXP application service EXEC.

Command History

Cisco AXP Version
Modification

1.0

This command was introduced.


Usage Guidelines

General Guidelines:

Dumps information to the screen provided by the third party application

Displays the running-config, state, resource limits, and statistics about the application environment

Executes the /bin/techsupport binary or script file to display application specific information if provided by the third-party application.

Displays kernel capabilities

Displays details on Linux Kernel Module(LKM) support

Usage Guidelines for Developers

Write an application using the application tech-support configuration to identify files to be included and scripts to be run for the show tech-support command.

The paths to these files and scripts are relative to the AXP Reference OS environment.

Scripts must be executed within the AXP Reference OS.

Flag all log files to be included.

Usage Guidelines for End Users

The output of the show tech-support command includes data files content and the output of scripts in the configuration files.

Only printable characters are displayed in the output.

The show command output appears first, followed by the host configuration file output, and then each configuration file output of each application running in the AXP Reference OS or AXPUDL.

Individual configuration lines are processed in the order of appearance. The labels on each configuration line are used to identify the source of the data. A header line includes data that identifies the virtual instance from which the data originated.

show resource limits Command

In this example the show resource limits command is run in EXEC mode

> show resource limits

APPLICATION      CPU(INDEX) MEMORY(MB) DISK(MB) LOG(MB)
perm_kernel_none 500        100         50      5
SYSTEM TOTAL
ALLOCATED        800        180          11089   -

RESOURCES
AVAILABLE        9200       828          99308  -


Note If an application has swap enabled, the memory limit is not shown, but appears as "-". This is because memory limits are not enforced when swap is enabled. Refer to the example below.


Example

In this example the show resource limits command is run in EXEC mode. Both of the applications have been packaged with swap space ON, so the memory limit for the applications appears as "-".

> show resource limits

APPLICATION      CPU(INDEX) MEMORY(MB) DISK(MB) LOG(MB)
app1             6770         -         135151     5
app2             6770         -         100        5

SYSTEM TOTAL
ALLOCATED        14000       5915       150456     -

RESOURCES
AVAILABLE        0            0         0          -



show resource limits memory Command

The command gives different output depending on the level at which it is executed:

show resource limits memory Command—top level

show resource limits memory Command—application sub-mode

show resource limits memory Command—top level

The following example shows output from the show resource limits memory command, at the top level:

Example:

> show resource limits memory
APPLICATION                        perm_kernel_none
Packaged Memory Limit                 84 MB
Configured Memory Limit               -
Current Memory Limit                  84 MB
Memory Wildcard                       False

show resource limits memory Command—application sub-mode

In application sub-mode, the command output includes the total memory limit for each application—the aggregate of TMPFS memory used + memory limit.

The following example shows output from the show resource limits memory command, executed at the application sub-mode level:

Example:


se-1-100-80-172(exec-perm_kernel_none)> show resource limits
APPLICATION          perm_kernel_none
Packaged Disk Limit         50 MB
Configured Disk Limit       -
Current Disk Limit          50 MB
Current Disk Usage          1 MB
Disk Wildcard               False

Packaged Cpu Limit          500
Configured Cpu Limit         -
Current Cpu Limit           500
Cpu Wildcard                False

Packaged Memory Limit       84 MB
Configured Memory Limit     -
Current Memory Limit        84 MB
Packaged TMPFS Limit        16 MB
Total Memory Limit          100 MB
Memory Wildcard             False

Appendix H: AXP Ports Usage

Table 126 lists the Cisco AXP ports available to developers, and the programs or services that run on these ports. Some ports in the table, such as 12346, are unavailable and are used by Cisco AXP only.


Warning Do not use ports 12345, 12346, and 12347 for access from the AXP Reference OS or User Defined Linux Environment. These ports are designated for Cisco AXP host use only.


In the table:

Ports are accessible from outside the Cisco AXP service module, except for ports 12345, 12346, and 12347. Ports which are not accessible from outside, can only be connected to from inside the Cisco AXP service module by an application running on either the AXP Reference OS/AXPUDL or the host OS.

Port usage for some ports varies per release. If the port usage is designated as optional, it implies that the port is used only when the applicable program or service is being run on that port.

Table 126

Internet Server Port Usage
Port Usage in Cisco AXP Release
Comments
Protocol
Port
Program/
Service
1.1
1.1.5
1.5

TCP

22

SSHD

Optional

Optional

Optional

Only used when the Cisco AXP SSHD daemon listens on this port, enabled through the ssh server config. CLI.

Connecting to this port provides access to the Cisco AXP SysOp API.

TCP, UDP

53

DNS cache

Yes

   

In the Cisco AXP 1.1 release, this port is used by the Cisco AXP DNS server. In Cisco AXP 1.1.5 and higher releases, this port is available for developers to run their own DNS server. Refer to port 1027

UDP

69

TFTP server

Optional

Optional

Only used when the TFTP server is used by Cisco IOS software to support the EEM service, and the version of Cisco AXP is either 1.1 1, or 1.1.5. The EEM service is only active on the port when an application running on the AXP Reference OS or AXPUDL is packaged with a dependency on a Cisco EEM add-on package

TCP

80

HTTPD

   

Optional

Only used when the Apache server is used for the CLM agent. To disable/enable the Apache server, use the [no] ip http server command. To change ports, use ip http port

UDP

123

NTPD

Yes

Yes

Yes

Used by the standard Cisco AXP NTPD service which is used to synchronize clocks

UDP

514

syslog_ng

Optional

Optional

Optional

Only used when the syslog server listens on this port. Enabled/disabled by configuring the syslog server

TCP, UDP

1027

DNS cache stub

 

Yes

Yes

The Cisco AXP DNS server runs on this port in Cisco AXP 1.1.5 and higher releases

Refer to port 53

TCP

10333

EEMEventDaemon

Optional

Optional

Only used when the TFTP server is used by Cisco IOS software to support the EEM service, and the version of Cisco AXP is either 1.1 1, or 1.1.5. The EEM service is only active on the port when an application running on the AXP RefOS or AXPUDL & is packaged with a dependency on a Cisco EEM add-on package

TCP

12345

Cisco internal use

Yes

Yes

Yes

For Cisco AXP host use only—not available to an application running on the AXP RefOS/AXPUDL

TCP

12346

Cisco internal use

Yes

Yes

Yes

For Cisco AXP host use only—not available to an application running on the AXP RefOS/AXPUDL

TCP

12347

Cisco internal use

Yes

Yes

Yes

For Cisco AXP host use only—not available to an application running on the AXP RefOS/AXPUDL


Ports Usage

Appendix I: API Schemas

Cisco AXP API schemas are listed in the following sections:

common.xsd

param.xsd

axp-sysInfo.xsd

axp-sysOp.xsd

axp-notify.xsd

axp-notify-configChange.xsd

common.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:cisco:axp" xmlns="urn:cisco:axp" xmlns:axp="urn:cisco:axp"  
xmlns:xs=http://www.w3.org/2001/XMLSchema elementFormDefault="unqualified" 
attributeFormDefault="unqualified">
	<xs:annotation>
		<xs:documentation>Common type definitions</xs:documentation>
	</xs:annotation>
	<xs:complexType name="serviceInfoType">
		<xs:sequence>
			<xs:element name="serviceType" type="serviceTypeEnum"/>
			<xs:element name="serviceRequestor" type="xs:string" minOccurs="0"/>
			<xs:element name="serviceAddress" type="xs:string" minOccurs="0"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="errorInfoType">
		<xs:sequence>
			<xs:element name="errorCode" type="errorCodeType"/>
			<xs:element name="errorMessage" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:simpleType name="serviceTypeEnum">
		<xs:restriction base="xs:string">
			<xs:enumeration value="IOS"/>
			<xs:enumeration value="AXP"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="errorCodeType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="BAD_PARAMETER"/>
			<xs:enumeration value="MAX_SIZE"/>
			<xs:enumeration value="TIMEOUT"/>
			<xs:enumeration value="NOT_EXECUTED"/>
			<xs:enumeration value="ROLLBACK_FAILED"/>
			<xs:enumeration value="PERSIST_FAILED"/>
			<xs:enumeration value="PERMISSION_DENIED"/>
			<xs:enumeration value="SYSTEM_ERROR"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="emptyContent"/>
</xs:schema>

param.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:cisco:axp" xmlns="urn:cisco:axp" xmlns:axp="urn:cisco:axp" 
xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" 
attributeFormDefault="unqualified">
	<xs:annotation>
		<xs:documentation>Param type definitions</xs:documentation>
	</xs:annotation>
	<xs:complexType name="paramType">
		<xs:simpleContent>
			<xs:extension base="xs:string">
				<xs:attribute name="name" type="xs:string" use="required"/>
			</xs:extension>
		</xs:simpleContent>
	</xs:complexType>
	<xs:element name="paramList">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="param" type="paramType" maxOccurs="unbounded"/>
			</xs:sequence>
			<xs:attribute name="sequence" type="xs:string"/>
		</xs:complexType>
		<xs:unique name="paramName">
			<xs:selector xpath="axp:param"/>
			<xs:field xpath="@name"/>
		</xs:unique>
	</xs:element>
</xs:schema>

axp-sysInfo.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:cisco:axp" xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns="urn:cisco:axp" xmlns:axp="urn:cisco:axp" elementFormDefault="qualified" 
attributeFormDefault="unqualified">
	<xs:include schemaLocation="common.xsd"/>
	<xs:include schemaLocation="param.xsd"/>
	<xs:element name="sysInfo-request">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="serviceInfo" type="serviceInfoType"/>
				<xs:element name="genericSysInfoReq">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="reqName" type="xs:string"/>
							<xs:element name="subName" type="xs:string" minOccurs="0"/>
							<xs:element ref="paramList" minOccurs="0" 
maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
		<xs:unique name="listSeqReq">
			<xs:selector xpath="axp:genericSysInfoReq/axp:paramList"/>
			<xs:field xpath="@sequence"/>
		</xs:unique>
	</xs:element>
	<xs:element name="sysInfo-response">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="errorInfo" type="errorInfoType" minOccurs="0"/>
				<xs:element name="genericSysInfoResp" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="paramList" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="success" type="xs:boolean" use="required"/>
		</xs:complexType>
		<xs:unique name="listSeqResp">
			<xs:selector xpath="axp:genericSysInfoResp/axp:paramList"/>
			<xs:field xpath="@sequence"/>
		</xs:unique>
	</xs:element>
</xs:schema>

axp-sysOp.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:cisco:axp" xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns:axp="urn:cisco:axp" xmlns="urn:cisco:axp" elementFormDefault="qualified" 
attributeFormDefault="unqualified">
	<xs:include schemaLocation="common.xsd"/>
	<xs:include schemaLocation="param.xsd"/>
	<xs:element name="sysOp-request">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="serviceInfo" type="serviceInfoType"/>
				<xs:element name="genericSysOpReq">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="reqName" type="xs:string"/>
							<xs:element name="subName" type="xs:string" minOccurs="0"/>
							<xs:element ref="paramList" minOccurs="0" 
maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
		<xs:unique name="listSeqReq">
			<xs:selector xpath="axp:genericSysOpReq/axp:paramList"/>
			<xs:field xpath="@sequence"/>
		</xs:unique>
	</xs:element>
	<xs:element name="sysOp-response">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="errorInfo" type="errorInfoType" minOccurs="0"/>
				<xs:element name="genericSysOpResp" minOccurs="0">
					<xs:complexType>
						<xs:sequence>
							<xs:element ref="paramList" maxOccurs="unbounded"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
			<xs:attribute name="success" type="xs:boolean" use="required"/>
		</xs:complexType>
		<xs:unique name="listSeqResp">
			<xs:selector xpath="axp:genericSysOpResp/axp:paramList"/>
			<xs:field xpath="@sequence"/>
		</xs:unique>
	</xs:element>
</xs:schema>

axp-notify.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:cisco:axp" xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns="urn:cisco:axp" xmlns:axp="urn:cisco:axp" elementFormDefault="qualified" 
attributeFormDefault="unqualified">
	<xs:include schemaLocation="axp-notify-configChange.xsd"/>
	<xs:include schemaLocation="common.xsd"/>
	<xs:include schemaLocation="param.xsd"/>
	<xs:element name="notify-request">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="serviceInfo" type="serviceInfoType"/>
				<xs:choice>
					<xs:element name="connect">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="sessionInfo" type="sessionInfoType"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="register">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="sessionHandle" type="xs:string"/>
								<xs:element name="policyInfo" type="policyInfoType"/>
							</xs:sequence>
						</xs:complexType>
						<xs:unique name="policyParamName1">
							<xs:selector xpath="axp:policyInfo/axp:param"/>
							<xs:field xpath="@name"/>
						</xs:unique>
					</xs:element>
					<xs:element name="re-register">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="eventHandle" type="xs:string"/>
								<xs:element name="param" type="paramType" 
maxOccurs="unbounded"/>
							</xs:sequence>
						</xs:complexType>
						<xs:unique name="policyParamName2">
							<xs:selector xpath="axp:param"/>
							<xs:field xpath="@name"/>
						</xs:unique>
					</xs:element>
					<xs:element name="deregister">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="eventHandle" type="xs:string"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:choice>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="notify-response">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="errorInfo" type="errorInfoType" minOccurs="0"/>
				<xs:choice minOccurs="0">
					<xs:element name="connect">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="sessionHandle" type="xs:string"/>
								<xs:element name="listenerAddress" type="xs:string" 
minOccurs="0"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
					<xs:element name="register">
						<xs:complexType>
							<xs:sequence>
								<xs:element name="eventHandle" type="xs:string"/>
							</xs:sequence>
						</xs:complexType>
					</xs:element>
				</xs:choice>
			</xs:sequence>
			<xs:attribute name="success" type="xs:boolean" use="required"/>
		</xs:complexType>
	</xs:element>
	<xs:element name="notification">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="eventHandle" type="xs:string"/>
				<xs:element name="eventTime" type="xs:string"/>
				<xs:element name="eventInfo" type="eventInfoType"/>
			</xs:sequence>
		</xs:complexType>
		<xs:unique name="eventParamName">
			<xs:selector xpath="axp:eventInfo/axp:genericEvent/axp:param"/>
			<xs:field xpath="@name"/>
		</xs:unique>
	</xs:element>
	<xs:complexType name="eventInfoType">
		<xs:choice>
			<xs:element name="configChange" type="configChange"/>
			<xs:element name="genericEvent" type="genericEventType"/>
		</xs:choice>
	</xs:complexType>
	<xs:simpleType name="dropMethodType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="DROP_OLD"/>
			<xs:enumeration value="DROP_NEW"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:complexType name="sessionInfoType">
		<xs:sequence>
			<xs:element name="queueSize" type="xs:nonNegativeInteger" default="0"/>
			<xs:element name="dropMethod" type="dropMethodType" default="DROP_OLD"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="policyInfoType">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="type" type="xs:string"/>
			<xs:element name="subType" type="xs:string" minOccurs="0"/>
			<xs:element name="param" type="paramType" minOccurs="0" 
maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
	<xs:complexType name="genericEventType">
		<xs:sequence>
			<xs:element name="param" type="paramType" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>

axp-notify-configChange.xsd

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:cisco:axp" xmlns:xs="http://www.w3.org/2001/XMLSchema" 
xmlns="urn:cisco:axp ">
	<xs:complexType name="configChange">
		<xs:sequence>
			<xs:element name="sequence">
				<xs:complexType>
					<xs:simpleContent>
						<xs:extension base="xs:string">
							<xs:attribute name="lastReset" type="xs:dateTime"/>
						</xs:extension>
					</xs:simpleContent>
				</xs:complexType>
			</xs:element>
			<xs:element name="changeInfo">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="user" type="xs:string"/>
						<xs:choice>
							<xs:element name="async" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="port" type= "xs:positiveInteger"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
							<xs:element name="telnet" minOccurs="0">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="srcIP" type= "xs:string"/>
										<xs:element name="vtyName" type= "xs:string"/>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:choice>
						<xs:element name="when">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="absoluteTime" type="xs:dateTime"/>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="changeData">
				<xs:complexType>
					<xs:sequence maxOccurs="unbounded">
						<xs:element name="changeItem">
							<xs:complexType>
								<xs:sequence>
									<xs:element name="context">
										<xs:complexType>
											<xs:sequence minOccurs="0" 
maxOccurs="unbounded">
												<xs:element name="cmd" type= "xs:string"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element name="enteredCommand">
										<xs:complexType>
											<xs:sequence maxOccurs="unbounded">
												<xs:element name="cmd" type= "xs:string"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element name="oldConfigState">
										<xs:complexType>
											<xs:sequence minOccurs="0" 
maxOccurs="unbounded">
												<xs:element name="cmd" type= "xs:string"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
									<xs:element name="newConfigState">
										<xs:complexType>
											<xs:sequence minOccurs="0" 
maxOccurs="unbounded">
												<xs:element name="cmd" type= "xs:string"/>
											</xs:sequence>
										</xs:complexType>
									</xs:element>
								</xs:sequence>
							</xs:complexType>
						</xs:element>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>
</xs:schema>