Versions Compared

Key

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

Table of Contents

Scope

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

Decisions

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.

All the YANG modules can be found in the attachments:

Attachments
uploadfalse

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).

In SMO project call on 2021-03-04 it was decided to create a yang modules for O-RAN-SC DU with a minimum parameter set supporting the D-Release Closed loop use case.

The initial idea of a configuration for the O-DU NetConf client is rejected, because in D-Release there wont be a NetConf client implemented on O-DU.


D-Release YANG model for O-DU


Code Block
languageyml
module: network-topology
  +--rw network-topologyo-ran-sc-du-hello-world
     +--rw topology* [topology-id]network-function
        +--rw topology-id          topology-id
        +--rw node* [node-id]
  du-to-ru-connection* [name]
      |  +--rw node-id                                    node-id
        |  +--ro nettop:available-capabilities
        |  |  +--ro nettop:available-capability* []
        |  |     +--ro nettop:capability?    name      string
        |  |     +--ro nettop:capability-originstatus?   enumeration
        |  +--ro nettop:unavailable-capabilities
        |  |  +--ro nettop:unavailable-capability* []
        |  |     +--ro nettop:capability?       stringconnection-status

  rpcs:
        |  |     +--ro nettop:failure-reason?   enumeration

module: odl-netconf-callhome-server
  +--rw netconf-callhome-server
     +--rw allowed-devices
        +--rw device* [unique-id]
           +--rw unique-id                        string
           +--rw (transport)?
           -x connect
    |  +--:(ssh)
           |  |  +--rw ssh-client-params
     -w input
      |  |     +--rw host-key       string
           |  |     +--rw credentials!
           |  |        +--rw username     string
           |  |        +--rw passwords*   string
           |  +--:(tls)
           |     +--rw tls-client-params
       w remote-network-function    o-ru-reference
    |  +--ro output
    |        +--rwro certificateresponse-idstatus    string
       enumeration
    |        +--rw key-idro message?            string
           +--ro callhome-status:device-status?   enumeration

module: netconf-keystore
  +--rw keystore
-x disconnect
       +--rw key-credential* [key-id]w input
     |  +--rw key-id         string
     |  +--rw private-key?   string
     |  +--rw passphrase?    string
     +--rw private-key* [name]w remote-network-function    o-ru-reference
     |  +--rw name              ro output
   string
     |  +--rw data?                string
     |  +--rw certificate-chain*ro response-status    stringenumeration
     +--rw trusted-certificate* [name]
        +--rwro namemessage?           string
        +--rw certificate?   string