aha/net
Rusty Russell c45d286e72 [NET]: Inline net_device_stats
Network drivers which keep stats allocate their own stats structure
then write a get_stats() function to return them.  It would be nice if
this were done by default.

1) Add a new "stats" field to "struct net_device".
2) Add a new feature field to say "this driver uses the internal one"
3) Have a default "get_stats" which returns NULL if that feature not set.
4) Change callers to check result of get_stats call for NULL, not if
   ->get_stats is set.

This should not break backwards compatibility with older drivers, yet
allow modern drivers to shed some boilerplate code.

Lightly tested: works for a modified lguest network driver.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-04-25 22:28:26 -07:00
..
802 [SK_BUFF]: unions of just one member don't get anything done, kill them 2007-04-25 22:26:20 -07:00
8021q [VLAN] vlan_dev: Use skb_reset_network_header(). 2007-04-25 22:26:26 -07:00
appletalk [SK_BUFF]: unions of just one member don't get anything done, kill them 2007-04-25 22:26:20 -07:00
atm [SK_BUFF]: Convert skb->end to sk_buff_data_t 2007-04-25 22:26:29 -07:00
ax25 [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
bluetooth [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
bridge [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
core [NET]: Inline net_device_stats 2007-04-25 22:28:26 -07:00
dccp [CCID3]: Use initial RTT sample from SYN exchange 2007-04-25 22:27:04 -07:00
decnet [NET] fib_rules: delay route cache flush by ip_rt_min_delay 2007-04-25 22:28:24 -07:00
econet [SK_BUFF]: Convert skb->tail to sk_buff_data_t 2007-04-25 22:26:28 -07:00
ethernet [SK_BUFF]: Introduce skb_reset_mac_header(skb) 2007-04-25 22:24:32 -07:00
ieee80211 [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
ipv4 [NET] fib_rules: delay route cache flush by ip_rt_min_delay 2007-04-25 22:28:24 -07:00
ipv6 [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
ipx [SK_BUFF]: Introduce skb_reset_transport_header(skb) 2007-04-25 22:25:15 -07:00
irda [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
iucv [SK_BUFF]: Introduce skb_reset_transport_header(skb) 2007-04-25 22:25:15 -07:00
key [SK_BUFF]: Introduce skb_reset_transport_header(skb) 2007-04-25 22:25:15 -07:00
lapb [PATCH] remove many unneeded #includes of sched.h 2007-02-14 08:09:54 -08:00
llc [SK_BUFF]: unions of just one member don't get anything done, kill them 2007-04-25 22:26:20 -07:00
netfilter [NETFILTER] nfnetlink: netlink_run_queue() already checks for NLM_F_REQUEST 2007-04-25 22:27:46 -07:00
netlabel [NET]: Fix kfree(skb) 2007-02-28 09:42:14 -08:00
netlink [NETLINK]: introduce NLA_BINARY type 2007-04-25 22:28:05 -07:00
netrom [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
packet [SK_BUFF]: Convert skb->tail to sk_buff_data_t 2007-04-25 22:26:28 -07:00
rose [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
rxrpc [SK_BUFF]: Introduce udp_hdr(), remove skb->h.uh 2007-04-25 22:25:22 -07:00
sched [NET_SCHED]: qdisc: remove unnecessary memory barriers 2007-04-25 22:27:58 -07:00
sctp [SCTP]: Implement SCTP_MAX_BURST socket option. 2007-04-25 22:28:04 -07:00
sunrpc [NET]: convert network timestamps to ktime_t 2007-04-25 22:23:34 -07:00
tipc [NETLINK]: Introduce nlmsg_hdr() helper 2007-04-25 22:26:34 -07:00
unix [SK_BUFF]: Introduce skb_reset_transport_header(skb) 2007-04-25 22:25:15 -07:00
wanrouter [SK_BUFF]: Introduce skb_reset_mac_header(skb) 2007-04-25 22:24:32 -07:00
x25 [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
xfrm [NETLINK]: Directly return -EINTR from netlink_dump_start() 2007-04-25 22:27:33 -07:00
compat.c [NET]: Adding SO_TIMESTAMPNS / SCM_TIMESTAMPNS support 2007-04-25 22:24:21 -07:00
Kconfig [NET]: Replace CONFIG_NET_DEBUG with sysctl. 2007-04-25 22:24:05 -07:00
Makefile [S390]: Rewrite of the IUCV base code, part 2 2007-02-08 13:37:42 -08:00
nonet.c [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
socket.c [SOCKET]: Export __sock_recv_timestamp 2007-04-25 22:24:22 -07:00
sysctl_net.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
TUNABLE Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00