NETCONF and YANG have different jobs in ONOS’s southbound (SB) interface. NETCONF is the management protocol ONOS uses to exchange operations with a device. YANG is the language that defines the configuration, operational state, notifications, and capabilities represented in those exchanges. ONOS places protocol and device-specific behavior in providers and drivers so the core can use broader abstractions instead of knowing each device’s protocol details.
How do NETCONF and YANG work together in ONOS?
A useful way to separate them is to think of NETCONF as the conversation mechanism and YANG as the vocabulary and structure of that conversation.
| Layer | Role | What must match |
|---|---|---|
| NETCONF | Protocol for connecting to a device and performing management operations, such as retrieving or editing configuration and reading state. | Device access method, authentication, enabled capabilities, and the ONOS provider/driver implementation. |
| YANG | Data-model language describing configuration, state data, actions, notifications, types, constraints, and relationships. | Exact modules, revisions, imports, augments, deviations, and the device’s implemented model for its software release. |
A NETCONF session can exist without ONOS understanding a particular YANG model, but useful model-aware configuration requires the model to match what the device actually implements. Conversely, a YANG file does not create a connection or send changes by itself; a protocol provider still needs to communicate with the device.
Where does this fit in ONOS’s southbound architecture?
ONOS exposes a high-level boundary toward the network and delegates device communication to protocol-specific adapters. The Open Networking Foundation described the design this way: “ONOS abstracts device characteristics so that the core operating system does not have to be aware of the particular protocol being used to control or configure a device.”
#1 Best Overall
Providers handle protocol communication
A NETCONF provider manages the protocol-facing work: establishing sessions, checking reachability, exchanging requests and replies, and reporting device availability to ONOS. The provider is the isolation point between ONOS services and NETCONF details.
Drivers handle device behavior
A driver selects or supplies device-specific behavior that a generic provider cannot infer, such as supported operations, capability interpretation, or mappings for a particular platform. The exact driver names and activation method depend on the ONOS release and installed bundles.
Rank #2
The core consumes abstractions
Applications and higher ONOS services can work through stable abstractions while providers and drivers deal with NETCONF sessions, XML payloads, device quirks, and model differences. An ON.Lab presentation at ONS 2016 summarized this implementation goal as “Core stays independent”. That presentation also identified translation between YANG and XML, varying device payloads, per-device models, and overlapping features as engineering challenges; those observations describe the historical integration effort, not a guarantee about every current release.
How do I connect a NETCONF device to ONOS?
The archived ONOS NETCONF guide describes a sequence that remains useful conceptually, but its commands, endpoints, defaults, and authentication examples are release-sensitive. Use the current documentation for your ONOS distribution and device.
Rank #3
- Confirm device prerequisites. Enable NETCONF on the device, create an account or other supported authentication method, and verify that the device exposes the required capabilities. Record its management address, listening port, OS release, and model modules.
- Enable the ONOS NETCONF support. Activate the NETCONF application or bundle required by the target ONOS release. Historical documentation refers to
org.onosproject.netconf; do not assume that identifier or its installation method is unchanged. - Add the device through supported network configuration. Supply the endpoint address, port, credentials or approved key-based authentication, and the appropriate driver using the release’s network-configuration mechanism. Avoid copying credentials or assuming an archived default port.
- Select and verify the driver. Use a generic driver only when it covers the device’s behavior. A vendor or platform-specific driver may be required for capability handling and device operations.
- Check provider availability. The NETCONF device provider should establish the session and report the device as available. If it does not, inspect ONOS logs and the device’s NETCONF or SSH logs for authentication, certificate, firewall, namespace, or capability errors.
- Validate model and operations. After reachability succeeds, compare the device’s advertised capabilities with the YANG modules and operations your application intends to use. A reachable device is not automatically a model-compatible device.
Which YANG model does my ONOS device need?
Choose a model for the specific target, not merely a model with a familiar name. A target model can be a combined set of multiple YANG files, including imported modules, augments, and deviations. The device’s software version and vendor implementation determine which revision and features are valid.
Build the complete model set
- Identify the main module and every required import.
- Include augments that add data to another module.
- Include deviations that alter what the target supports.
- Record each module’s namespace and revision date.
- Check whether the device implements read/write configuration, state-only data, actions, or notifications for the nodes you need.
Use ONOS model tooling for validation
The onos-config model-plugin documentation describes combining YANG files into a versioned model for a target type and version. A model plugin can expose target capabilities and validate JSON configuration against that model. This is tooling and packaging evidence, not proof that every physical device implements the packaged model.
OpenConfig cases deserve extra care: a model-reported version and YANG revision dates may use different versioning schemes. Compare both with the device documentation and advertised capabilities rather than treating either value as a universal compatibility key.
What should be checked before calling a device supported?
Evaluate support across all of these axes:
- Device and release: exact hardware or virtual platform and network OS version.
- Model identity: module names, namespaces, revisions, imports, augments, and deviations.
- ONOS integration: required NETCONF provider, driver, application, and model plugin.
- Operations: whether the needed get, get-config, edit-config, action, commit, or subscription behavior is implemented.
- Data coverage: whether the integration exposes both configuration and operational state, rather than only connectivity.
- Security and operations: authentication, host-key or certificate validation, access controls, logging, reconnect behavior, and alarms.
Common failure modes
The device never becomes available
Check network reachability, the actual NETCONF port, firewall rules, server enablement, credentials, and host-key or certificate policy. Then confirm that the ONOS provider is active and that the selected driver is installed and applicable.
Best Value
The session works but configuration is rejected
Compare the submitted data with the complete target model. Rejection commonly indicates a missing import, wrong revision, unsupported deviation, invalid namespace, unmet constraint, or an operation the device does not implement.
State data is missing
Connectivity alone does not guarantee state coverage. Verify that the device advertises the relevant state modules and that the ONOS provider, driver, and model plugin expose the required read paths or subscriptions.
An example from an old guide no longer works
Archived ONOS material is valuable for architecture and sequence, but application names, driver bundles, authentication practices, REST endpoints, and CLI syntax can change. Use the target release’s documentation and the device vendor’s NETCONF/YANG guide as the authority.
How much historical context is useful?
The ONF’s 2019 ONOS Features overview reported more than 135 platform extensions, including applications, southbound providers, pre-compiled YANG models such as OpenConfig and Open ROADM, drivers, and utilities. That was a historical count, not a current inventory. It illustrates the breadth of the adapter ecosystem without establishing support for a particular device today.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsQuick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




