Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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).

Server Device Registration

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.) facilities as follows:

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


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

...

{

   "devices": {

       "rest:192.168.1.1:80": {

           "rest": {

               "username": "server",

               "password": "",

               "ip": "192.168.1.1",

               "port": 80,

               "protocol": "http",

               "url": "",

               "testUrl": "",

               "manufacturer": "GenuineIntel",

               "hwVersion": "Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz",

               "swVersion": "Click 2.1"

           },

           "basic": {

               "driver": "restServer"

           }

       }

   }

}


Note that manufacturer, hwVersion, swVersion, and driver fields are sensitive pieces of information related to the server device driver.

If your server has different hardware characteristics (e.g., an AMD processor instead of an Intel processor), then you should extend the file server-drivers.xml accordingly.

Upon a successful registration of your server device, the server device driver issues monitoring commands to the server in order to discover:

  • the ports (i.e., NICs) available on this server as well as their statistics,
  • the CPUs available on this server as well as their statistics,
  • any flow entries installed on this server.



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