summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorStephen Hemminger2008-11-20 06:40:23 +0100
committerDavid S. Miller2008-11-20 06:40:23 +0100
commiteeda3fd64f75bcbfaa70ce946513abaf3f23b8e0 (patch)
tree082d1921a5783ef5b07b4cf666804d6509f25f1a /include
parentnetdev: network device operations infrastructure (diff)
downloadkernel-qcow2-linux-eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0.tar.gz
kernel-qcow2-linux-eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0.tar.xz
kernel-qcow2-linux-eeda3fd64f75bcbfaa70ce946513abaf3f23b8e0.zip
netdev: introduce dev_get_stats()
In order for the network device ops get_stats call to be immutable, the handling of the default internal network device stats block has to be changed. Add a new helper function which replaces the old use of internal_get_stats. Note: change return code to make it clear that the caller should not go changing the returned statistics. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/netdevice.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 9060f5f3517a..981a089d5149 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -865,8 +865,8 @@ struct net_device
#ifdef CONFIG_NET_POLL_CONTROLLER
void (*poll_controller)(struct net_device *dev);
#endif
-#endif
};
+#endif
};
#define to_net_dev(d) container_of(d, struct net_device, dev)
@@ -1780,6 +1780,8 @@ extern void netdev_features_change(struct net_device *dev);
/* Load a device via the kmod */
extern void dev_load(struct net *net, const char *name);
extern void dev_mcast_init(void);
+extern const struct net_device_stats *dev_get_stats(struct net_device *dev);
+
extern int netdev_max_backlog;
extern int weight_p;
extern int netdev_set_master(struct net_device *dev, struct net_device *master);