if (INET_TW_MATCH(sk, acookie, saddr, daddr, ports, dif)) 
if (INET_TW_MATCH(sk, hash, acookie, saddr, daddr, ports, dif)) 
	__inet_lookup_established(struct inet_hashinfo *hashinfo,				  const u32 saddr, const u16 sport,				  const u32 daddr, const u16 hnum,				  const int dif){	INET_ADDR_COOKIE(acookie, saddr, daddr)	const __u32 ports = INET_COMBINED_PORTS(sport, hnum);	struct sock *sk;	const struct hlist_node *node;	/* Optimize here for direct hit, only listening connections can	 * have wildcards anyways.	 */	const int hash = inet_ehashfn(daddr, hnum, saddr, sport, hashinfo->ehash_size);	struct inet_ehash_bucket *head = &hashinfo->ehash[hash];	read_lock(&head->lock);	sk_for_each(sk, node, &head->chain) {		if (INET_MATCH(sk, acookie, saddr, daddr, ports, dif))			goto hit; /* You sunk my battleship! */	}	/* Must check for a TIME_WAIT'er before going to listener hash. */	sk_for_each(sk, node, &(head + hashinfo->ehash_size)->chain) {		if (INET_TW_MATCH(sk, acookie, saddr, daddr, ports, dif))			goto hit;	}	sk = NULL;out:	read_unlock(&head->lock);	return sk;hit:	sock_hold(sk);	goto out;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/81c3d5470ecc70564eb9209946730fe2be93ad06/inet_hashtables.h/clean/include/net/inet_hashtables.h