datapath: Fix build on 2.6.18.
[openvswitch] / datapath / vport-netdev.c
index f6709e2a3dfa173c8d7827d0bee75df7b14cabd2..c023c8548bd7af639cb5f19cb204cd4105aa43ad 100644 (file)
@@ -118,7 +118,7 @@ static struct vport *netdev_create(const char *name, const void __user *config)
        /* If we are using the vport stats layer initialize it to the current
         * values so we are roughly consistent with the device stats. */
        if (USE_VPORT_STATS) {
-               struct odp_vport_stats stats;
+               struct rtnl_link_stats64 stats;
 
                err = netdev_get_stats(vport, &stats);
                if (!err)
@@ -208,32 +208,10 @@ struct kobject *netdev_get_kobj(const struct vport *vport)
        return &netdev_vport->dev->NETDEV_DEV_MEMBER.kobj;
 }
 
-int netdev_get_stats(const struct vport *vport, struct odp_vport_stats *stats)
+int netdev_get_stats(const struct vport *vport, struct rtnl_link_stats64 *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;
-       stats->tx_bytes         = netdev_stats->tx_bytes;
-       stats->tx_packets       = netdev_stats->tx_packets;
-       stats->rx_dropped       = netdev_stats->rx_dropped;
-       stats->rx_errors        = netdev_stats->rx_errors;
-       stats->rx_frame_err     = netdev_stats->rx_frame_errors;
-       stats->rx_over_err      = netdev_stats->rx_over_errors;
-       stats->rx_crc_err       = netdev_stats->rx_crc_errors;
-       stats->tx_dropped       = netdev_stats->tx_dropped;
-       stats->tx_errors        = netdev_stats->tx_errors;
-       stats->collisions       = netdev_stats->collisions;
-
+       dev_get_stats(netdev_vport->dev, stats);
        return 0;
 }