Versions Compared

Key

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

...

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

Tl1Controller

We provider here some more details on the implementation of the TL1 controller. In Devices are added to the controller, and then need to be explicitly connected (which leads to a Netty channel being initialized). The controller stores devices using a ConcurrentMap<DeviceId, Tl1Device>. For every device, but this time identified by the device's Netty channel, it will also store a ConcurrentMap<Integer, CompletableFuture<String>>. This map is keyed on the message ctag (type Integer), and stores the future response (type String) of the device. An important consequence is that ctag's are assumed to be unique per device, and it is the responsibility of the sendMsg() caller to ensure this uniqueness.

Device Provider

The ONOS TL1 southbound is implemented in the Tl1DeviceProvider. This class implements the ONOS SB interface, and most importantly, will connect to the device when it is assigned the master role (in all other cases the instance will disconnect from the device). When a device is connected, the device provider will use the DeviceDescriptionDiscovery to fetch and update the device/port description.

...