bridge: Use on-device stats instead of private ones.
Even though bridges require 6 fields from struct net_device_stats, the on-device stats are always there, so we may just use them. The br_dev_get_stats is no longer required after this. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
96e74088f1
commit
a339f1c881
@@ -21,12 +21,6 @@
|
||||
#include <asm/uaccess.h>
|
||||
#include "br_private.h"
|
||||
|
||||
static struct net_device_stats *br_dev_get_stats(struct net_device *dev)
|
||||
{
|
||||
struct net_bridge *br = netdev_priv(dev);
|
||||
return &br->statistics;
|
||||
}
|
||||
|
||||
/* net device transmit always called with no BH (preempt_disabled) */
|
||||
int br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
{
|
||||
@@ -34,8 +28,8 @@ int br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||
const unsigned char *dest = skb->data;
|
||||
struct net_bridge_fdb_entry *dst;
|
||||
|
||||
br->statistics.tx_packets++;
|
||||
br->statistics.tx_bytes += skb->len;
|
||||
dev->stats.tx_packets++;
|
||||
dev->stats.tx_bytes += skb->len;
|
||||
|
||||
skb_reset_mac_header(skb);
|
||||
skb_pull(skb, ETH_HLEN);
|
||||
@@ -161,7 +155,6 @@ void br_dev_setup(struct net_device *dev)
|
||||
ether_setup(dev);
|
||||
|
||||
dev->do_ioctl = br_dev_ioctl;
|
||||
dev->get_stats = br_dev_get_stats;
|
||||
dev->hard_start_xmit = br_dev_xmit;
|
||||
dev->open = br_dev_open;
|
||||
dev->set_multicast_list = br_dev_set_multicast_list;
|
||||
|
Reference in New Issue
Block a user