From: Simon Horman Date: Mon, 23 Aug 2010 06:30:11 +0000 (+0900) Subject: datapath: Use rtnl_link_stats64 X-Git-Tag: v1.1.0pre1~64 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=67b30fcde789088b2e43407167f9ad656c2cc1e5;hp=37f055c758e2d74ee4abc1ebca94aa62700f3ca0;p=sliver-openvswitch.git datapath: Use rtnl_link_stats64 This adds compatibility with a series kernel changesets that introduces 64bit statistics. The final changeset (to date) being "net: Document that dev_get_stats() returns the given pointer". The relevant changesets were added between 2.6.35 and 2.6.36-rc1. Signed-off-by: Simon Horman Signed-off-by: Jesse Gross --- diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c index e93a5ff3a..f6709e2a3 100644 --- a/datapath/vport-netdev.c +++ b/datapath/vport-netdev.c @@ -211,9 +211,15 @@ struct kobject *netdev_get_kobj(const struct vport *vport) int netdev_get_stats(const struct vport *vport, struct odp_vport_stats *stats) { const struct netdev_vport *netdev_vport = netdev_vport_priv(vport); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,36) + struct rtnl_link_stats64 *netdev_stats, storage; + + netdev_stats = dev_get_stats(netdev_vport->dev, &storage); +#else const struct net_device_stats *netdev_stats; netdev_stats = dev_get_stats(netdev_vport->dev); +#endif stats->rx_bytes = netdev_stats->rx_bytes; stats->rx_packets = netdev_stats->rx_packets;