udplite.c (163849ea9b4c5d50fbd324692461983d18faadad) udplite.c (2c8c1e7297e19bdef3c178c3ea41d898a7716e3e)
1/*
2 * UDPLITEv6 An implementation of the UDP-Lite protocol over IPv6.
3 * See also net/ipv4/udplite.c
4 *
5 * Authors: Gerrit Renker <gerrit@erg.abdn.ac.uk>
6 *
7 * Changes:
8 * Fixes:

--- 90 unchanged lines hidden (view full) ---

99 .seq_fops = {
100 .owner = THIS_MODULE,
101 },
102 .seq_ops = {
103 .show = udp6_seq_show,
104 },
105};
106
1/*
2 * UDPLITEv6 An implementation of the UDP-Lite protocol over IPv6.
3 * See also net/ipv4/udplite.c
4 *
5 * Authors: Gerrit Renker <gerrit@erg.abdn.ac.uk>
6 *
7 * Changes:
8 * Fixes:

--- 90 unchanged lines hidden (view full) ---

99 .seq_fops = {
100 .owner = THIS_MODULE,
101 },
102 .seq_ops = {
103 .show = udp6_seq_show,
104 },
105};
106
107static int udplite6_proc_init_net(struct net *net)
107static int __net_init udplite6_proc_init_net(struct net *net)
108{
109 return udp_proc_register(net, &udplite6_seq_afinfo);
110}
111
108{
109 return udp_proc_register(net, &udplite6_seq_afinfo);
110}
111
112static void udplite6_proc_exit_net(struct net *net)
112static void __net_exit udplite6_proc_exit_net(struct net *net)
113{
114 udp_proc_unregister(net, &udplite6_seq_afinfo);
115}
116
117static struct pernet_operations udplite6_net_ops = {
118 .init = udplite6_proc_init_net,
119 .exit = udplite6_proc_exit_net,
120};
121
122int __init udplite6_proc_init(void)
123{
124 return register_pernet_subsys(&udplite6_net_ops);
125}
126
127void udplite6_proc_exit(void)
128{
129 unregister_pernet_subsys(&udplite6_net_ops);
130}
131#endif
113{
114 udp_proc_unregister(net, &udplite6_seq_afinfo);
115}
116
117static struct pernet_operations udplite6_net_ops = {
118 .init = udplite6_proc_init_net,
119 .exit = udplite6_proc_exit_net,
120};
121
122int __init udplite6_proc_init(void)
123{
124 return register_pernet_subsys(&udplite6_net_ops);
125}
126
127void udplite6_proc_exit(void)
128{
129 unregister_pernet_subsys(&udplite6_net_ops);
130}
131#endif