ipv6: tcp_ipv6 do some cleanup
Signed-off-by: Wang Yufen <wangyufen@huawei.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
788367fdb3
commit
4aa956d801
@ -39,7 +39,7 @@
|
|||||||
#include <linux/ipsec.h>
|
#include <linux/ipsec.h>
|
||||||
#include <linux/times.h>
|
#include <linux/times.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
#include <linux/uaccess.h>
|
||||||
#include <linux/ipv6.h>
|
#include <linux/ipv6.h>
|
||||||
#include <linux/icmpv6.h>
|
#include <linux/icmpv6.h>
|
||||||
#include <linux/random.h>
|
#include <linux/random.h>
|
||||||
@ -65,8 +65,6 @@
|
|||||||
#include <net/tcp_memcontrol.h>
|
#include <net/tcp_memcontrol.h>
|
||||||
#include <net/busy_poll.h>
|
#include <net/busy_poll.h>
|
||||||
|
|
||||||
#include <asm/uaccess.h>
|
|
||||||
|
|
||||||
#include <linux/proc_fs.h>
|
#include <linux/proc_fs.h>
|
||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
|
|
||||||
@ -532,8 +530,8 @@ static struct tcp_md5sig_key *tcp_v6_reqsk_md5_lookup(struct sock *sk,
|
|||||||
return tcp_v6_md5_do_lookup(sk, &inet_rsk(req)->ir_v6_rmt_addr);
|
return tcp_v6_md5_do_lookup(sk, &inet_rsk(req)->ir_v6_rmt_addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int tcp_v6_parse_md5_keys (struct sock *sk, char __user *optval,
|
static int tcp_v6_parse_md5_keys(struct sock *sk, char __user *optval,
|
||||||
int optlen)
|
int optlen)
|
||||||
{
|
{
|
||||||
struct tcp_md5sig cmd;
|
struct tcp_md5sig cmd;
|
||||||
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&cmd.tcpm_addr;
|
struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)&cmd.tcpm_addr;
|
||||||
@ -717,7 +715,7 @@ struct request_sock_ops tcp6_request_sock_ops __read_mostly = {
|
|||||||
.send_ack = tcp_v6_reqsk_send_ack,
|
.send_ack = tcp_v6_reqsk_send_ack,
|
||||||
.destructor = tcp_v6_reqsk_destructor,
|
.destructor = tcp_v6_reqsk_destructor,
|
||||||
.send_reset = tcp_v6_send_reset,
|
.send_reset = tcp_v6_send_reset,
|
||||||
.syn_ack_timeout = tcp_syn_ack_timeout,
|
.syn_ack_timeout = tcp_syn_ack_timeout,
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_TCP_MD5SIG
|
#ifdef CONFIG_TCP_MD5SIG
|
||||||
@ -1261,7 +1259,8 @@ static struct sock *tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb,
|
|||||||
|
|
||||||
#ifdef CONFIG_TCP_MD5SIG
|
#ifdef CONFIG_TCP_MD5SIG
|
||||||
/* Copy over the MD5 key from the original socket */
|
/* Copy over the MD5 key from the original socket */
|
||||||
if ((key = tcp_v6_md5_do_lookup(sk, &newsk->sk_v6_daddr)) != NULL) {
|
key = tcp_v6_md5_do_lookup(sk, &newsk->sk_v6_daddr);
|
||||||
|
if (key != NULL) {
|
||||||
/* We're using one, so create a matching key
|
/* We're using one, so create a matching key
|
||||||
* on the newsk structure. If we fail to get
|
* on the newsk structure. If we fail to get
|
||||||
* memory, then we end up not copying the key
|
* memory, then we end up not copying the key
|
||||||
@ -1305,9 +1304,8 @@ static __sum16 tcp_v6_checksum_init(struct sk_buff *skb)
|
|||||||
&ipv6_hdr(skb)->saddr,
|
&ipv6_hdr(skb)->saddr,
|
||||||
&ipv6_hdr(skb)->daddr, 0));
|
&ipv6_hdr(skb)->daddr, 0));
|
||||||
|
|
||||||
if (skb->len <= 76) {
|
if (skb->len <= 76)
|
||||||
return __skb_checksum_complete(skb);
|
return __skb_checksum_complete(skb);
|
||||||
}
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1337,7 +1335,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
|
|||||||
return tcp_v4_do_rcv(sk, skb);
|
return tcp_v4_do_rcv(sk, skb);
|
||||||
|
|
||||||
#ifdef CONFIG_TCP_MD5SIG
|
#ifdef CONFIG_TCP_MD5SIG
|
||||||
if (tcp_v6_inbound_md5_hash (sk, skb))
|
if (tcp_v6_inbound_md5_hash(sk, skb))
|
||||||
goto discard;
|
goto discard;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1604,7 +1602,8 @@ do_time_wait:
|
|||||||
break;
|
break;
|
||||||
case TCP_TW_RST:
|
case TCP_TW_RST:
|
||||||
goto no_tcp_socket;
|
goto no_tcp_socket;
|
||||||
case TCP_TW_SUCCESS:;
|
case TCP_TW_SUCCESS:
|
||||||
|
;
|
||||||
}
|
}
|
||||||
goto discard_it;
|
goto discard_it;
|
||||||
}
|
}
|
||||||
@ -1649,7 +1648,7 @@ static void tcp_v6_early_demux(struct sk_buff *skb)
|
|||||||
static struct timewait_sock_ops tcp6_timewait_sock_ops = {
|
static struct timewait_sock_ops tcp6_timewait_sock_ops = {
|
||||||
.twsk_obj_size = sizeof(struct tcp6_timewait_sock),
|
.twsk_obj_size = sizeof(struct tcp6_timewait_sock),
|
||||||
.twsk_unique = tcp_twsk_unique,
|
.twsk_unique = tcp_twsk_unique,
|
||||||
.twsk_destructor= tcp_twsk_destructor,
|
.twsk_destructor = tcp_twsk_destructor,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct inet_connection_sock_af_ops ipv6_specific = {
|
static const struct inet_connection_sock_af_ops ipv6_specific = {
|
||||||
@ -1683,7 +1682,6 @@ static const struct tcp_sock_af_ops tcp_sock_ipv6_specific = {
|
|||||||
/*
|
/*
|
||||||
* TCP over IPv4 via INET6 API
|
* TCP over IPv4 via INET6 API
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static const struct inet_connection_sock_af_ops ipv6_mapped = {
|
static const struct inet_connection_sock_af_ops ipv6_mapped = {
|
||||||
.queue_xmit = ip_queue_xmit,
|
.queue_xmit = ip_queue_xmit,
|
||||||
.send_check = tcp_v4_send_check,
|
.send_check = tcp_v4_send_check,
|
||||||
|
Reference in New Issue
Block a user