Versions Compared

Key

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

...

The server device driver provides services to the Metron control plane application, which uses the ONOS northbound interface to translate JSON-based NFV service chain

...

            {
"driver": "rest-server"
}
}
}
}

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.

Server Device Discovery

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

  • the CPUs available on this server as well as their statistics;
  • the CPU cache hierarchy of the server;
  • the main memory modules of the server along with relevant statistics;
  • 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,; and
  • any flow rule entries installed in this server's NIC(s).

...

Currently, the server device driver supports 4 programmability modes as follows:

  • flow: Refers to the Flow Director Dispatcher (e.g., Intel's Flow Director) component of modern NICs following the format of DPDK's Flow API. In this mode the server device driver can send explicit flow rules to a server's NIC(s) in order to perform traffic classification (e.g., match the values of a packet's header field), modification (e.g., drop a packet), and dispatching (e.g., place a packet into a specific hardware queue associated with a CPU core)
  • mac: Refers to the Medium Access Control (MAC)-based Virtual Machine Device queues (VMDq) (e.g., Intel's VMDq) component of modern NICs. In this mode, a server associates a set of (virtual) MAC addresses with a set of CPU cores. Input packets' destination MAC address field is matched against these values and upon a successful match, the packet is redirected to the respective CPU core.
  • vlan: Refers to the Virtual Local Area (VLAN) identifier (ID)-based VMDq (e.g., Intel's VMDq) component of modern NICs. In this mode, a server associates a set of VLAN IDs with a set of CPU cores. Input packets' VLAN ID field is matched against these values and upon a successful match, the packet is redirected to the respective CPU core.
  • rss: Refers to the Receive-Side Scaling (RSS) (e.g., Intel's RSS) component of modern NICs. In this mode, the server's NIC applies a hash function to certain header field values of incoming packets, in order to identify the CPU core that is going to undertake the processing of each packet.

In the example above the server advertised Flow Director Dispatcher as a candidate mode for packet dispatching.

...

Once a server's resources are properly discovered by the server device driver, periodic CPU, main memory, and NIC monitoring of these resources takes place.

The CPU, main memory, and NIC monitoring command issued by the device driver hits the following resource path on the server:

...