2
0
mirror of https://github.com/openvswitch/ovs synced 2025-09-03 15:55:19 +00:00

datapath: Use "struct rtnl_link_stats64" instead of "struct odp_vport_stats".

Linux 2.6.35 added struct rtnl_link_stats64, which as a set of 64-bit
network device counters is what the OVS datapath needs.  We might as well
use it instead of our own.

This commit moves the if_link.h compat header from datapath/ into the
top-level include/ directory so that it is visible both to kernel and
userspace code.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
This commit is contained in:
Ben Pfaff
2010-11-09 13:48:57 -08:00
parent 55b663b616
commit ec61a01cd8
8 changed files with 69 additions and 72 deletions

View File

@@ -52,13 +52,17 @@
* those types when compiling the kernel. */
#ifdef __KERNEL__
#include <linux/types.h>
#include <linux/socket.h>
#define ovs_be16 __be16
#define ovs_be32 __be32
#define ovs_be64 __be64
#else
#include "openvswitch/types.h"
#include <sys/socket.h>
#endif
#include <linux/if_link.h>
#define ODP_MAX 256 /* Maximum number of datapaths. */
#define ODP_DP_CREATE _IO('O', 0)
@@ -365,24 +369,9 @@ struct odp_vport_mod {
void *config;
};
struct odp_vport_stats {
uint64_t rx_packets;
uint64_t tx_packets;
uint64_t rx_bytes;
uint64_t tx_bytes;
uint64_t rx_dropped;
uint64_t tx_dropped;
uint64_t rx_errors;
uint64_t tx_errors;
uint64_t rx_frame_err;
uint64_t rx_over_err;
uint64_t rx_crc_err;
uint64_t collisions;
};
struct odp_vport_stats_req {
char devname[16]; /* IFNAMSIZ */
struct odp_vport_stats stats;
struct rtnl_link_stats64 stats;
};
struct odp_vport_ether {