Notes - Native Applications
Last updated
Last updated
Native applications run in the same namespace as the IOS-XR control plane. Native applications have full access to the IOS-XR control plane processes such as BGP, OSPF etc. This makes native applications very powerful, but they can also be dangerous. They cannot be limited in terms of CPU/memory resources, and share resources with the IOS-XR control plane.
Building custom native applications seems difficult to do. First, you must use the same distro that the IOS-XR router runs, which is Wind River Linux 7. A Cisco SDK is then used to build the RPM package within WRL7. This then is provided in a repo or is directly transferred to the router. From the router in the bash terminal you run “yum install file.rpm”. Now the app is available natively from the bash terminal.
It seems then that running a native application is essentially just running regular Linux packages/applications directly from the bash terminal. Just like LXCs, you cannot use AppMgr to manage the lifecycle of the app. The documentation says that you use a System V (SysV) script, which appears to just be a bash script that has start/stop/status functions. However, I don’t see how to actually schedule the script. The documentation says that the script is added using “chkconfig --add <app-name>” but this doesn’t appear to be a valid command from the bash terminal.
More information is available here: .