proto.c (60fe62e789076ae7c13f7ffb35fec4b24802530d) | proto.c (e55d912f5b75723159348a7fc7692f869a86636a) |
---|---|
1/* 2 * net/dccp/proto.c 3 * 4 * An implementation of the DCCP protocol 5 * Arnaldo Carvalho de Melo <acme@conectiva.com.br> 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 as --- 920 unchanged lines hidden (view full) --- 929 goto out_free_dccp_v4_mibs; 930 931 inet_register_protosw(&dccp_v4_protosw); 932 933 rc = dccp_ackvec_init(); 934 if (rc) 935 goto out_unregister_protosw; 936 | 1/* 2 * net/dccp/proto.c 3 * 4 * An implementation of the DCCP protocol 5 * Arnaldo Carvalho de Melo <acme@conectiva.com.br> 6 * 7 * This program is free software; you can redistribute it and/or modify it 8 * under the terms of the GNU General Public License version 2 as --- 920 unchanged lines hidden (view full) --- 929 goto out_free_dccp_v4_mibs; 930 931 inet_register_protosw(&dccp_v4_protosw); 932 933 rc = dccp_ackvec_init(); 934 if (rc) 935 goto out_unregister_protosw; 936 |
937 rc = dccp_ctl_sock_init(); | 937 rc = dccp_sysctl_init(); |
938 if (rc) 939 goto out_ackvec_exit; | 938 if (rc) 939 goto out_ackvec_exit; |
940 941 rc = dccp_ctl_sock_init(); 942 if (rc) 943 goto out_sysctl_exit; |
|
940out: 941 return rc; | 944out: 945 return rc; |
946out_sysctl_exit: 947 dccp_sysctl_exit(); |
|
942out_ackvec_exit: 943 dccp_ackvec_exit(); 944out_unregister_protosw: 945 inet_unregister_protosw(&dccp_v4_protosw); 946 inet_del_protocol(&dccp_protocol, IPPROTO_DCCP); 947out_free_dccp_v4_mibs: 948 free_percpu(dccp_statistics[0]); 949 free_percpu(dccp_statistics[1]); --- 28 unchanged lines hidden (view full) --- 978 get_order(dccp_hashinfo.bhash_size * 979 sizeof(struct inet_bind_hashbucket))); 980 free_pages((unsigned long)dccp_hashinfo.ehash, 981 get_order(dccp_hashinfo.ehash_size * 982 sizeof(struct inet_ehash_bucket))); 983 kmem_cache_destroy(dccp_hashinfo.bind_bucket_cachep); 984 proto_unregister(&dccp_prot); 985 dccp_ackvec_exit(); | 948out_ackvec_exit: 949 dccp_ackvec_exit(); 950out_unregister_protosw: 951 inet_unregister_protosw(&dccp_v4_protosw); 952 inet_del_protocol(&dccp_protocol, IPPROTO_DCCP); 953out_free_dccp_v4_mibs: 954 free_percpu(dccp_statistics[0]); 955 free_percpu(dccp_statistics[1]); --- 28 unchanged lines hidden (view full) --- 984 get_order(dccp_hashinfo.bhash_size * 985 sizeof(struct inet_bind_hashbucket))); 986 free_pages((unsigned long)dccp_hashinfo.ehash, 987 get_order(dccp_hashinfo.ehash_size * 988 sizeof(struct inet_ehash_bucket))); 989 kmem_cache_destroy(dccp_hashinfo.bind_bucket_cachep); 990 proto_unregister(&dccp_prot); 991 dccp_ackvec_exit(); |
992 dccp_sysctl_exit(); |
|
986} 987 988module_init(dccp_init); 989module_exit(dccp_fini); 990 991/* 992 * __stringify doesn't likes enums, so use SOCK_DCCP (6) and IPPROTO_DCCP (33) 993 * values directly, Also cover the case where the protocol is not specified, 994 * i.e. net-pf-PF_INET-proto-0-type-SOCK_DCCP 995 */ 996MODULE_ALIAS("net-pf-" __stringify(PF_INET) "-proto-33-type-6"); 997MODULE_ALIAS("net-pf-" __stringify(PF_INET) "-proto-0-type-6"); 998MODULE_LICENSE("GPL"); 999MODULE_AUTHOR("Arnaldo Carvalho de Melo <acme@conectiva.com.br>"); 1000MODULE_DESCRIPTION("DCCP - Datagram Congestion Controlled Protocol"); | 993} 994 995module_init(dccp_init); 996module_exit(dccp_fini); 997 998/* 999 * __stringify doesn't likes enums, so use SOCK_DCCP (6) and IPPROTO_DCCP (33) 1000 * values directly, Also cover the case where the protocol is not specified, 1001 * i.e. net-pf-PF_INET-proto-0-type-SOCK_DCCP 1002 */ 1003MODULE_ALIAS("net-pf-" __stringify(PF_INET) "-proto-33-type-6"); 1004MODULE_ALIAS("net-pf-" __stringify(PF_INET) "-proto-0-type-6"); 1005MODULE_LICENSE("GPL"); 1006MODULE_AUTHOR("Arnaldo Carvalho de Melo <acme@conectiva.com.br>"); 1007MODULE_DESCRIPTION("DCCP - Datagram Congestion Controlled Protocol"); |