DevNet > Networking > Open Device Programmability

Model-Based Management Introduction

Model-driven interfaces are an improved way to manage network devices. Model-based interfaces exhibit a number of properties:

  • Structured configuration data and operational data
    • Eliminates need for off-box screen scraping
  • Data objects defined
    • Includes type information including range checking, values, other constraint checks
    • Facilitates specific data values based on label or tags association
  • Facilitates automation using Python and other scripting languages
  • Data representing multiple operations can be combined into a single message
  • Configuration operations are transactional
    • All configuration is applied successfully, or none is applied
    • Automatic roll back of any failed configuration attempt

In IOS-XE 16.3, model-based interfaces co-exist and interoperate with existing device CLI, Syslog, and SNMP interfaces. These interfaces are optionally exposed northbound from network devices. YANG is used to model each protocol/encoding based on RFC-6020. Once enabled, a collection of Linux processes run natively on the device repesenting the implementation inside IOS-XE. These processes map configuration messages from a YANG model to a form that can be used to manifest CLI commands.

Data Models

Open Models

Open models are models designed to be independent of the underlying platform implementation. Their intent is to normalize per-vendor configuration of network devices. Open YANG Models are developed and promoted by Vendors, Standards bodies, e.g. IETF and customers, e.g. the OpenConfig group.

Native Models

Native models provide a transition from CLI-based device management and represent a model-based interface of current CLI. These models are specific to the underlying platform operating system and feature implementations. Native models are designed to integrate with platform OS-specific feature implementations with minimal translation between the information exposed by the model-based interface and the feature implementation.

What now?

Look here to get started with implementing a NETCONF/YANG-based server in IOS-XE.