Figure 1 shows the CORD network infrastructure. The underlay fabric at the heart of the implementation is responsible for interconnecting all parts of CORD, including access I/O blades, compute nodes (servers), and upstream routers. In addition, the fabric control application that runs on ONOS interacts with a number of other applications to provide CORD services.
Figure 1. CORD Architecture.
In the current implementation, there are actually two sets of ONOS controllers with different responsibilities. The first ONOS cluster (onos-cord) is responsible for the overlay infrastructure (virtual networking and service composition) and the access infrastructure. This cluster hosts the VTN and vOLT applications, respectively.
The second ONOS cluster (onos-fabric) is responsible for controlling the fabric and interfacing with conventional upstream routers. This cluster hosts the Fabric Control and vRouter applications, respectively.
Multicast control is via two additional applications, IGMP snooping and PIM-SSM, where the former runs on onos-cord and the latter runs on onos-fabric. (For simplicity, we show only a single Multicast Control application in Figure 1.)
In principle, all the applications could run on a single ONOS cluster. We chose to split responsibilities to have better isolation and separation of concerns, which was especially helpful during development. However, to simplify the exposition and diagrams, we show all the applications running on a single ONOS cluster in Figure 1.
For more information about each sub-system of the network infrastructure, see the following related pages:
 Atrium: A Complete SDN Distribution from ONF. https://github.com/onfsdn/atrium-docs/wiki
 OpenFlow Data Plane Abstraction (OF-DPA). https://www.broadcom.com/collateral/pb/OF-DPA-PB100-R.pdf
 Virtual Subscriber Gateway (vSG). CORD Design Notes (March 2016).
 Virtual OLT (vOLT). CORD Design Notes (March 2016).