$ show openconfig/public
This repository is the OpenConfig public YANG models repository, a collaborative effort by network operators to develop vendor-neutral YANG data models for managing network devices. It contains hundreds of YANG modules covering configuration and operational state for routing protocols (BGP, OSPF, ISIS, MPLS, Segment Routing), interfaces, ACLs, QoS, optical transport, platform components, security, telemetry, and more. The models follow consistent patterns: config/state separation, identity-based extensibility, and augmentation-based composition. The repository also includes CI workflows for validation (pyang, goyang, yanglint), documentation, and release management. While not an application with runtime code, it serves as a foundational schema library for network automation and telemetry systems. The codebase is well-maintained with active development, frequent revisions, and a formal release process.
The LLM identified 4 files worth highlighting for reuse:
Defines custom YANG extensions (openconfig-version, telemetry-on-change, telemetry-atomic, etc.) used across all OpenConfig models. This module is the foundation for versioning, telemetry behavior, and metadata annotations. It is self-contained and can be imported by any YANG project to adopt OpenConfig conventions.
Provides fundamental type definitions (e.g., avg-min-max-instant-stats, percentage, timeticks) and groupings for statistics and timestamps. These types are reused by nearly every OpenConfig module and can be extracted for use in other YANG models requiring common telemetry-oriented data types.
The base interface model defining the config/state hierarchy for physical and logical interfaces. It establishes the pattern for interface references (interface-ref), subinterfaces, and operational state counters. This module is the cornerstone for all interface-related augmentations and is a model of clean YANG design.
A spec file that defines which YANG modules are built, documented, and tested for the ACL model. It serves as a build manifest pattern that can be replicated for any model group. The spec file includes module lists, dependencies, and metadata, enabling automated CI pipelines to validate and release model bundles.