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