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 |