Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Network Configuration Service provides support for two primary tasks:

  • Configuring ONOS applications that provide network services (such as L3 or L2 connectivity, DHCP service, etc.)
  • Adding information about devices, links, and device configuration into ONOS's network view

In legacy IP/Ethernet networks, network and connectivity configuration (for example configuring BGP, IP subnets, VLANs, or ACLs) usually requires configuring multiple individual devices. With ONOS, equivalent functionality is usually provided by ONOS applications – software packages for a particular task or use case – that usually provide services across multiple devices or the entire network. Some ONOS applications (such as reactive forwarding) either require no configuration or operate perfectly well with a default configuration. However, other applications may require additional specific configuration information that cannot be inferred automatically. These applications can be configured using the Network Configuration Service.

The Network Configuration Service provides configuration services to ONOS applications. ONOS applications such as SDN-IP or VPLS accept their own application-specific configuration information from it. Information on application-specific configuration may be found in the individual application sections of Apps and Use Cases

The Network Configuration Service also provides the ability to add information into ONOS's network view. This

This section describes how to use the network configuration service to add network elements and links into ONOS’ network view. 

Although it is confusingly named, the network configuration service doesn't have much anything to do with configuring ONOS or the network devices themselves. Rather, it is a way of providing topology and inventory information directly to ONOS. This can supplement or completely replace dynamic device and topology discovery. In many cases, such as data center or enterprise networks, the core network devices and topology may be determined by the organization and stored in an inventory database (for example.) The network configuration service makes it possible to write a program that reads the device and topology inventory, as well as other information, from a site-specific database and then provides it directly to ONOS, without having to rely on dynamic device and topology discovery. Additionally it may be used to add supplemental information that ONOS does not or cannot discover automatically, but may require for correct operation.

Information on configuring ONOS itself (rather than specifying a topology to ONOSsuch as setting up an ONOS cluster, or activating applications), as well as using ONOS to configure network devices, can be found in other sections of this guideappropriate sections of Configuring ONOS.

Table of Contents
maxLevel3

...

Overview

The network configuration service enables applications and operators to configure the ONOS’ network view, and ONOS’ ONOS network view applications, using a uniform syntax, currently JSON. Examples include:

  • Device and device port types and names
  • Device location, owner, hardware and software versions
  • Whether components are allowed or denied inclusion in the network model

This service doesn’t limit configuration to the network elements that ONOS has knowledge of - configurations can also refer to yet-discovered elements, or those that cannot be discovered by conventional means.

 

Syntax

subject key describes the category of network element, e.g. links, devices, hosts, etc. Each network element is associated with a unique identifier (a subject) and one or more attributes, associated with some value, grouped into configs. The configs themselves are classified by config keys.

The JSON file used with the service then takes on the following format:

Code Block
languagetext
{
    subject key : {                   # element category, e.g. "devices", "links", etc.
        subject : {                   # unique string, e.g. a device ID
            config key 1 : {          # config class of config, e.g. "basic"
                attr1 : value1,       # attribute : value pairs associated with a config
                attr2 : value2,
                ...
            },
            ...
        },
          ...
    },
    ...
}

Sample configuration files may be found in ${ONOS_ROOT}/tools/test/configs/ .

Network Configurations for Southbound Providers. 

Different southbound providers, namely NETCONF, SNMP, REST and TL1 use net-cfg as the mechanism to inject ip, port, username, password of a device. 

You can find information about each of these protocols and json examples in their respecitive wiki pages. 

Sample configuration for these protocols are also stored in ${ONOS_ROOT}/tools/test/configs/ .

 

...