Reference Guide

Table Of Contents
Handler Facet may also be used to obtain information directly from the device in order to better
determine its type.
Device Manager: The Device Manager receives information about devices from the discovery
components. The Device Manager will maintain the device information, store the information in a
database, and share the information with other team members if configured to operate as a
member of a team.
Key Manager: The Key Manager is responsible for storing security information (referred to as
keys) that is required to interact with a device using protocols such as SNMP or NetConf. The
network administrator is responsible for loading keys into the Key Manager through its REST API
(refer to the REST API specification for more information). The Key Manager is responsible for
storing the keys in a local database and sharing them with other SDN Controller team members.
The Key Manager will provide keys to Applications and Facets that want to interact with devices.
Handler Facet: Handler Facets are used to interact with a device to obtain or modify device
information using protocols such as SNMP to communicate with the device. For example, the
HpSnmpDeviceIdentity class is an implementation of a Handler Facet. It uses SNMP to read the
sysObjectId of the discovered device. The sysObjectId is the vendor’s authoritative identification of
the device. If a matching sysObjectId can be found in the Device Type information (information in
XML files), then the type of device can be determined.
Applications: Applications can use the Device Service to retrieve Device objects through which it
can obtain Facets that work with the device. It is not shown in the figure, but applications can use
KeyService APIs to perform Create, Read, and Delete operations on device keys, and
DeviceDriverService APIs to determine the device type.
Example Operation
The following example is provided to illustrate how the Device Driver Framework works. The steps
are numbered and the numbers correspond to the interactions shown in the figure above.
1) When the SDN Controller starts, the Device Driver Manager will load the XML information
(which is stored in resource bundles) and create an in-memory representation of the Device
Type information.
2) When an OpenFlow device connects to the SDN Controller, the Controller Service will notify
the OF Device Discovery component. The Controller Service will provide information
discovered about the device as part of the OpenFlow session establishment process. This
information consists of manufacture description, hardware description, software description,
serial number, and Data Path ID (dpid).
3) Using the OpenFlow information, OF Device Discovery will interact with the Device Driver
Manager to attempt to determine the device’s type. The OpenFlow information may be
adequate to determine the exact type of device. For example, if the hardware description
matches product information in the Device Type data (i.e., XML data), then the exact type of
device can be determined. However, if the OpenFlow information is not adequate to
determine the exact type of device, then further discovery is required. This will require
interacting with the device to obtain information needed to determine its type.
118