X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=datapath%2Fvport-netdev.c;h=c023c8548bd7af639cb5f19cb204cd4105aa43ad;hb=ac387ef5ce7115f9539104011f0409eb6a1bbe99;hp=f6709e2a3dfa173c8d7827d0bee75df7b14cabd2;hpb=67b30fcde789088b2e43407167f9ad656c2cc1e5;p=openvswitch diff --git a/datapath/vport-netdev.c b/datapath/vport-netdev.c index f6709e2a..c023c854 100644 --- a/datapath/vport-netdev.c +++ b/datapath/vport-netdev.c @@ -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; }