X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=datapath%2Flinux%2Fcompat%2Fnetdevice.c;h=d26fb5e2adf84662acb79aa5198eefe66e2f97ff;hb=42d5dd9595cce35a8825a20be7d71a3a8f6f5640;hp=91855c47a665fd659bd562e00ce9125470a67469;hpb=d9065a90b6b955aa38586c952e8804ca7a22547e;p=sliver-openvswitch.git diff --git a/datapath/linux/compat/netdevice.c b/datapath/linux/compat/netdevice.c index 91855c47a..d26fb5e2a 100644 --- a/datapath/linux/compat/netdevice.c +++ b/datapath/linux/compat/netdevice.c @@ -1,55 +1,8 @@ -#include #include #include -/* Linux 2.6.28 introduced dev_get_stats(): - * const struct net_device_stats *dev_get_stats(struct net_device *dev); - * - * Linux 2.6.36 changed dev_get_stats() to: - * struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev, - * struct rtnl_link_stats64 *storage); - */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36) -struct rtnl_link_stats64 *dev_get_stats(struct net_device *dev, - struct rtnl_link_stats64 *storage) -{ - const struct net_device_stats *stats; - -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - stats = dev->get_stats(dev); -#else /* 2.6.28 < kernel version < 2.6.36 */ - stats = (dev_get_stats)(dev); -#endif /* 2.6.28 < kernel version < 2.6.36 */ - - storage->rx_packets = stats->rx_packets; - storage->tx_packets = stats->tx_packets; - storage->rx_bytes = stats->rx_bytes; - storage->tx_bytes = stats->tx_bytes; - storage->rx_errors = stats->rx_errors; - storage->tx_errors = stats->tx_errors; - storage->rx_dropped = stats->rx_dropped; - storage->tx_dropped = stats->tx_dropped; - storage->multicast = stats->multicast; - storage->collisions = stats->collisions; - storage->rx_length_errors = stats->rx_length_errors; - storage->rx_over_errors = stats->rx_over_errors; - storage->rx_crc_errors = stats->rx_crc_errors; - storage->rx_frame_errors = stats->rx_frame_errors; - storage->rx_fifo_errors = stats->rx_fifo_errors; - storage->rx_missed_errors = stats->rx_missed_errors; - storage->tx_aborted_errors = stats->tx_aborted_errors; - storage->tx_carrier_errors = stats->tx_carrier_errors; - storage->tx_fifo_errors = stats->tx_fifo_errors; - storage->tx_heartbeat_errors = stats->tx_heartbeat_errors; - storage->tx_window_errors = stats->tx_window_errors; - storage->rx_compressed = stats->rx_compressed; - storage->tx_compressed = stats->tx_compressed; - - return storage; -} -#endif /* kernel version < 2.6.36 */ - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38) +#ifndef HAVE_CAN_CHECKSUM_PROTOCOL static bool can_checksum_protocol(unsigned long features, __be16 protocol) { return ((features & NETIF_F_GEN_CSUM) || @@ -60,6 +13,7 @@ static bool can_checksum_protocol(unsigned long features, __be16 protocol) ((features & NETIF_F_FCOE_CRC) && protocol == htons(ETH_P_FCOE))); } +#endif static inline int illegal_highdma(struct net_device *dev, struct sk_buff *skb) {