linux/net/core
Arnaldo Carvalho de Melo 8feaf0c0a5 [INET]: Generalise tcp_tw_bucket, aka TIME_WAIT sockets
This paves the way to generalise the rest of the sock ID lookup
routines and saves some bytes in TCPv4 TIME_WAIT sockets on distro
kernels (where IPv6 is always built as a module):

[root@qemu ~]# grep tw_sock /proc/slabinfo
tw_sock_TCPv6  0  0  128  31  1
tw_sock_TCP    0  0   96  41  1
[root@qemu ~]#

Now if a protocol wants to use the TIME_WAIT generic infrastructure it
only has to set the sk_prot->twsk_obj_size field with the size of its
inet_timewait_sock derived sock and proto_register will create
sk_prot->twsk_slab, for now its only for INET sockets, but we can
introduce timewait_sock later if some non INET transport protocolo
wants to use this stuff.

Next changesets will take advantage of this new infrastructure to
generalise even more TCP code.

[acme@toy net-2.6.14]$ grep built-in /tmp/before.size /tmp/after.size
/tmp/before.size: 188646   11764    5068  205478   322a6 net/ipv4/built-in.o
/tmp/after.size:  188144   11764    5068  204976   320b0 net/ipv4/built-in.o
[acme@toy net-2.6.14]$

Tested with both IPv4 & IPv6 (::1 (localhost) & ::ffff:172.20.0.1
(qemu host)).

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-08-29 15:42:13 -07:00
..
datagram.c [TCP]: Move the tcp sock states to net/tcp_states.h 2005-08-29 15:41:54 -07:00
dev_mcast.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dev.c [NET]: Remove explicit initializations of skb->input_dev 2005-08-29 15:33:26 -07:00
dst.c [NET] Fix too aggressive backoff in dst garbage collection 2005-07-30 17:47:25 -07:00
dv.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ethtool.c [ETHTOOL]: Check correct pointer in ethtool_set_coalesce(). 2005-06-06 15:07:19 -07:00
filter.c [NET]: net/core/filter.c: make len cover the entire packet 2005-07-05 14:10:40 -07:00
flow.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_estimator.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_stats.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iovec.c [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
link_watch.c [NET]: Disable queueing when carrier is lost. 2005-05-03 16:18:52 -07:00
Makefile [NET]: Only build flow.o if CONFIG_XFRM=y 2005-07-19 13:58:40 -07:00
neighbour.c [NETLINK]: Missing initializations in dumped data 2005-06-28 12:55:30 -07:00
net-sysfs.c [NET]: Allow controlling NAPI device weight with sysfs 2005-06-08 14:55:42 -07:00
netfilter.c [NETFILTER]: Extend netfilter logging API 2005-08-29 15:38:07 -07:00
netpoll.c [NETPOLL]: remove unused variable 2005-08-11 19:28:05 -07:00
pktgen.c [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
request_sock.c [IPV4]: possible cleanups 2005-08-29 15:33:20 -07:00
rtnetlink.c [NETLINK]: Add properly module refcounting for kernel netlink sockets. 2005-08-29 15:35:08 -07:00
scm.c [PATCH] kill gratitious includes of major.h under net/* 2005-04-25 18:32:13 -07:00
skbuff.c [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
sock.c [INET]: Generalise tcp_tw_bucket, aka TIME_WAIT sockets 2005-08-29 15:42:13 -07:00
stream.c [PATCH] DocBook: changes and extensions to the kernel documentation 2005-05-01 08:59:25 -07:00
sysctl_net_core.c [NET]: Separate two usages of netdev_max_backlog. 2005-06-23 20:14:40 -07:00
utils.c [NET]: Move in_aton from net/ipv4/utils.c to net/core/utils.c 2005-07-27 15:24:42 -07:00
wireless.c [NETLINK]: Missing initializations in dumped data 2005-06-28 12:55:30 -07:00