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 4 Next »

Overview

This tutorial describes how ONOS manages resources, such as Central Processing Units (CPUs) and Network Interface Cards (NICs), on commodity servers.

This tutorial is currently under construction.

Contributors

Georgios P. Katsikas <katsikas.gp@gmail.com>

Table of Contents

Controller Side

The ONOS control plane is extended with the server device driver, which is part of the ONOS drivers sub-system.

The server device driver exploits ONOS's REST-based Southbound Controller (i.e., RestSBController) to register server devices as REST-based devices.

As such, every commodity server registered to ONOS (through the server device driver) is represented as a RestServerSBDevice, which extends ONOS's RestSBDevice.

The extensions of RestServerSBDevice are related to the CPU and NIC resources present in commodity servers (but not present in other REST-based devices).

Server Side

At the server side we need a process that is able to communicate with the server device driver using a REST-based channel (i.e., HTTP messages).

First, each server must "register" with the controller using the onos-netcfg facilities as follows:


Follow the instructions at this link to get started:


Exporting environment variables in the shell profile

To get the most from the tools and instructions discussed in the following sections,  it is highly recommended that you add this line to your shell configuration profile (.bash_aliases.profile, etc.):

onos-netcfg <ONOS-IP> device-description.json


An example JSON file "device-description.json" is provided below:

ApplicationId myAppId = ...;


Metron's data plane extends FastClick, which in turn uses DPDK as a high performance network I/O subsystem.

  • No labels