aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge/br_device.c
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2008-05-21 17:13:47 -0400
committerDavid S. Miller <davem@davemloft.net>2008-05-21 17:13:47 -0400
commita339f1c881fdb8092ef9b118610307e10e885fc8 (patch)
tree117feec8162165b577d7030262da66e8ac6a5e83 /net/bridge/br_device.c
parent96e74088f1da4d9a53735a4a57a4f984f86b75c6 (diff)
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>
Diffstat (limited to 'net/bridge/br_device.c')
-rw-r--r--net/bridge/br_device.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index bf7787395fe0..626c7795ae30 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -21,12 +21,6 @@
21#include <asm/uaccess.h> 21#include <asm/uaccess.h>
22#include "br_private.h" 22#include "br_private.h"
23 23
24static struct net_device_stats *br_dev_get_stats(struct net_device *dev)
25{
26 struct net_bridge *br = netdev_priv(dev);
27 return &br->statistics;
28}
29
30/* net device transmit always called with no BH (preempt_disabled) */ 24/* net device transmit always called with no BH (preempt_disabled) */
31int br_dev_xmit(struct sk_buff *skb, struct net_device *dev) 25int br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
32{ 26{
@@ -34,8 +28,8 @@ int br_dev_xmit(struct sk_buff *skb, struct net_device *dev)
34 const unsigned char *dest = skb->data; 28 const unsigned char *dest = skb->data;
35 struct net_bridge_fdb_entry *dst; 29 struct net_bridge_fdb_entry *dst;
36 30
37 br->statistics.tx_packets++; 31 dev->stats.tx_packets++;
38 br->statistics.tx_bytes += skb->len; 32 dev->stats.tx_bytes += skb->len;
39 33
40 skb_reset_mac_header(skb); 34 skb_reset_mac_header(skb);
41 skb_pull(skb, ETH_HLEN); 35 skb_pull(skb, ETH_HLEN);
@@ -161,7 +155,6 @@ void br_dev_setup(struct net_device *dev)
161 ether_setup(dev); 155 ether_setup(dev);
162 156
163 dev->do_ioctl = br_dev_ioctl; 157 dev->do_ioctl = br_dev_ioctl;
164 dev->get_stats = br_dev_get_stats;
165 dev->hard_start_xmit = br_dev_xmit; 158 dev->hard_start_xmit = br_dev_xmit;
166 dev->open = br_dev_open; 159 dev->open = br_dev_open;
167 dev->set_multicast_list = br_dev_set_multicast_list; 160 dev->set_multicast_list = br_dev_set_multicast_list;