const int hash = inet_ehashfn(daddr, lport, saddr, inet->dport, dccp_hashinfo.ehash_size); struct inet_ehash_bucket *head = &dccp_hashinfo.ehash[hash]; 
unsigned int hash = inet_ehashfn(daddr, lport, saddr, inet->dport); struct inet_ehash_bucket *head = inet_ehash_bucket(&dccp_hashinfo, hash); 
static int __dccp_v4_check_established(struct sock *sk, const __u16 lport,				      struct inet_timewait_sock **twp){	struct inet_sock *inet = inet_sk(sk);	const u32 daddr = inet->rcv_saddr;	const u32 saddr = inet->daddr;	const int dif = sk->sk_bound_dev_if;	INET_ADDR_COOKIE(acookie, saddr, daddr)	const __u32 ports = INET_COMBINED_PORTS(inet->dport, lport);	const int hash = inet_ehashfn(daddr, lport, saddr, inet->dport,				      dccp_hashinfo.ehash_size);	struct inet_ehash_bucket *head = &dccp_hashinfo.ehash[hash];	const struct sock *sk2;	const struct hlist_node *node;	struct inet_timewait_sock *tw;	write_lock(&head->lock);	/* Check TIME-WAIT sockets first. */	sk_for_each(sk2, node, &(head + dccp_hashinfo.ehash_size)->chain) {		tw = inet_twsk(sk2);		if (INET_TW_MATCH(sk2, acookie, saddr, daddr, ports, dif))			goto not_unique;	}	tw = NULL;	/* And established part... */	sk_for_each(sk2, node, &head->chain) {		if (INET_MATCH(sk2, acookie, saddr, daddr, ports, dif))			goto not_unique;	}	/* Must record num and sport now. Otherwise we will see	 * in hash table socket with a funny identity. */	inet->num = lport;	inet->sport = htons(lport);	sk->sk_hashent = hash;	BUG_TRAP(sk_unhashed(sk));	__sk_add_node(sk, &head->chain);	sock_prot_inc_use(sk->sk_prot);	write_unlock(&head->lock);	if (twp != NULL) {		*twp = tw;		NET_INC_STATS_BH(LINUX_MIB_TIMEWAITRECYCLED);	} else if (tw != NULL) {		/* Silly. Should hash-dance instead... */		inet_twsk_deschedule(tw, &dccp_death_row);		NET_INC_STATS_BH(LINUX_MIB_TIMEWAITRECYCLED);		inet_twsk_put(tw);	}	return 0;not_unique:	write_unlock(&head->lock);	return -EADDRNOTAVAIL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/81c3d5470ecc70564eb9209946730fe2be93ad06/ipv4.c/clean/net/dccp/ipv4.c