YANG Model Container Differences: IETF vs Cisco Native vs OpenConfig
Short answer
A IETF and Cisco native models use separate containers for operational and configuration data, while OpenConfig combines them into a single container.
Question
Key Takeaways
The main trap is confusing the strict separation of config/state in Cisco/IETF models with OpenConfig's combined approach; remember that OpenConfig unifies these views.
Learn how IETF and Cisco native YANG models separate operational and configuration data into distinct containers, whereas OpenConfig combines them into a single container structure.
Common mistake: Option D is incorrect because it reverses the logic, claiming IETF/Cisco use a single container while OpenConfig separates them, which contradicts the actual architectural design.
Expert Analysis
The question asks about the structural differences in YANG model containers among IETF, Cisco native, and OpenConfig standards. The core distinction lies in how operational (read-only/state) data is separated from configuration data.
In Cisco native and most standard IETF YANG models for IOS XE, the architecture strictly separates configuration from state. A typical device node will contain a config container for settings applied by the administrator and a separate state or operational container for current runtime status. This separation enforces a clear boundary between what is configured and what is observed.
Conversely, OpenConfig models are designed to be implementation-agnostic and often combine both configuration and operational data within a single logical structure or container hierarchy, rather than enforcing a rigid split into distinct config and state sub-containers at every level. While OpenConfig does use config and state leaves, its overall philosophy emphasizes a unified view where config and state are tightly coupled in the same container structure, unlike the strict separation found in Cisco/IETF native implementations.
Therefore, IETF and Cisco native models use separate containers for operational and configuration data, while OpenConfig tends to combine them or uses a different structural approach that doesn't enforce the same strict dual-container pattern in the same way. Option A correctly identifies this: "IETF and Cisco native models use one container for operational data and another container for configuration data, and OpenConfig uses a single container for operational data and configuration data." This aligns with Cisco's documentation stating that OpenConfig combines both config and operational data into the same container.
Official Reference
https://blogs.cisco.com/developer/which-yang-model-to-use
This link opens the official vendor documentation in a new tab.
Exam Strategy
When comparing YANG models, focus on the 'container' keyword. If a model is 'native' or 'IETF', expect strict separation of config and state. If it is 'OpenConfig', expect a more unified or combined approach. Memorize this contrast as it appears frequently in automation questions.
Frequently Asked Questions
Why do IETF and Cisco native models separate config and state?
Does OpenConfig really use a single container for everything?
Community Votes
67% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 4 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 4
-
reheheeeehe 👍 8Given answer is correct. "Note: The IETF and Native models for IOS XE use separate containers/models for operational data and configuration data, while the OpenConfig combines both config and operational data into the same container." https://blogs.cisco.com/developer/which-yang-model-to-use
-
drinu89 👍 3 Answered AA is correct IETF and Cisco Native models for IOS XE use separate containers/models for operational data and configuration data, while OpenConfig combines both config and operational data into the same container.
-
VasiliyF 👍 2 Answered D🔹 OpenConfig container interface { container config { ... } container state { ... } }
-
G_Singh12 👍 1 Answered AA is correct
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All 300-420 Questions
Access 150 questions with complete answers and detailed explanations.
View Full 300-420 Practice Test →