
Nokia SR Linux: Guide for Beginners
Nokia SR Linux is an open network operating system which supports extensibility, customization and automation. It provides real-time visibility and control and allows its operators to proactively identify issues and it eliminates vendor dependent solutions.
Network or NOS are designed to manage network resources, data, users and security on several devices available in a networked environment. This specialized software enables sharing of files, printers and applications and acts as an intermediary to connect hosts to a central server.
In today’s article we will understand about Nokia SR Linux, its key characteristics, its operation and uses.
What is Nokia SR Linux
Nokia SR is a network operating system which leverages its routing protocol stack using Linux and Nokia SR working as underlying operating system which allows its operators to debug and configure tools without having prior knowledge of Nokia SR.
Routing runs on Nokia SR in a light-weight, modular application which is configurable using external APIs. The applications use gRPC and APIs for communication with external systems using TCP. The Nokia specific applications can be augmented by third party external applications which could be plugged into Nokia SR framework. Modular upgrades and ease of fault identification is achieved using application based functions. Figure 1 below depicts the Nokia SR Linux framework.
Features of SR Linux
SR Linux supports robust features. Let’s look at them more in detail.
Modular Network Applications
SR Linux uses modular applications which are isolated in their own failure domains. A centralized application manager is responsible for the lifecycle of each application and gives full control of protocols running on those systems. Each protocol such as BGP, OSPF, ISIS etc. run their own applications. Applications are configured using external APIs inclusive CLI, gNMI and JSON-RPC. The applications run just like any other Linux applications and users can also integrate their own applications into SR Linux.
Unmodified Unix kernel is used by SR Linux which is the foundation over which the entire network suite of applications is being built. The individual applications provide benefits such as flexibility, portability and application deployment ease. Unmodified Unix kernel speeds up availability of non-Nokia applications such as OpenSSH and security patches for operating systems.
Model Driven Architecture
Extensive use of data models by SR Linux facilities each application having its YANG model which defines configuration and its state. YANG models are exposed to support management APIs.
IDB Publish/Subscribe Model for Messaging
IDB publish is a light-weight database which is used to control messaging between SR Linux applications. It uses the Pub/Sub model. The IDB database is split into topics and each application owns a set of topics for which information is published and topics published by other applications can be subscribed.
Data Model Support
It uses a common interface which uses YANG models such as Nokia vendor specific data models and openConfig vendor neutral data models.
Protocol Buffers and gRPC for Inter-process Communication
IDB databases store data as protocol buffers which are called Protobuf which is language neutral, platform neutral mechanism for data serialization of structured data.
Third Party Application Support
Third party applications can be integrated into SR Linux with the same functionality as native applications. Such as telemetry support, life-cycle management etc.
CLI Plugins
The SR Linux CLI is an application which can load dynamic plugins from other applications. Custom show commands can be developed and run on SR Linux
Hardware Extensibility
A variety of network chipsets are supported by SR Linux with Nokia extensible data path (XDP) which serve as hardware abstraction layer to facilitate adoption of new or non-Nokia network chipset.
Software Extensibility
Each SR Linux application supports its own YANG model which is loaded into systems. Operators can see and define syntax and semantics for applications



