YANG Model Container Differences: IETF vs Cisco Native vs OpenConfig

300-420 By islever Editorial Last updated

Differentiate between IETF, OpenConfig, and Cisco YANG models

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

When differentiating between IETF, OpenConfig, and Cisco native YANG models, how does the use of containers differ?
  1. 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. Correct Answer
  2. OpenConfig uses one container for operational data and another container for configuration data, and IETF and Cisco native models use a single container for operational data and configuration data.
  3. Cisco native models use one container for operational data and another container for configuration data, and OpenConfig and IETF use a single container for operational data and configuration data.
  4. IETF and Cisco native models use a single container for operational data and configuration data, and OpenConfig uses one container for operational data and another container for configuration data.

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?

This separation provides a clear security and operational boundary, allowing administrators to distinguish between intended configuration and actual runtime state, which aids in troubleshooting and compliance.

Does OpenConfig really use a single container for everything?

OpenConfig aims for an implementation-agnostic view, often combining config and operational data within the same logical container structure to simplify cross-vendor interoperability and data retrieval.

More 300-420 FAQ →

Community Votes

A
67%
D
33%

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

  1. reheheeeehe 👍 8
    Given 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
  2. drinu89 👍 3 Answered A
    A 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.
  3. VasiliyF 👍 2 Answered D
    🔹 OpenConfig container interface { container config { ... } container state { ... } }
  4. G_Singh12 👍 1 Answered A
    A is correct

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Practice All 300-420 Questions

Access 150 questions with complete answers and detailed explanations.

View Full 300-420 Practice Test →

← Back to 300-420 Study Guide