OpenConfig Projects & Standardisation

OpenConfig is an informal working group of network operators sharing the goal of moving towards a more dynamic, programmable network infrastructure. We do this by defining vendor-neutral data models, and designing modern, RPC-based management protocols.

This page provides an overview of the key projects driven by the OpenConfig community.

Data Models

Explore OpenConfig YANG models, schema paths, and interactive documentation.

View Models

gRPC APIs

Learn about gNMI, gNOI, gRIBI, and gNSI protocols for management and operations.

View RPCs

Testing

Discover Ondatra and KNE frameworks for validation and network emulation.

View Testing

Tooling

Access libraries like ygot, ygnmi, and gnmic for working with OpenConfig data.

View Tooling

YANG Data Models

The core of OpenConfig is the development of consistent, vendor-neutral data models for network configuration and state. These models are designed from an operator’s perspective and cover a wide variety of networking use cases.

  • Repository: github.com/openconfig/public
  • Key Features:
    • Covers both configuration and operational state.
    • Vendor-independent design.
    • Focuses on operationally relevant features.

Explore the Models

We provide tools to explore the published YANG models directly on this site:


gRPC-Based Interfaces (RPCs)

To manage devices using OpenConfig models, we define modern APIs based on gRPC. These protocols replace traditional management protocols like SNMP and NETCONF.

gNMI (gRPC Network Management Interface)

gNMI provides a single gRPC service for state retrieval, configuration manipulation, and telemetry streaming.

gNOI (gRPC Network Operations Interface)

gNOI defines a set of microservices for operational commands that are not model-based (e.g., rebooting a device, upgrading OS, pinging, managing certificates).

gRIBI (gRPC Routing Information Base Interface)

gRIBI allows external controllers to programmatically inject routing entries (routes) directly into the RIB of a network device.

gNSI (gRPC Network Security Interface)

gNSI defines services for managing security-related configurations on the device, such as SSH keys, console access, and security policies.


Testing & Emulation

To ensure compliance and simplify vendor validation, OpenConfig develops open-source testing frameworks and tools.

  • Ondatra: A Go-based testing framework for writing and running functional network tests against physical or emulated devices.
  • KNE (Kubernetes Network Emulation): A tool to set up topology of containerized network devices inside Kubernetes for testing.

Tooling & Libraries

We maintain several tools and libraries to assist with adopting OpenConfig.

  • ygot (YANG Go Tools): Go libraries for generating Go code from YANG models, validating data against models, and serializing to/from JSON/XML.
  • ygnmi: A Go client library built on top of ygot for interacting with gNMI targets.
  • gnmic: A powerful CLI client and collector for gNMI, supporting data locking, forwarding, and multiple output formats.