Versions Compared

Key

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

...

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

  • NetconfDevice implemented by NetconfDeviceImpl: represents a NETCONF capable device connected to the ONOS core with his own NetconfSession and his informations saved in an instance of NetconfDeviceInfo
  • NetconfSession: interface that every type of 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.
  • NetconfDeviceProvider: manages any NETCONF device role and all the interactions with the ONOS core.
  • NetconfDeviceListener implemented by InnerNetconfDeviceListener in NetconfDeviceProvider: informs the provider in the ONOS core that a NETCONF device is connected/disconnected.
  • NetconfDeviceInfo: 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.
  • XMLConfigParser: parser for reading and producing XML files to and from the NETCONF device. For now has only configuration reader and edit controllers configuration producer.

 

Example

A usage case of the NETCONF infrastructure is the get and set controllers on a device. To do this operation you need a ONOS Behaviour, in our case the NetconfControllerConfig class, that implements ControllerConfig general behaviour. When you have a Behaviour you need the NetconfController, which you can obtainthorugh the DriverHandler. The Netconf controller instance now gives you access to all the device or a single device.