The Nokia SR Linux NetOps Development Kit (NDK) allows operators to program high-performance, integrated agents that run alongside the Nokia Service Router Linux (SR Linux). This repository provides .proto
files that define the gRPC APIs used with the NDK.
NDK protobufs are common across all SR Linux hardware platforms.
Check out ndk.srlinux.dev for generated proto documentation.
The main
branch of this repository contains only the documentation. To see the proto files for a given NDK release, select the matching tag in GitHub UI.
Protocol buffers support generated code in many languages - Java, Python, Objective-C, C++, Dart, Go, Ruby, C# with more languages to come.
Since NDK is defined with protocol buffers, SR Linux application developers can choose any supported language when developing their apps.
Currently, the Nokia SR Linux team maintains the following generated language bindings for NDK:
- srlinux-ndk-go - Go bindings
- srlinux-ndk-py - Python bindings
To generate NDK code in other languages, consult with the official protocol buffers documentation for a given language.
There are several ways to download the proto files for a specific SR Linux release. The below examples are provided for NDK 0.1.0
version.
With git
it is possible to clone the protos for a specific release with the following command:
git clone -b v0.1.0 --depth 1 https://github.com/nokia/srlinux-ndk-protobufs
To download the proto files for a specific release in the zip
or tgz
containers, navigate to the GitHub tags
page, which contains the links to the archives.
If needed, the download link can be programmatically derived using the following rule:
for zip
https://github.com/nokia/srlinux-ndk-protobufs/archive/tags/
+ $tag
+ .zip
for tar.gz
https://github.com/nokia/srlinux-ndk-protobufs/archive/tags/
+ $tag
+ .tar.gz