summaryrefslogtreecommitdiff
path: root/include/net
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2008-01-31 05:04:45 -0800
committerDavid S. Miller <davem@davemloft.net>2008-01-31 19:28:17 -0800
commit5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8 (patch)
tree5fe73acbcf784f9ee326d7d10ae217c7b4eb13ee /include/net
parent535174efbe0f0454f0595c31b823498c197eeb4f (diff)
downloadlinux-3.10-5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8.tar.gz
linux-3.10-5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8.tar.bz2
linux-3.10-5ee31fc1ecdcbc234c8c56dcacef87c8e09909d8.zip
[INET]: Consolidate inet(6)_hash_connect.
These two functions are the same except for what they call to "check_established" and "hash" for a socket. This saves half-a-kilo for ipv4 and ipv6. add/remove: 1/0 grow/shrink: 1/4 up/down: 582/-1128 (-546) function old new delta __inet_hash_connect - 577 +577 arp_ignore 108 113 +5 static.hint 8 4 -4 rt_worker_func 376 372 -4 inet6_hash_connect 584 25 -559 inet_hash_connect 586 25 -561 Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
-rw-r--r--include/net/inet_hashtables.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/net/inet_hashtables.h b/include/net/inet_hashtables.h
index 761bdc01425..a34a8f25fc5 100644
--- a/include/net/inet_hashtables.h
+++ b/include/net/inet_hashtables.h
@@ -413,6 +413,11 @@ static inline struct sock *inet_lookup(struct inet_hashinfo *hashinfo,
return sk;
}
+extern int __inet_hash_connect(struct inet_timewait_death_row *death_row,
+ struct sock *sk,
+ int (*check_established)(struct inet_timewait_death_row *,
+ struct sock *, __u16, struct inet_timewait_sock **),
+ void (*hash)(struct inet_hashinfo *, struct sock *));
extern int inet_hash_connect(struct inet_timewait_death_row *death_row,
struct sock *sk);
#endif /* _INET_HASHTABLES_H */