Versions Compared

Key

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

...

A server with 2 Intel CPU cores and 1 Mellanox 100 GbE NIC might provide the following responceresponse:

{
    "id":"metron:server:000001",
    "serial":"4Y6JZ42",
    "manufacturer":"GenuineIntel",
    "hwVersion":"Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz",
    "swVersion":"Click 2.1",
    "cpus":
    [
        {
            "id":0,
            "vendor":"GenuineIntel",
            "frequency":3200
        },
        {
            "id":1,
            "vendor":"GenuineIntel",
            "frequency":3200
        }
    ],
    "nics":
    [
        {
            "name":"fd0",
            "index":0,
            "vendor":"Unknown",
            "driver":"net_mlx5",
            "speed":"100000",
            "status":"1",
            "portType":"fiber",
            "hwAddr":"50:6B:4B:43:88:CB",
            "rxFilter":["flow"]
        }
    ]
}

...

To indicate that a NIC is active, one must set the status field to 1.

Also, each server must advertize advertie a list of ways with which its NIC(s) can be programmed.

...

  • flow: Refers to the Flow Director (e.g., Intel's Flow Director) component of modern NICs. 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 advertized serve Flow Director as a candidate mode for packet dispatching.

...

A server with 2 Intel CPU cores and 1 Mellanox 100 GbE NIC might provide the following responceresponse:

{
    "busyCpus":0,
    "freeCpus":2,
    "cpus":
    [
        {
            "id":0,
            "load":0,
            "busy":false
        },
        {
            "id":1,
            "load":0,
            "busy":false
        }
    ],
    "nics":
    [
        {
            "name":"fd0",
            "index":0,
            "rxCount":"0",
            "rxBytes":"0",
            "rxDropped":"0",
            "rxErrors":"0",
            "txCount":"0",
            "txBytes":"0",
            "txErrors":"0"
        }
    ]
}

...