This section describes how ONOS internally represents the infrastructure under its control.

Overview

ONOS maintains both generic (protocol-agnostic) and protocol-specific network element and state representations (entities). The former are constructs of the core tier, and the latter are constructs of the appropriate provider. For example, DeviceStore (and consequently the DeviceManager and DeviceListeners) sees a network device as a Device, whereas the OpenFlowDeviceProvider will see the device as an OpenFlowSwitch.

Some entities rely on the existence of other entities to exist, as in the case of Ports, which cannot exist without a Device. Similarly, Links, and by extension, Topologies, cannot exist without Devices (with Ports) serving as endpoints to the Link. We therefore consider Devices to be a first-class entity in ONOS's network representations.