twx-linux/include/net
David S. Miller 7adc3830f9 [TCP]: Improve ipv4 established hash function.
If all of the entropy is in the local and foreign addresses,
but xor'ing together would cancel out that entropy, the
current hash performs poorly.

Suggested by Cosmin Ratiu:

	Basically, the situation is as follows: There is a client
	machine and a server machine. Both create 15000 virtual
	interfaces, open up a socket for each pair of interfaces and
	do SIP traffic. By profiling I noticed that there is a lot of
	time spent walking the established hash chains with this
	particular setup.

	The addresses were distributed like this: client interfaces
	were 198.18.0.1/16 with increments of 1 and server interfaces
	were 198.18.128.1/16 with increments of 1. As I said, there
	were 15000 interfaces. Source and destination ports were 5060
	for each connection.  So in this case, ports don't matter for
	hashing purposes, and the bits from the address pairs used
	cancel each other, meaning there are no differences in the
	whole lot of pairs, so they all end up in the same hash chain.

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-03-04 14:28:41 -08:00
..
9p
bluetooth
irda
iucv
netfilter
netns
sctp [SCTP]: Update AUTH structures to match declarations in draft-16. 2008-02-28 16:45:04 -05:00
tc_act
tipc [TIPC]: Kill unused static inline (x5) 2008-02-07 18:17:13 -08:00
act_api.h
addrconf.h
af_rxrpc.h
af_unix.h
ah.h
arp.h
atmclip.h
ax25.h [AX25] ax25_ds_timer: use mod_timer instead of add_timer 2008-02-12 17:53:34 -08:00
ax88796.h
cfg80211.h
checksum.h
cipso_ipv4.h
compat.h
datalink.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dn.h
dsfield.h
dst.h
esp.h
fib_rules.h
flow.h
gen_stats.h
genetlink.h
icmp.h
ieee80211_crypt.h
ieee80211_radiotap.h
ieee80211.h
ieee80211softmac_wx.h
ieee80211softmac.h
if_inet6.h
inet6_connection_sock.h
inet6_hashtables.h
inet_common.h
inet_connection_sock.h
inet_ecn.h
inet_frag.h
inet_hashtables.h
inet_sock.h [TCP]: Improve ipv4 established hash function. 2008-03-04 14:28:41 -08:00
inet_timewait_sock.h
inetpeer.h
ip6_checksum.h
ip6_fib.h
ip6_route.h
ip6_tunnel.h [IP_TUNNEL]: Don't limit the number of tunnels with generic name explicitly. 2008-02-23 20:19:20 -08:00
ip_fib.h
ip_vs.h
ip.h
ipcomp.h
ipconfig.h
ipip.h
ipv6.h
ipx.h
iw_handler.h
lapb.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
llc.h
mac80211.h
mip6.h
ndisc.h [IPV6]: remove unused method declaration (net/ndisc.h). 2008-02-12 22:06:53 -08:00
neighbour.h
net_namespace.h
netdma.h
netevent.h
netlabel.h
netlink.h
netrom.h
nexthop.h
p8022.h
pkt_cls.h
pkt_sched.h
protocol.h
psnap.h
raw.h
rawv6.h
red.h
request_sock.h
rose.h
route.h
rtnetlink.h
sch_generic.h
scm.h
slhc_vj.h
snmp.h
sock.h net: fix kernel-doc warnings in header files 2008-02-18 20:52:13 -08:00
syncppp.h
tcp_states.h
tcp.h
timewait_sock.h
transp_v6.h
udp.h
udplite.h
wext.h
wireless.h
x25.h
x25device.h
xfrm.h [IPSEC]: Fix bogus usage of u64 on input sequence number 2008-02-12 22:50:35 -08:00