sk->sk_hashent = inet6_sk_ehashfn(sk, tcp_hashinfo.ehash_size); list = &tcp_hashinfo.ehash[sk->sk_hashent].chain; lock = &tcp_hashinfo.ehash[sk->sk_hashent].lock;
unsigned int hash; sk->sk_hash = hash = inet6_sk_ehashfn(sk); hash &= (tcp_hashinfo.ehash_size - 1); list = &tcp_hashinfo.ehash[hash].chain; lock = &tcp_hashinfo.ehash[hash].lock;
static __inline__ void __tcp_v6_hash(struct sock *sk){	struct hlist_head *list;	rwlock_t *lock;	BUG_TRAP(sk_unhashed(sk));	if (sk->sk_state == TCP_LISTEN) {		list = &tcp_hashinfo.listening_hash[inet_sk_listen_hashfn(sk)];		lock = &tcp_hashinfo.lhash_lock;		inet_listen_wlock(&tcp_hashinfo);	} else {		sk->sk_hashent = inet6_sk_ehashfn(sk, tcp_hashinfo.ehash_size);		list = &tcp_hashinfo.ehash[sk->sk_hashent].chain;		lock = &tcp_hashinfo.ehash[sk->sk_hashent].lock;		write_lock(lock);	}	__sk_add_node(sk, list);	sock_prot_inc_use(sk->sk_prot);	write_unlock(lock);}