]> git.proxmox.com Git - mirror_ovs.git/commit - lib/netdev-dpdk.c
Add support for extended netdev statistics based on RFC 2819.
authormweglicx <michalx.weglicki@intel.com>
Thu, 5 May 2016 08:46:01 +0000 (09:46 +0100)
committerBen Pfaff <blp@ovn.org>
Fri, 6 May 2016 22:28:56 +0000 (15:28 -0700)
commitd6e3feb57c44e18580015d8e99dd751cff4f2c9e
tree2d243eed928b2b3fad094e9990f98713176adbc4
parent104aec4e0c57bc92a3c22cea9dff69f74adda861
Add support for extended netdev statistics based on RFC 2819.

Implementation of new statistics extension for DPDK ports:
- Add new counters definition to netdev struct and open flow,
  based on RFC2819.
- Initialize netdev statistics as "filtered out"
  before passing it to particular netdev implementation
  (because of that change, statistics which are not
  collected are reported as filtered out, and some
  unit tests were modified in this respect).
- New statistics are retrieved using experimenter code and
  are printed as a result to ofctl dump-ports.
- New counters are available for OpenFlow 1.4+.
- Add new vendor id: INTEL_VENDOR_ID.
- New statistics are printed to output via ofctl only if those
  are present in reply message.
- Add new file header: include/openflow/intel-ext.h which
  contains new statistics definition.
- Extended statistics are implemented only for dpdk-physical
  and dpdk-vhost port types.
- Dpdk-physical implementation uses xstats to collect statistics.
- Dpdk-vhost implements only part of statistics (RX packet sized
  based counters).

Signed-off-by: Michal Weglicki <michalx.weglicki@intel.com>
[blp@ovn.org made software devices more consistent]
Signed-off-by: Ben Pfaff <blp@ovn.org>
17 files changed:
include/openflow/automake.mk
include/openflow/intel-ext.h [new file with mode: 0644]
include/openflow/openflow-common.h
include/openvswitch/netdev.h
lib/netdev-dpdk.c
lib/netdev-dummy.c
lib/netdev-linux.c
lib/netdev-vport.c
lib/netdev.c
lib/ofp-print.c
lib/ofp-util.c
tests/learn.at
tests/ofproto-dpif.at
tests/ofproto.at
tests/tunnel-push-pop-ipv6.at
tests/tunnel-push-pop.at
vswitchd/bridge.c