mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-22 22:51:37 +00:00
[INET]: Generalise the TCP sock ID lookup routines
And also some TIME_WAIT functions. [acme@toy net-2.6.14]$ grep built-in /tmp/before.size /tmp/after.size /tmp/before.size: 282955 13122 9312 305389 4a8ed net/ipv4/built-in.o /tmp/after.size: 281566 13122 9312 304000 4a380 net/ipv4/built-in.o [acme@toy net-2.6.14]$ I kept them still inlined, will uninline at some point to see what would be the performance difference. Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8feaf0c0a5
commit
e48c414ee6
9 changed files with 188 additions and 165 deletions
|
@ -174,8 +174,6 @@ nlmsg_failure:
|
|||
return -1;
|
||||
}
|
||||
|
||||
extern struct sock *tcp_v4_lookup(u32 saddr, u16 sport, u32 daddr, u16 dport,
|
||||
int dif);
|
||||
#ifdef CONFIG_IP_TCPDIAG_IPV6
|
||||
extern struct sock *tcp_v6_lookup(struct in6_addr *saddr, u16 sport,
|
||||
struct in6_addr *daddr, u16 dport,
|
||||
|
@ -197,9 +195,9 @@ static int tcpdiag_get_exact(struct sk_buff *in_skb, const struct nlmsghdr *nlh)
|
|||
struct sk_buff *rep;
|
||||
|
||||
if (req->tcpdiag_family == AF_INET) {
|
||||
sk = tcp_v4_lookup(req->id.tcpdiag_dst[0], req->id.tcpdiag_dport,
|
||||
req->id.tcpdiag_src[0], req->id.tcpdiag_sport,
|
||||
req->id.tcpdiag_if);
|
||||
sk = inet_lookup(&tcp_hashinfo, req->id.tcpdiag_dst[0],
|
||||
req->id.tcpdiag_dport, req->id.tcpdiag_src[0],
|
||||
req->id.tcpdiag_sport, req->id.tcpdiag_if);
|
||||
}
|
||||
#ifdef CONFIG_IP_TCPDIAG_IPV6
|
||||
else if (req->tcpdiag_family == AF_INET6) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue