aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/udplite.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/udplite.c')
-rw-r--r--net/ipv6/udplite.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/net/ipv6/udplite.c b/net/ipv6/udplite.c
index 87d4202522ee..706c5c375a01 100644
--- a/net/ipv6/udplite.c
+++ b/net/ipv6/udplite.c
@@ -35,11 +35,6 @@ static struct inet6_protocol udplitev6_protocol = {
35 .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL, 35 .flags = INET6_PROTO_NOPOLICY|INET6_PROTO_FINAL,
36}; 36};
37 37
38static int udplite_v6_get_port(struct sock *sk, unsigned short snum)
39{
40 return udplite_get_port(sk, snum, ipv6_rcv_saddr_equal);
41}
42
43DEFINE_PROTO_INUSE(udplitev6) 38DEFINE_PROTO_INUSE(udplitev6)
44 39
45struct proto udplitev6_prot = { 40struct proto udplitev6_prot = {
@@ -58,8 +53,9 @@ struct proto udplitev6_prot = {
58 .backlog_rcv = udpv6_queue_rcv_skb, 53 .backlog_rcv = udpv6_queue_rcv_skb,
59 .hash = udp_lib_hash, 54 .hash = udp_lib_hash,
60 .unhash = udp_lib_unhash, 55 .unhash = udp_lib_unhash,
61 .get_port = udplite_v6_get_port, 56 .get_port = udp_v6_get_port,
62 .obj_size = sizeof(struct udp6_sock), 57 .obj_size = sizeof(struct udp6_sock),
58 .h.udp_hash = udplite_hash,
63#ifdef CONFIG_COMPAT 59#ifdef CONFIG_COMPAT
64 .compat_setsockopt = compat_udpv6_setsockopt, 60 .compat_setsockopt = compat_udpv6_setsockopt,
65 .compat_getsockopt = compat_udpv6_getsockopt, 61 .compat_getsockopt = compat_udpv6_getsockopt,
@@ -113,13 +109,28 @@ static struct udp_seq_afinfo udplite6_seq_afinfo = {
113 .seq_fops = &udplite6_seq_fops, 109 .seq_fops = &udplite6_seq_fops,
114}; 110};
115 111
112static int udplite6_proc_init_net(struct net *net)
113{
114 return udp_proc_register(net, &udplite6_seq_afinfo);
115}
116
117static void udplite6_proc_exit_net(struct net *net)
118{
119 udp_proc_unregister(net, &udplite6_seq_afinfo);
120}
121
122static struct pernet_operations udplite6_net_ops = {
123 .init = udplite6_proc_init_net,
124 .exit = udplite6_proc_exit_net,
125};
126
116int __init udplite6_proc_init(void) 127int __init udplite6_proc_init(void)
117{ 128{
118 return udp_proc_register(&udplite6_seq_afinfo); 129 return register_pernet_subsys(&udplite6_net_ops);
119} 130}
120 131
121void udplite6_proc_exit(void) 132void udplite6_proc_exit(void)
122{ 133{
123 udp_proc_unregister(&udplite6_seq_afinfo); 134 unregister_pernet_subsys(&udplite6_net_ops);
124} 135}
125#endif 136#endif