Skip to main content

Programming Nokia's
SR Linux

Course number: OP00087
Course duration: 4 days (including lectures and hands-on lab exercises)
Price: $3,125 US

Course overview

This hands-on instructor-led course describes the programmability of SR Linux networking features using gNMI or JSON-RPC, and the programming of SR Linux itself by adding third-party applications with the NDK and developing customized CLI commands.

Nokia Service Router Linux (SR Linux) is an open, extensible and programmable network operating system (NOS) based on the Linux kernel. It implements from the ground up a model-driven architecture combined with a field-proven routing protocol stack.

SR Linux provides three key components to enable network automation and meet growing DevOps and agility requirements for a modern data center:

  • A comprehensive programmatic API with scalable streaming telemetry: Every SR Linux feature can be configured and monitored using a gNMI or  JSON-RPC Application Programming Interface (API).

  • A Netops Development Kit (NDK) that allows third-party applications to be fully integrated into SR Linux using generic Remote Procedure Call (gRPC) services. 

  • A customizable Command Line Interface (CLI): a python-based plugin framework lets operators develop your own show and tools CLI commands, with full access to the state/configuration datastore.

Course objectives

After completing the course, participants should be able to:

  • Describe the high-level architecture of SR Linux and its network automation tool-set

  • Explain the structure of the SR Linux YANG data model

  • Understand gRPC and protocol buffers and how they provide the foundations of SR Linux's programmatic capabilities 



  • Write Python programs to configure and monitor SR Linux using its gNMI and/or JSON-RPC APIs, including streaming telemetry. 

  • Design and onboard their own python-written application into the SR Linux platform

  • Code their own customized CLI commands, using the SR Linux CLI plugin-framework

Course modules

Module 1 – Model-Driven Network Automation 

  • Network Automation and the SR Linux programmability tool-set 
  • YANG and Model-Driven Management
  • Define a configuration and state data model with YANG
  • The pyang multi-purpose YANG tool
  • Overview of the SR Linux YANG Data Model
  • Hands-on: Explore the SR Linux Data Model, use pyang to validate and visualize models

Module 2 - Python and SR Linux

  • Some elements of  Python in the context of SR Linux network programmability
  • Hands-on: Python and SR Linux programming 

Module 3 - gNMI and JSON-RPC APIs

  • What is an API?
  • Explain gRPC and protocol buffers
  • Hands-on: gRPC programmation example
  • gRPC Network Management Interface (gNMI) configuration and telemetry services
  • Enable gNMI on SR Linux
  • Review examples of gNMI clients - gnmic and python libraries
  • Hands-on: The gnmic command-line tool and python-based gNMI programming
  • gNMI Telemetry
  • Hands-on: Configure and run a telemetry TIG-stack (Telegraf-InfluxDB-Grafana)
  • JSON-RPC introduction
  • Review the SR Linux JSON RPC methods and params
  • Enable JSON RPC on SR Linux
  • Overview of JSON-RPC tools
  • Hands-on: JSON-RPC command-line example and JSON-RPC python Programmation


Module 4 – NDK and SR Linux Custom Applications

  • Overview of the SR Linux modular architecture

  • A few 3rd party application examples

  • Onboarding SR Linux 3rd-party applications

  • Review the NDK gRPC services

  • Hands-on: Implement your own SR Linux application with NDK


Module 5 – SR Linux CLI plugins

  • The need for CLI customization
  • Introduction to the CLI plugin python modules

  • Hands-on: explore native CLI plugins, an overview of a CLI plugin

  • Define the custom CLI syntax

  • Create a CLI schema 

  • Retrieve the config and state data from the SR Linux datastore

  • Use SR Linux formatter and decorator  functions to display data

  • Hands-on: Write your own python-based CLI show command

Schedule & registration


Programming Nokia's SR Linux

Price for this course is $3125 (USD) per seat

Duration: 4 days (9 am - 4 pm)

Course dates Sort descending Delivery Format Virtual Time Zone or Course Location Language Registration
- Virtual instructor-led New Delhi - IST English (US) Register Now
- Virtual instructor-led Paris - CET English (US) Register Now
- Virtual instructor-led Paris - CET English (US) Register Now
- Virtual instructor-led Chicago - CST English (US) Register Now
- Virtual instructor-led Paris - CET English (US) Register Now
- Virtual instructor-led New Delhi - IST English (US) Register Now