Anuket Project

This epic implements new functionality named „Custom statistics”. General idea is to allow any netdev implementation to return custom counters and expose those through Open Flow and OVSDB. This implementation covers API extension in netdev to expose those counters. Current implementation in netdev-dpdk returns all “dropped”,“error” and “management” counters taken from DPDK XSTATS (http://dpdk.org/doc/api/structrte__eth__xstat.html).

At current state, exposed counters are chosen based on “name”, if counter returned from XSTATS DPDK will contain string “_error”, “_dropped” or “_management_”, it will be collected and exposed. Please note that number of counters provided by DPDK can vary between different driver implementations.

1. OVS Configuration

The only difference in configuration of OVS, is that created bridge needs to be OpenFlow 1.4+ compatible. To do so, following command can be used:

sudo  ovs-oftcl add-br br0 -- set bridge br0 datapath_type=netdev protocols=OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13,OpenFlow14,OpenFlow15

Above command enables all OpenFlow protocols.

2. OVS – getting stats

To get “Custom statistics” it is enough to execute “dump-ports” command through ovs-ofctl:

sudo utilities/ovs-ofctl -O OpenFlow14 dump-ports br0

Note: To trigger custom statistics collection there are two important steps to follow:  
1) It is mandatory to trigger a counter collection for OpenFlow14, otherwise “Custom statistics” won’t be collected.
2) Bridge has to be configured to support OpenFlow 1.4+ (please see previous point “a. OVS configuration”).

Please find example below for IXGBE:

Note: Counter types for different drivers may vary.

 

 

  • No labels