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

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

Code Block
languageyml
module: network-topology
  +--rw network-topology
     +--rw topology* [topology-id]
        +--rw topology-id          topology-id
        +--rw node* [node-id]
        |  +--rw node-id                                    node-id
        |  +--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

module: odl-netconf-callhome-server
  +--rw netconf-callhome-server
     +--rw allowed-devices
        +--rw device* [unique-id]
           +--rw unique-id                        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

module: netconf-keystore
  +--rw keystore
     +--rw key-credential* [key-id]
     |  +--rw key-id         string
     |  +--rw private-key?   string
     |  +--rw passphrase?    string
     +--rw private-key* [name]
     |  +--rw name                 string
     |  +--rw data?                string
     |  +--rw certificate-chain*   string
     +--rw trusted-certificate* [name]
        +--rw name           string
        +--rw certificate?   string


 rpcs:
    +---x add-keystore-entry
    |  +---w input
    |     +---w key-credential* [key-id]
    |        +---w key-id         string
    |        +---w private-key?   string
    |        +---w passphrase?    string
    +---x remove-keystore-entry
    |  +---w input
    |     +---w key-id*   string
    +---x add-private-key
    |  +---w input
    |     +---w private-key* [name]
    |        +---w name                 string
    |        +---w data?                string
    |        +---w certificate-chain*   string
    +---x remove-private-key
    |  +---w input
    |     +---w name*   string
    +---x add-trusted-certificate
    |  +---w input
    |     +---w trusted-certificate* [name]
    |        +---w name           string
    |        +---w certificate?   string
    +---x remove-trusted-certificate
       +---w input
          +---w name*   string