提交 c985ed70 编写于 作者: A Arnaldo Carvalho de Melo 提交者: David S. Miller

[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: NArnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 3e0fadc5
...@@ -238,6 +238,7 @@ extern struct sk_buff *dccp_make_response(struct sock *sk, ...@@ -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);
......
...@@ -44,18 +44,6 @@ static int dccp_v4_get_port(struct sock *sk, const unsigned short snum) ...@@ -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 = { ...@@ -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,
......
...@@ -53,7 +53,7 @@ static void dccp_v6_hash(struct sock *sk) ...@@ -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();
......
...@@ -97,6 +97,20 @@ const char *dccp_state_name(const int state) ...@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册