[DCCP]: Move dccp_[un]hash from ipv4.c to the core

As this is used by both ipv4 and ipv6 and is not ipv4 specific.

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Arnaldo Carvalho de Melo 2006-03-20 21:23:39 -08:00 committed by David S. Miller
parent 3e0fadc51f
commit c985ed705f
4 changed files with 17 additions and 14 deletions

View File

@ -238,6 +238,7 @@ extern struct sk_buff *dccp_make_response(struct sock *sk,
extern int dccp_connect(struct sock *sk); extern int dccp_connect(struct sock *sk);
extern int dccp_disconnect(struct sock *sk, int flags); extern int dccp_disconnect(struct sock *sk, int flags);
extern void dccp_hash(struct sock *sk);
extern void dccp_unhash(struct sock *sk); extern void dccp_unhash(struct sock *sk);
extern int dccp_getsockopt(struct sock *sk, int level, int optname, extern int dccp_getsockopt(struct sock *sk, int level, int optname,
char __user *optval, int __user *optlen); char __user *optval, int __user *optlen);

View File

@ -44,18 +44,6 @@ static int dccp_v4_get_port(struct sock *sk, const unsigned short snum)
inet_csk_bind_conflict); inet_csk_bind_conflict);
} }
static void dccp_v4_hash(struct sock *sk)
{
inet_hash(&dccp_hashinfo, sk);
}
void dccp_unhash(struct sock *sk)
{
inet_unhash(&dccp_hashinfo, sk);
}
EXPORT_SYMBOL_GPL(dccp_unhash);
int dccp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) int dccp_v4_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len)
{ {
struct inet_sock *inet = inet_sk(sk); struct inet_sock *inet = inet_sk(sk);
@ -1048,7 +1036,7 @@ struct proto dccp_prot = {
.sendmsg = dccp_sendmsg, .sendmsg = dccp_sendmsg,
.recvmsg = dccp_recvmsg, .recvmsg = dccp_recvmsg,
.backlog_rcv = dccp_v4_do_rcv, .backlog_rcv = dccp_v4_do_rcv,
.hash = dccp_v4_hash, .hash = dccp_hash,
.unhash = dccp_unhash, .unhash = dccp_unhash,
.accept = inet_csk_accept, .accept = inet_csk_accept,
.get_port = dccp_v4_get_port, .get_port = dccp_v4_get_port,

View File

@ -53,7 +53,7 @@ static void dccp_v6_hash(struct sock *sk)
{ {
if (sk->sk_state != DCCP_CLOSED) { if (sk->sk_state != DCCP_CLOSED) {
if (inet_csk(sk)->icsk_af_ops == &dccp_ipv6_mapped) { if (inet_csk(sk)->icsk_af_ops == &dccp_ipv6_mapped) {
dccp_prot.hash(sk); dccp_hash(sk);
return; return;
} }
local_bh_disable(); local_bh_disable();

View File

@ -97,6 +97,20 @@ const char *dccp_state_name(const int state)
EXPORT_SYMBOL_GPL(dccp_state_name); EXPORT_SYMBOL_GPL(dccp_state_name);
void dccp_hash(struct sock *sk)
{
inet_hash(&dccp_hashinfo, sk);
}
EXPORT_SYMBOL_GPL(dccp_hash);
void dccp_unhash(struct sock *sk)
{
inet_unhash(&dccp_hashinfo, sk);
}
EXPORT_SYMBOL_GPL(dccp_unhash);
int dccp_init_sock(struct sock *sk) int dccp_init_sock(struct sock *sk)
{ {
struct dccp_sock *dp = dccp_sk(sk); struct dccp_sock *dp = dccp_sk(sk);