summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPravin Shelar <pshelar@nicira.com>2011-09-15 19:36:17 -0700
committerPravin Shelar <pshelar@nicira.com>2011-09-15 19:36:17 -0700
commitf613a0d72c521ca3a4eeb2c29ac523f6fdf72667 (patch)
tree40b7ff023ad2899dfe1d8e96cb1620ad0804c8c7 /include/linux
parent9197df76b46ff6fbe1f7a522961730ffc55a860d (diff)
downloadopenvswitch-f613a0d72c521ca3a4eeb2c29ac523f6fdf72667.tar.gz
datapath: Always use generic stats for devices (vports)
Currently ovs is using device stats for Linux devices and count them itself in other situations. This leads to overlap with hardware stats, inconsistencies, etc. It's much better to just always count the packets flowing through the switch and let userspace do any merging that it wants. Following patch removes vport->get_stats() interface. vport-stat is changed to use new `struct ovs_vport_stat` rather than rtnl_link_stats64. Definitions of rtnl_link_stats64 is removed from OVS. dipf_port->stat is also removed as aggregate stats are only available at netdev layer. Signed-off-by: Pravin B Shelar <pshelar@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/automake.mk2
-rw-r--r--include/linux/if_link.h56
2 files changed, 0 insertions, 58 deletions
diff --git a/include/linux/automake.mk b/include/linux/automake.mk
deleted file mode 100644
index a0a963d09..000000000
--- a/include/linux/automake.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-noinst_HEADERS += \
- include/linux/if_link.h
diff --git a/include/linux/if_link.h b/include/linux/if_link.h
deleted file mode 100644
index 55d99e46e..000000000
--- a/include/linux/if_link.h
+++ /dev/null
@@ -1,56 +0,0 @@
-#ifndef __LINUX_IF_LINK_WRAPPER_H
-#define __LINUX_IF_LINK_WRAPPER_H 1
-
-#include <linux/version.h>
-
-#ifdef HAVE_RTNL_LINK_STATS64
-#include_next <linux/if_link.h>
-#else /* !HAVE_RTNL_LINK_STATS64 */
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
-#include_next <linux/if_link.h>
-#else
-/* Before 2.6.19 there was no <linux/if_link.h>. Instead all of the types now
- * declared there were in <linux/if.h>. Unfortunately <linux/if.h> from 2.6.18
- * conflicts badly enough with <net/if.h> to break the userspace build. All
- * we really need from <linux/if_link.h> is struct rtnl_link_stats64, which in
- * turn only really needs __u64. */
-#include <linux/types.h>
-#include <linux/netlink.h>
-#endif /* kernel < 2.6.19 */
-
-/* The main device statistics structure */
-struct rtnl_link_stats64 {
- __u64 rx_packets; /* total packets received */
- __u64 tx_packets; /* total packets transmitted */
- __u64 rx_bytes; /* total bytes received */
- __u64 tx_bytes; /* total bytes transmitted */
- __u64 rx_errors; /* bad packets received */
- __u64 tx_errors; /* packet transmit problems */
- __u64 rx_dropped; /* no space in linux buffers */
- __u64 tx_dropped; /* no space available in linux */
- __u64 multicast; /* multicast packets received */
- __u64 collisions;
-
- /* detailed rx_errors: */
- __u64 rx_length_errors;
- __u64 rx_over_errors; /* receiver ring buff overflow */
- __u64 rx_crc_errors; /* recved pkt with crc error */
- __u64 rx_frame_errors; /* recv'd frame alignment error */
- __u64 rx_fifo_errors; /* recv'r fifo overrun */
- __u64 rx_missed_errors; /* receiver missed packet */
-
- /* detailed tx_errors */
- __u64 tx_aborted_errors;
- __u64 tx_carrier_errors;
- __u64 tx_fifo_errors;
- __u64 tx_heartbeat_errors;
- __u64 tx_window_errors;
-
- /* for cslip etc */
- __u64 rx_compressed;
- __u64 tx_compressed;
-};
-#endif /* !HAVE_RTNL_LINK_STATS64 */
-
-#endif