Skip to end of metadata
Go to start of metadata

This page documents how to build CORD. There are two target environments: (1) a physical hardware POD, and (2) a virtualized development environment known as CORD-in-a-Box (CiaB). An alternative testing environment, called CORD-in-the-Cloud, is also available for evaluation.


There are three releases of CORD:

The most recent development branch is master. The rest of this page references the master branch. Adjust accordingly for the various releases.

This page links to a mirror of the CORD source on GitHub, which is the quickest way to see what's there. If you're serious about building and contributing to CORD, you will want to come up-to-speed on Gerrit and the repo tool: Getting the Source Code.

Build Instructions

The CORD distribution includes a large set of repositories, with the build process launched out of the repository. Documentation for building CORD on the two target environments can be found in the docs directory, where you will find:

The rest of this page focuses on the process of building a physical POD.

Assemble the POD

When bringing up a physical POD, the first step is to assemble the cluster of commodity servers and white-box switches that comprise the POD. Specific access devices (e.g., OLT blades) are brought up separately during a later customization step.

Hardware Bill-of-Materials

Servers – OCP-qualified QuantaGrid D51B-1U server. Each server is configured with 2x Intel E5-2630 v4 10C 2.2GHz 85W, 64GB of RAM 2133MHz DDR4, 2x hdd500GB and a 40 Gig adapter: Intel Ethernet Converged Network Adapters XL710 10/40 GbE PCIe 3.0, x8 Dual port.

Switches – OCP-qualified Accton 6712 switch. Each switch is configured with 32x40GE ports, and can double as both leaf and spine switches in the CORD fabric.

The reference POD includes four servers (one serving as a head node and three serving as compute nodes), two virtual racks with one leaf (ToR) switch each, and two spine switches connecting the (virtual) racks. Alternative configurations are also possible (e.g., more head nodes, additional racks, two ToR per rack).

POD Assembly

Servers and switches in the reference POD are wired as follows:

As POD assembly involves local specifics, you will need to manually edit a handful of configuration files (as instructed in docs/ In preparation for doing that, it will be helpful to familiarize yourself with the network sub-system, including

Install CORD Software

Building and installing the CORD software stack is kicked off by Gradle from the cord respository, as described in docs/

Customize the POD

After booting the base platform, the next step is to configure the POD for the local environment. This is currently a manual process that includes:


  • No labels