Configuring NCS 1001 Using OpenConfig Data Model

Openconfig is a working group of network operators which defines a set of vendor-neutral YANG data models supporting various network functions and devices.

A complete list of supported open configuration models is available at https://github.com/openconfig/public/tree/master/release/models/optical-transport.

Cisco NCS1001 supports openconfig models according to the optical transport functions available on system. The following are the openconfig supported models:

  • Amplifier model, supported by NCS1001 EDFA modules

  • Transport Line Protection model, supported by NCS1001 PSM modules

  • Channel Monitoring model, supported by NCS1001 EDFA by means of its OCM capability.

The Openconfig platform model is a common model where all the devices are listed. The openconfig model hierarchy is as follows:
Figure 1. Hierarchy of Cisco NCS 1001
Hierarchy of Cisco NCS 1001

The Openconfig platform model retrieves inventory information and it's instantiation on Cisco NCS1001 contains the models defined in the following sections.

Openconfig Optical Amplifier Model

The following is the tree structure of Openconfig Optical Amplifier model:

module: openconfig-optical-amplifier
   +--rw optical-amplifier
      +--rw amplifiers
      |  +--rw amplifier* [name]
      |     +--rw name      -> ../config/name
      |     +--rw config
      |     |  +--rw name?               string
      |     |  +--rw target-gain?        decimal64
      |     |  +--rw target-gain-tilt?   decimal64
      |     |  +--rw enabled?            boolean
      |     +--ro state
      |        +--ro name?                  string
      |        +--ro type?                  identityref
      |        +--ro target-gain?           decimal64
      |        +--ro target-gain-tilt?      decimal64
      |        +--ro gain-range?            identityref
      |        +--ro amp-mode?              identityref
      |        +--ro enabled?               boolean
      |        +--ro ingress-port?          -> /oc-platform:components/component/name
      |        +--ro egress-port?           -> /oc-platform:components/component/name
      |        +--ro actual-gain
      |        |  +--ro instant?   decimal64
      |        +--ro actual-gain-tilt
      |        |  +--ro instant?   decimal64
      |        +--ro input-power-total
      |        +--ro input-power-c-band
      |        |  +--ro instant?   decimal64
      |        |  +--ro avg?       decimal64
      |        |  +--ro min?       decimal64
      |        |  +--ro max?       decimal64
      |        +--ro input-power-l-band
      |        +--ro output-power-total
      |        +--ro output-power-c-band
      |        |  +--ro instant?   decimal64
      |        |  +--ro avg?       decimal64
      |        |  +--ro min?       decimal64
      |        |  +--ro max?       decimal64
      |        +--ro output-power-l-band
      |        +--ro laser-bias-current
      |        +--ro optical-return-loss
      +--rw supervisory-channels
         +--rw supervisory-channel* [interface]
            +--rw interface    -> ../config/interface
            +--rw config
            +--ro state
               +--ro input-power
               |  +--ro instant?   decimal64
               |  +--ro avg?       decimal64
               |  +--ro min?       decimal64
               |  +--ro max?       decimal64
               +--ro output-power
               |  +--ro instant?   decimal64
               |  +--ro avg?       decimal64
               |  +--ro min?       decimal64
               |  +--ro max?       decimal64
               +--ro laser-bias-current

Inventory Details

Each EDFA module pluggable within Cisco NCS1001 slot contains two optical amplifiers such as a booster and a pre-amplifier. The list of components applicable as amplifier name is listed in the following table:

Component

Naming Convention

EDFA Module, Pre-Amplifier

0/S-AMP-PRE

EDFA Module, Booster Amplifier

0/S-AMP-BST

Openconfig Protection Switching Model

The following is the tree structure of Transport Line Protection model:

module: openconfig-transport-line-protection
   +--rw aps
      +--rw aps-modules
         +--rw aps-module* [name]
            +--rw name      -> ../config/name
            +--rw config
            |  +--rw name?                         -> /oc-platform:components/component/name
            |  +--rw primary-switch-threshold?     decimal64
            |  +--rw secondary-switch-threshold?   decimal64
            +--ro state
            |  +--ro name?                         -> /oc-platform:components/component/name
            |  +--ro primary-switch-threshold?     decimal64
            |  +--ro secondary-switch-threshold?   decimal64
            |  +--ro active-path?                  identityref
            +--rw ports
               +--rw line-primary-in
               |  +--rw config
               |  |  +--rw target-attenuation?   decimal64
               |  +--ro state
               |     +--ro target-attenuation?   decimal64
               |     +--ro attenuation?          decimal64
               |     +--ro optical-power
               |        +--ro instant?   decimal64
               |        +--ro avg?       decimal64
               |        +--ro min?       decimal64
               |        +--ro max?       decimal64
               +--rw line-primary-out
               |  +--rw config
               |  |  +--rw target-attenuation?   decimal64
               |  +--ro state
               |     +--ro target-attenuation?   decimal64
               |     +--ro attenuation?          decimal64
               |     +--ro optical-power
               |        +--ro instant?   decimal64
               |        +--ro avg?       decimal64
               |        +--ro min?       decimal64
               |        +--ro max?       decimal64
               +--rw line-secondary-in
               |  +--rw config
               |  |  +--rw target-attenuation?   decimal64
               |  +--ro state
               |     +--ro target-attenuation?   decimal64
               |     +--ro attenuation?          decimal64
               |     +--ro optical-power
               |        +--ro instant?   decimal64
               |        +--ro avg?       decimal64
               |        +--ro min?       decimal64
               |        +--ro max?       decimal64
               +--rw line-secondary-out
               |  +--rw config
               |  |  +--rw target-attenuation?   decimal64
               |  +--ro state
               |     +--ro target-attenuation?   decimal64
               |     +--ro attenuation?          decimal64
               |     +--ro optical-power
               |        +--ro instant?   decimal64
               |        +--ro avg?       decimal64
               |        +--ro min?       decimal64
               |        +--ro max?       decimal64
               +--rw common-in
               |  +--rw config
               |  +--ro state
               |     +--ro optical-power
               +--rw common-output
                  +--rw config
                  +--ro state
                     +--ro optical-power
                        +--ro instant?   decimal64
                        +--ro avg?       decimal64
                        +--ro min?       decimal64
                        +--ro max?       decimal64

Inventory Details

The Cisco NCS1001 PSM pluggable module is provided through the following inventory information:

Component

Naming Convention

EDFA Module, PSM

0/S-PSM-OM

Openconfig Channel Monitoring Model

The following is the tree structure of OpenConfig Channel Monitor model:

module: openconfig-channel-monitor
   +--rw channel-monitors
      +--rw channel-monitor* [name]
         +--rw name        -> ../config/name
         +--rw config
         |  +--rw name?           -> /oc-platform:components/component/name
         |  +--rw monitor-port?   -> /oc-platform:components/component/name
         +--ro state
         |  +--ro name?           -> /oc-platform:components/component/name
         |  +--ro monitor-port?   -> /oc-platform:components/component/name
         +--rw channels
            +--ro channel* [lower-frequency upper-frequency]
               +--ro lower-frequency    -> ../state/lower-frequency
               +--ro upper-frequency    -> ../state/upper-frequency
               +--ro state
                  +--ro lower-frequency?   oc-opt-types:frequency-type
                  +--ro upper-frequency?   oc-opt-types:frequency-type
                  +--ro psd?               oc-types:ieeefloat32

Inventory Details

Channel monitoring functions are provided through OCM embedded on the EDFA pluggable modules. The following inventory items provide the names of the channel monitoring:

Component

Naming Convention

EDFA Module, Pre-Amplifier OCM

0/S-CHMON-PRE

EDFA Module, Booster Amplifier OCM

0/S-CHMON-BST