Versions Compared

Key

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

...

  • NetconfController.java implemented by NetconfControllerImpl.java: tracks all the NETCONF devices, serves as a one stop for connecting and obtaining a device and (un)register listeners on device events.

  • NetconfDevice.java implemented by NetconfDeviceImpl.java: represents a NETCONF capable device connected to the ONOS core with his own NetconfSession and his informations saved in an instance of NetconfDeviceInfo
  • NetconfSession.java: interface that every type of transport connection to a NETCONF device must implement, represents the single access point for any operation on the device. An example is NetconfSessionImpl: uses an SSH2 Connection and Session to exchange information and perform operations like get/set-config with the physical NETCONF device. The capability to start a subscription to a device's notifications can be started here.
  • NetconfSessionDelegate.java: delegate interface implemented by NetconfSessionDelegateImpl in NetconfSessionImpl. Serves the purpose of completing the future returned by the thread so the session can return the correct reply for the specific request to the caller, effectively making the request call blocking on the Future.
  • NetconfDeviceProvider.java: manages any NETCONF device role and all the interactions with the ONOS core. The provider is responsible for periodically checking for changes in the availability of NETCONF devices, which it does in checkAndUpdateDevices().
  • NetconfDeviceListener.java implemented by InnerNetconfDeviceListener.java in NetconfDeviceProvider: informs the provider in the ONOS core that a NETCONF device is connected/disconnected.
  • NetconfDeviceOutputEvent.java represent an output event from a device session's stream, it can be a reply, notification, unregistration from the network, error.
  • NetconfDeviceOutputEventListener.java implemented by NetconfDeviceOutputEventListenerImpl.java: interface and implementation of a listener that receives notifications from the device stream: replies, notifications, disconnections and errors. NetconfSession has method to set them to the underling stream handler class, such as NetconfStreamThread.
  • NetconfDeviceInfo.java: contains ip,port,protocol,username,password and DeviceId of a NETCONF device; it's used to exchange information about a device without having to pass the device instance itself.
  • NetconfAlarmProvider.java: manages capturing relevant notifications from devices and creating and alerting the core of alarms based on these notifications.
  • NetconfAlarmTranslator.java: translates the general case of a NETCONF notification to an alarm, defined by Alarm.java, with information from the notification message.
  • NetconfException.java represents an exception happened in the NETCONF protocol implementation.

...