mirror of https://gitee.com/openkylin/linux.git
net: ping: make ping_v6_sendmsg static
As ping_v6_sendmsg is used only in this file, making it static The body of "pingv6_prot" and "pingv6_protosw" were moved at the middle of the file, to avoid having to declare some static prototypes. Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3f735131d9
commit
6579a023a8
|
@ -79,7 +79,6 @@ int ping_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int noblock,
|
|||
int flags, int *addr_len);
|
||||
int ping_common_sendmsg(int family, struct msghdr *msg, size_t len,
|
||||
void *user_icmph, size_t icmph_len);
|
||||
int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len);
|
||||
int ping_queue_rcv_skb(struct sock *sk, struct sk_buff *skb);
|
||||
bool ping_rcv(struct sk_buff *skb);
|
||||
|
||||
|
|
|
@ -26,35 +26,6 @@
|
|||
#include <net/transp_v6.h>
|
||||
#include <net/ping.h>
|
||||
|
||||
struct proto pingv6_prot = {
|
||||
.name = "PINGv6",
|
||||
.owner = THIS_MODULE,
|
||||
.init = ping_init_sock,
|
||||
.close = ping_close,
|
||||
.connect = ip6_datagram_connect_v6_only,
|
||||
.disconnect = udp_disconnect,
|
||||
.setsockopt = ipv6_setsockopt,
|
||||
.getsockopt = ipv6_getsockopt,
|
||||
.sendmsg = ping_v6_sendmsg,
|
||||
.recvmsg = ping_recvmsg,
|
||||
.bind = ping_bind,
|
||||
.backlog_rcv = ping_queue_rcv_skb,
|
||||
.hash = ping_hash,
|
||||
.unhash = ping_unhash,
|
||||
.get_port = ping_get_port,
|
||||
.obj_size = sizeof(struct raw6_sock),
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(pingv6_prot);
|
||||
|
||||
static struct inet_protosw pingv6_protosw = {
|
||||
.type = SOCK_DGRAM,
|
||||
.protocol = IPPROTO_ICMPV6,
|
||||
.prot = &pingv6_prot,
|
||||
.ops = &inet6_dgram_ops,
|
||||
.flags = INET_PROTOSW_REUSE,
|
||||
};
|
||||
|
||||
|
||||
/* Compatibility glue so we can support IPv6 when it's compiled as a module */
|
||||
static int dummy_ipv6_recv_error(struct sock *sk, struct msghdr *msg, int len,
|
||||
int *addr_len)
|
||||
|
@ -77,7 +48,7 @@ static int dummy_ipv6_chk_addr(struct net *net, const struct in6_addr *addr,
|
|||
return 0;
|
||||
}
|
||||
|
||||
int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
|
||||
static int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
|
||||
{
|
||||
struct inet_sock *inet = inet_sk(sk);
|
||||
struct ipv6_pinfo *np = inet6_sk(sk);
|
||||
|
@ -192,6 +163,34 @@ int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
|
|||
return len;
|
||||
}
|
||||
|
||||
struct proto pingv6_prot = {
|
||||
.name = "PINGv6",
|
||||
.owner = THIS_MODULE,
|
||||
.init = ping_init_sock,
|
||||
.close = ping_close,
|
||||
.connect = ip6_datagram_connect_v6_only,
|
||||
.disconnect = udp_disconnect,
|
||||
.setsockopt = ipv6_setsockopt,
|
||||
.getsockopt = ipv6_getsockopt,
|
||||
.sendmsg = ping_v6_sendmsg,
|
||||
.recvmsg = ping_recvmsg,
|
||||
.bind = ping_bind,
|
||||
.backlog_rcv = ping_queue_rcv_skb,
|
||||
.hash = ping_hash,
|
||||
.unhash = ping_unhash,
|
||||
.get_port = ping_get_port,
|
||||
.obj_size = sizeof(struct raw6_sock),
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(pingv6_prot);
|
||||
|
||||
static struct inet_protosw pingv6_protosw = {
|
||||
.type = SOCK_DGRAM,
|
||||
.protocol = IPPROTO_ICMPV6,
|
||||
.prot = &pingv6_prot,
|
||||
.ops = &inet6_dgram_ops,
|
||||
.flags = INET_PROTOSW_REUSE,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
static void *ping_v6_seq_start(struct seq_file *seq, loff_t *pos)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue