Versions Compared

Key

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

Table of Contents

Scope

Color coding

The page will discuss and document the necessary yang modules to be supported by O-DU to ensure the end-to-end functionality of the D-Release use case "Closed loop". 

As O-RAN alliance does not provide solid yang models yet, other data models needs to be defined or selected.

Idea

From SMO point of view the O-DU should provide a capability to "manage" the expected NetConf Server connections (O-RAN OpenFronthaul M-Plane) representing O-RUs.

The O-RU will connect via NetConf Call Home/TLS to the O-DU. Therefore the O-DU must be configured in advance with the public key of potential O-RUs.

Exactly this function is implemented by the OpenDaylight project and YANG modules to mimic a potential O1 interface are available.

However, OpenDaylight also supports pre-configured NetConf servers with all its connection related details and NetConf Call Home via SSH. Those parameters and object classes could be ignored for the O-RAN-SC D-Release Use Case.


Minimum parameter set to be supported

The following yang tree shows only a necessary (to be discussed) selection of parameters within the yang capabilities of OpenDaylight forconfiguration and  supervision of NetConf Servers by a NetConf Client (O-DU).

Code Block
languageyml
module: network-topology
  +--rw network-topology
     +--rw topology* [topology-id]
        +--rw topology-id          topology-id
        +--rw topology-types
       
|  +--rw nettop:topology-netconf!         +--rw node* [node-id]
        |  +--rw node-id                                    node-id
        |  +--rw (nettop:credentials)?
        |  |  +--:(nettop:login-pw)
        |  |  |  +--rw nettop:login-password
        |  |  |     +--rw nettop:username?   string
   
    |  |  |     +--rw nettop:password?   string
        |  |  +--:(nettop:key-auth)
        |  |     +--rw nettop:key-based
        |  |        +--rw nettop:key-id?     string
        |  |        +--rw nettop:username?   string
        |  +--rw nettop:host?                               inet:host
        |  +--rw nettop:port?                               inet:port-number
        |  +--rw nettop:protocol
        |  |  +--rw nettop:name?        enumeration
        |  |  +--rw (nettop:specification)?
        |  |     +--:(nettop:tls-case)
        |  |        +--rw nettop:tls
        |  |           +--rw nettop:excluded-versions*   string
        |  +--rw nettop:yang-module-capabilities
        |  |  +--rw nettop:override?     boolean
        |  |  +--rw nettop:capability*   string
        |  +--rw nettop:non-module-capabilities
        |  +--ro nettop:available-capabilities
        |  |  +--ro nettop:available-capability* []
        |  |     +--ro nettop:capability?          string
        |  |     +--ro nettop:capability-origin?   enumeration
        |  +--ro nettop:unavailable-capabilities
        |  |  +--ro nettop:unavailable-capability* []
        |  |     +--ro nettop:capability?       string
        |  |     +--ro nettop:failure-reason?   enumeration
        |  +--rw nettop:pass-through

module: odl-netconf-callhome-server
  +--rw netconf-callhome-server
     +--rw global!
     |  +--rw credentials!
     |  |  +--rw username     string
     |  |  +--rw passwords*   string
     |  +--rw accept-all-ssh-keys?           boolean
     |  +--rw mount-point-naming-strategy?   enumeration
     +--rw allowed-devices
        +--rw device* [unique-id]
           +--rw unique-id                        string
           x--rw ssh-host-key?                    string
           +--rw credentials!
           |  +--rw username     string
           |  +--rw passwords*   string
           +--rw (transport)?
           |  +--:(ssh)
           |  |  +--rw ssh-client-params
           |  |     +--rw host-key       string
           |  |     +--rw credentials!
           |  |        +--rw username     string
           |  |        +--rw passwords*   string
           |  +--:(tls)
           |     +--rw tls-client-params
           |        +--rw certificate-id    string
           |        +--rw key-id            string
           +--ro callhome-status:device-status?   enumeration