Versions Compared

Key

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

...

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.

...

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

{
    "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"]
        }
    ]
}

Note that the unit of frequency field in each CPU is in MHz, while the unit of the speed field in each NIC is in Mbps.

...

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

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

...

If you use the server device driver or Metron in your research, please cite our paper as follows:

@inproceedings{katsikas-metron.nsdi18,
	author       = {Katsikas, Georgios P. and Barbette, Tom and Kosti\'{c}, Dejan and Steinert, Rebecca and Maguire Jr., Gerald Q.},
	title        = {{Metron: NFV Service Chains at the True Speed of the Underlying Hardware}},
	booktitle    = {15th USENIX Conference on Networked Systems Design and Implementation (NSDI 18)},
	series       = {NSDI'18},
	year         = {2018},
	isbn         = {978-1-931971-43-0},
	pages        = {171--186},
	numpages     = {16},
	url          = {https://www.usenix.org/system/files/conference/nsdi18/nsdi18-katsikas.pdf},
	address      = {Renton, WA},
	acmid        = {},
	publisher    = {USENIX Association}
}