Versions Compared

Key

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

...

To install NIC rules on a server's NIC, the device driver POST the following JSON to the server's resource:

HTTP POST: http://serverIp/metron/rules

{
    "rules":
    [
        {
            "id": "5057dd63-93ea-42ca-bb14-8a5e37e214da",

...

Note that the ruleContent field contains a rule (with unique ID 54043196136729470) that follows theĀ DPDK Flow API, as the NIC on this server is bound to a DPDK driver.

...

The server device driver also performs periodic NIC rule monitoring, for those NICs in mode "flow".

The NIC rule monitoring command issued by the device driver hits the following resource path on the server:

...

{
"rules":
[
{
"id":"5057dd63-93ea-42ca-bb14-8a5e37e214da",
"rxFilter":{
"method":"flow"
},
"nics":
[
{
"nicName":"fd0",
"cpus":
[
{
"cpuId":0,
"cpuRules":
[
{
"ruleId": 5432467111344012654043196136729470,
                                    "ruleContent":"ingress pattern eth type is 2048 / ipv4 src is 192.168.100.7 dst is 192.168.1.7 / udp src is 53 / end actions queue index 0 / end"
}
]
}
]
}
]
}
]

}

NIC Rule Deletion

To delete the above rule (once it has successfully been installed) with unique ID 54043196136729470, the server device driver needs to hist the following path:

HTTP DELETE: http://serverIp/metron/rules/54043196136729470


A complete implementation of the data plane side of a server device can be found here.

...