# Notes - Native Applications

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.

<https://www.cisco.com/c/en/us/td/docs/iosxr/ncs5000/app-hosting/b-application-hosting-configuration-guide-ncs5000/b-application-hosting-configuration-guide-ncs5000_chapter_011.pdf#unique_28>

More information is available here: [https://www.cisco.com/c/en/us/td/docs/iosxr/asr9000/app-hosting/b-application-hosting-configuration-guide-asr9000/b-application-hosting-configuration-guide-asr9000\_chapter\_011.html#:\~:text=Types of Application Hosting,-Application hosting on\&text=Native%3A You can host applications,IOS XR root file system](https://www.cisco.com/c/en/us/td/docs/iosxr/asr9000/app-hosting/b-application-hosting-configuration-guide-asr9000/b-application-hosting-configuration-guide-asr9000_chapter_011.html#:~:text=Types%20of%20Application%20Hosting,-Application%20hosting%20on\&text=Native%3A%20You%20can%20host%20applications,IOS%20XR%20root%20file%20system).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ccie-sp.gitbook.io/ccie-spv5.1-labs/labs/app-hosting/notes-native-applications.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
