NetOps Development Kit#
Nokia SR Linux enables its users to create high-performance applications which run alongside native apps on SR Linux Network OS. These "on-box custom applications" can be deeply integrated with the rest of the SR Linux system and thus can perform tasks that are not possible with traditional management interfaces standard for the typical network operating systems.
The on-box applications (which we also refer to as "agents") leverage the SR Linux SDK called NetOps Development Kit or NDK for short.
Applications developed with SR Linux NDK have a set of unique characteristics which set them aside from the traditional off-box automation solutions:
- Native integration with SR Linux system
SR Linux architecture is built so that NDK agents look and feel like any other regular application such as bgp or acl. This seamless integration is achieved on several levels:
- System integration: when deployed on SR Linux system, an NDK agent renders itself like any other "standard" application. That makes lifecycle management unified between Nokia-provided system apps and custom agents.
- CLI integration: every NDK agent automatically becomes a part of the global CLI tree, making it possible to configure the agent and query its state the same way as for any other configuration region.
- Telemetry integration: an NDK agent configuration and state data will automatically become available for Streaming Telemetry consumption.
- Programming language-neutral
With SR Linux NDK, the developers are not forced to use any particular language when writing their apps. As NDK is a gRPC service defined with Protocol Buffers, it is possible to use any1 programming language for which protobuf compiler is available.
- Deep integration with system components
NDK apps are not constrained to only configuration and state management, as often happens with traditional north-bound interfaces. On the contrary, the NDK service exposes additional services that enable deep integration with the SR Linux system, such as listening to RIB/FIB updates or having direct access to the datapath.
With the information outlined in the NDK Developers Guide, you will learn about NDK architecture and how to develop apps with this kit.
Please navigate to the Apps Catalog to browse our growing list of NDK apps that Nokia or 3rd parties wrote.
This in practice covers all popular programming languages: Python, Go, C#, C, C++, Java, JS, etc. ↩