• Home
  • Raw
  • Download

Lines Matching refs:net

82 static int __net_init sctp_proc_init(struct net *net)  in sctp_proc_init()  argument
85 net->sctp.proc_net_sctp = proc_net_mkdir(net, "sctp", net->proc_net); in sctp_proc_init()
86 if (!net->sctp.proc_net_sctp) in sctp_proc_init()
88 if (sctp_snmp_proc_init(net)) in sctp_proc_init()
90 if (sctp_eps_proc_init(net)) in sctp_proc_init()
92 if (sctp_assocs_proc_init(net)) in sctp_proc_init()
94 if (sctp_remaddr_proc_init(net)) in sctp_proc_init()
100 sctp_assocs_proc_exit(net); in sctp_proc_init()
102 sctp_eps_proc_exit(net); in sctp_proc_init()
104 sctp_snmp_proc_exit(net); in sctp_proc_init()
106 remove_proc_entry("sctp", net->proc_net); in sctp_proc_init()
107 net->sctp.proc_net_sctp = NULL; in sctp_proc_init()
118 static void sctp_proc_exit(struct net *net) in sctp_proc_exit() argument
121 sctp_snmp_proc_exit(net); in sctp_proc_exit()
122 sctp_eps_proc_exit(net); in sctp_proc_exit()
123 sctp_assocs_proc_exit(net); in sctp_proc_exit()
124 sctp_remaddr_proc_exit(net); in sctp_proc_exit()
126 remove_proc_entry("sctp", net->proc_net); in sctp_proc_exit()
127 net->sctp.proc_net_sctp = NULL; in sctp_proc_exit()
166 static void sctp_get_local_addr_list(struct net *net) in sctp_get_local_addr_list() argument
173 for_each_netdev_rcu(net, dev) { in sctp_get_local_addr_list()
176 af->copy_addrlist(&net->sctp.local_addr_list, dev); in sctp_get_local_addr_list()
183 static void sctp_free_local_addr_list(struct net *net) in sctp_free_local_addr_list() argument
188 list_for_each_safe(pos, temp, &net->sctp.local_addr_list) { in sctp_free_local_addr_list()
196 int sctp_copy_local_addr_list(struct net *net, struct sctp_bind_addr *bp, in sctp_copy_local_addr_list() argument
203 list_for_each_entry_rcu(addr, &net->sctp.local_addr_list, list) { in sctp_copy_local_addr_list()
206 if (sctp_in_scope(net, &addr->a, scope)) { in sctp_copy_local_addr_list()
362 struct net *net = sock_net(&sp->inet.sk); in sctp_v4_available() local
363 int ret = inet_addr_type(net, addr->v4.sin_addr.s_addr); in sctp_v4_available()
369 !net->ipv4.sysctl_ip_nonlocal_bind) in sctp_v4_available()
598 struct net *net = (struct net *)arg; in sctp_addr_wq_timeout_handler() local
602 spin_lock_bh(&net->sctp.addr_wq_lock); in sctp_addr_wq_timeout_handler()
604 list_for_each_entry_safe(addrw, temp, &net->sctp.addr_waitq, list) { in sctp_addr_wq_timeout_handler()
606 "entry:%p\n", __func__, &net->sctp.addr_waitq, &addrw->a.sa, in sctp_addr_wq_timeout_handler()
620 if (ipv6_chk_addr(net, in6, NULL, 0) == 0 && in sctp_addr_wq_timeout_handler()
630 mod_timer(&net->sctp.addr_wq_timer, timeo_val); in sctp_addr_wq_timeout_handler()
635 list_for_each_entry(sp, &net->sctp.auto_asconf_splist, auto_asconf_list) { in sctp_addr_wq_timeout_handler()
653 spin_unlock_bh(&net->sctp.addr_wq_lock); in sctp_addr_wq_timeout_handler()
656 static void sctp_free_addr_wq(struct net *net) in sctp_free_addr_wq() argument
661 spin_lock_bh(&net->sctp.addr_wq_lock); in sctp_free_addr_wq()
662 del_timer(&net->sctp.addr_wq_timer); in sctp_free_addr_wq()
663 list_for_each_entry_safe(addrw, temp, &net->sctp.addr_waitq, list) { in sctp_free_addr_wq()
667 spin_unlock_bh(&net->sctp.addr_wq_lock); in sctp_free_addr_wq()
673 static struct sctp_sockaddr_entry *sctp_addr_wq_lookup(struct net *net, in sctp_addr_wq_lookup() argument
678 list_for_each_entry(addrw, &net->sctp.addr_waitq, list) { in sctp_addr_wq_lookup()
694 void sctp_addr_wq_mgmt(struct net *net, struct sctp_sockaddr_entry *addr, int cmd) in sctp_addr_wq_mgmt() argument
705 spin_lock_bh(&net->sctp.addr_wq_lock); in sctp_addr_wq_mgmt()
707 addrw = sctp_addr_wq_lookup(net, addr); in sctp_addr_wq_mgmt()
712 &net->sctp.addr_waitq); in sctp_addr_wq_mgmt()
717 spin_unlock_bh(&net->sctp.addr_wq_lock); in sctp_addr_wq_mgmt()
724 spin_unlock_bh(&net->sctp.addr_wq_lock); in sctp_addr_wq_mgmt()
728 list_add_tail(&addrw->list, &net->sctp.addr_waitq); in sctp_addr_wq_mgmt()
731 __func__, addrw->state, &addrw->a.sa, &net->sctp.addr_waitq); in sctp_addr_wq_mgmt()
733 if (!timer_pending(&net->sctp.addr_wq_timer)) { in sctp_addr_wq_mgmt()
736 mod_timer(&net->sctp.addr_wq_timer, timeo_val); in sctp_addr_wq_mgmt()
738 spin_unlock_bh(&net->sctp.addr_wq_lock); in sctp_addr_wq_mgmt()
753 struct net *net = dev_net(ifa->ifa_dev->dev); in sctp_inetaddr_event() local
764 spin_lock_bh(&net->sctp.local_addr_lock); in sctp_inetaddr_event()
765 list_add_tail_rcu(&addr->list, &net->sctp.local_addr_list); in sctp_inetaddr_event()
766 sctp_addr_wq_mgmt(net, addr, SCTP_ADDR_NEW); in sctp_inetaddr_event()
767 spin_unlock_bh(&net->sctp.local_addr_lock); in sctp_inetaddr_event()
771 spin_lock_bh(&net->sctp.local_addr_lock); in sctp_inetaddr_event()
773 &net->sctp.local_addr_list, list) { in sctp_inetaddr_event()
777 sctp_addr_wq_mgmt(net, addr, SCTP_ADDR_DEL); in sctp_inetaddr_event()
784 spin_unlock_bh(&net->sctp.local_addr_lock); in sctp_inetaddr_event()
797 static int sctp_ctl_sock_init(struct net *net) in sctp_ctl_sock_init() argument
805 err = inet_ctl_sock_create(&net->sctp.ctl_sock, family, in sctp_ctl_sock_init()
806 SOCK_SEQPACKET, IPPROTO_SCTP, net); in sctp_ctl_sock_init()
810 err = inet_ctl_sock_create(&net->sctp.ctl_sock, AF_INET, in sctp_ctl_sock_init()
812 net); in sctp_ctl_sock_init()
1104 static inline int init_sctp_mibs(struct net *net) in init_sctp_mibs() argument
1106 net->sctp.sctp_statistics = alloc_percpu(struct sctp_mib); in init_sctp_mibs()
1107 if (!net->sctp.sctp_statistics) in init_sctp_mibs()
1112 static inline void cleanup_sctp_mibs(struct net *net) in cleanup_sctp_mibs() argument
1114 free_percpu(net->sctp.sctp_statistics); in cleanup_sctp_mibs()
1169 static int __net_init sctp_defaults_init(struct net *net) in sctp_defaults_init() argument
1178 net->sctp.rto_initial = SCTP_RTO_INITIAL; in sctp_defaults_init()
1180 net->sctp.rto_min = SCTP_RTO_MIN; in sctp_defaults_init()
1182 net->sctp.rto_max = SCTP_RTO_MAX; in sctp_defaults_init()
1184 net->sctp.rto_alpha = SCTP_RTO_ALPHA; in sctp_defaults_init()
1186 net->sctp.rto_beta = SCTP_RTO_BETA; in sctp_defaults_init()
1189 net->sctp.valid_cookie_life = SCTP_DEFAULT_COOKIE_LIFE; in sctp_defaults_init()
1192 net->sctp.cookie_preserve_enable = 1; in sctp_defaults_init()
1196 net->sctp.sctp_hmac_alg = "md5"; in sctp_defaults_init()
1198 net->sctp.sctp_hmac_alg = "sha1"; in sctp_defaults_init()
1200 net->sctp.sctp_hmac_alg = NULL; in sctp_defaults_init()
1204 net->sctp.max_burst = SCTP_DEFAULT_MAX_BURST; in sctp_defaults_init()
1210 net->sctp.max_retrans_association = 10; in sctp_defaults_init()
1211 net->sctp.max_retrans_path = 5; in sctp_defaults_init()
1212 net->sctp.max_retrans_init = 8; in sctp_defaults_init()
1215 net->sctp.sndbuf_policy = 0; in sctp_defaults_init()
1218 net->sctp.rcvbuf_policy = 0; in sctp_defaults_init()
1221 net->sctp.hb_interval = SCTP_DEFAULT_TIMEOUT_HEARTBEAT; in sctp_defaults_init()
1224 net->sctp.sack_timeout = SCTP_DEFAULT_TIMEOUT_SACK; in sctp_defaults_init()
1227 net->sctp.addip_enable = 0; in sctp_defaults_init()
1228 net->sctp.addip_noauth = 0; in sctp_defaults_init()
1229 net->sctp.default_auto_asconf = 0; in sctp_defaults_init()
1232 net->sctp.prsctp_enable = 1; in sctp_defaults_init()
1235 net->sctp.auth_enable = 0; in sctp_defaults_init()
1238 net->sctp.scope_policy = SCTP_SCOPE_POLICY_ENABLE; in sctp_defaults_init()
1241 net->sctp.rwnd_upd_shift = SCTP_DEFAULT_RWND_SHIFT; in sctp_defaults_init()
1244 net->sctp.max_autoclose = INT_MAX / HZ; in sctp_defaults_init()
1246 status = sctp_sysctl_net_register(net); in sctp_defaults_init()
1251 status = init_sctp_mibs(net); in sctp_defaults_init()
1256 status = sctp_proc_init(net); in sctp_defaults_init()
1260 sctp_dbg_objcnt_init(net); in sctp_defaults_init()
1263 INIT_LIST_HEAD(&net->sctp.local_addr_list); in sctp_defaults_init()
1264 spin_lock_init(&net->sctp.local_addr_lock); in sctp_defaults_init()
1265 sctp_get_local_addr_list(net); in sctp_defaults_init()
1268 INIT_LIST_HEAD(&net->sctp.addr_waitq); in sctp_defaults_init()
1269 INIT_LIST_HEAD(&net->sctp.auto_asconf_splist); in sctp_defaults_init()
1270 spin_lock_init(&net->sctp.addr_wq_lock); in sctp_defaults_init()
1271 net->sctp.addr_wq_timer.expires = 0; in sctp_defaults_init()
1272 setup_timer(&net->sctp.addr_wq_timer, sctp_addr_wq_timeout_handler, in sctp_defaults_init()
1273 (unsigned long)net); in sctp_defaults_init()
1278 cleanup_sctp_mibs(net); in sctp_defaults_init()
1280 sctp_sysctl_net_unregister(net); in sctp_defaults_init()
1285 static void __net_exit sctp_defaults_exit(struct net *net) in sctp_defaults_exit() argument
1288 sctp_free_addr_wq(net); in sctp_defaults_exit()
1289 sctp_free_local_addr_list(net); in sctp_defaults_exit()
1291 sctp_dbg_objcnt_exit(net); in sctp_defaults_exit()
1293 sctp_proc_exit(net); in sctp_defaults_exit()
1294 cleanup_sctp_mibs(net); in sctp_defaults_exit()
1295 sctp_sysctl_net_unregister(net); in sctp_defaults_exit()
1303 static int __net_init sctp_ctrlsock_init(struct net *net) in sctp_ctrlsock_init() argument
1308 status = sctp_ctl_sock_init(net); in sctp_ctrlsock_init()
1315 static void __net_init sctp_ctrlsock_exit(struct net *net) in sctp_ctrlsock_exit() argument
1318 inet_ctl_sock_destroy(net->sctp.ctl_sock); in sctp_ctrlsock_exit()