mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
[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:
parent
3e0fadc51f
commit
c985ed705f
@ -238,6 +238,7 @@ extern struct sk_buff *dccp_make_response(struct sock *sk,
|
||||
|
||||
extern int dccp_connect(struct sock *sk);
|
||||
extern int dccp_disconnect(struct sock *sk, int flags);
|
||||
extern void dccp_hash(struct sock *sk);
|
||||
extern void dccp_unhash(struct sock *sk);
|
||||
extern int dccp_getsockopt(struct sock *sk, int level, int optname,
|
||||
char __user *optval, int __user *optlen);
|
||||
|
@ -44,18 +44,6 @@ static int dccp_v4_get_port(struct sock *sk, const unsigned short snum)
|
||||
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)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
@ -1048,7 +1036,7 @@ struct proto dccp_prot = {
|
||||
.sendmsg = dccp_sendmsg,
|
||||
.recvmsg = dccp_recvmsg,
|
||||
.backlog_rcv = dccp_v4_do_rcv,
|
||||
.hash = dccp_v4_hash,
|
||||
.hash = dccp_hash,
|
||||
.unhash = dccp_unhash,
|
||||
.accept = inet_csk_accept,
|
||||
.get_port = dccp_v4_get_port,
|
||||
|
@ -53,7 +53,7 @@ static void dccp_v6_hash(struct sock *sk)
|
||||
{
|
||||
if (sk->sk_state != DCCP_CLOSED) {
|
||||
if (inet_csk(sk)->icsk_af_ops == &dccp_ipv6_mapped) {
|
||||
dccp_prot.hash(sk);
|
||||
dccp_hash(sk);
|
||||
return;
|
||||
}
|
||||
local_bh_disable();
|
||||
|
@ -97,6 +97,20 @@ const char *dccp_state_name(const int state)
|
||||
|
||||
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)
|
||||
{
|
||||
struct dccp_sock *dp = dccp_sk(sk);
|
||||
|
Loading…
Reference in New Issue
Block a user