Have questions? Stuck? Please check our FAQ for some common questions and answers.

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Overview

This section provides an overview on the NETCONF protocol implementation in ONOS.

 

Interfaces and Classes

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

 

  • No labels