Versions Compared

Key

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

Transaction Language 1 (TL1) is a management protocol that is widely used in the optical networking space. ONOS comes with the needed building blocks to connect and interact with TL1 devices.

Table of Contents

Interfaces

Tl1Device is a container that holds the Netty channel and some device attributes such as login and password.

...

Implementations of all these interfaces are prefixed with Default, for instance DefaultTl1Controller holds the implementation of the Tl1Controller interface.

Device Provider

The ONOS TL1 southbound is implemented in the Tl1DeviceProvider.

...

Code Block
{
  "devices": {
    "tl1:10.128.14.81:3082": {
      "basic": {
        "name": "Lumentum",
        "driver": "lumentum-waveready"
      }
    }
  },
  "apps": {
    "org.onosproject.tl1": {
      "devices": [
        {
          "ip": "10.128.14.81",
          "port": 3082,
          "username": "test",
          "password": "test"
        }
      ]
    }
  }
}

 


Drivers

Adding a new device to ONOS requires implementing a set of behaviors. For instance, to discover devices and their ports, implement the DeviceDescriptionDiscovery. If your device supports flow rules, implement the FlowRuleProgrammable. And so on. Go here for more information: Device Driver Subsystem.

...

Code Block
<driver name="lumentum-waveready" manufacturer="Lumentum" hwVersion="WR*">
    <behaviour api="org.onosproject.net.device.DeviceDescriptionDiscovery"
               impl="org.onosproject.drivers.lumentum.LumentumWaveReadyDiscovery"/>
    <behaviour api="org.onosproject.net.optical.OpticalDevice"
               impl="org.onosproject.net.optical.DefaultOpticalDevice"/>
</driver>

 

Missing features / Help wanted

Here is a list of desirable features that unfortunately are not available in the current code base. Patches and bug reports are very welcome!

...