Lines Matching refs:net
100 static int inet6_create(struct net *net, struct socket *sock, int protocol, in inet6_create() argument
162 !ns_capable(net->user_ns, CAP_NET_RAW)) in inet6_create()
173 sk = sk_alloc(net, PF_INET6, GFP_KERNEL, answer_prot); in inet6_create()
203 sk->sk_ipv6only = net->ipv6.sysctl.bindv6only; in inet6_create()
216 if (net->ipv4.sysctl_ip_no_pmtu_disc) in inet6_create()
261 struct net *net = sock_net(sk); in inet6_bind() local
282 if (snum && snum < PROT_SOCK && !ns_capable(net->user_ns, CAP_NET_BIND_SERVICE)) in inet6_bind()
307 chk_addr_ret = inet_addr_type(net, v4addr); in inet6_bind()
308 if (!net->ipv4.sysctl_ip_nonlocal_bind && in inet6_bind()
336 dev = dev_get_by_index_rcu(net, sk->sk_bound_dev_if); in inet6_bind()
349 !ipv6_chk_addr(net, &addr->sin6_addr, in inet6_bind()
482 struct net *net = sock_net(sk); in inet6_ioctl() local
494 return ipv6_route_ioctl(net, cmd, (void __user *)arg); in inet6_ioctl()
497 return addrconf_add_ifaddr(net, (void __user *) arg); in inet6_ioctl()
499 return addrconf_del_ifaddr(net, (void __user *) arg); in inet6_ioctl()
501 return addrconf_set_dstaddr(net, (void __user *) arg); in inet6_ioctl()
719 static int __net_init ipv6_init_mibs(struct net *net) in ipv6_init_mibs() argument
723 net->mib.udp_stats_in6 = alloc_percpu(struct udp_mib); in ipv6_init_mibs()
724 if (!net->mib.udp_stats_in6) in ipv6_init_mibs()
726 net->mib.udplite_stats_in6 = alloc_percpu(struct udp_mib); in ipv6_init_mibs()
727 if (!net->mib.udplite_stats_in6) in ipv6_init_mibs()
729 net->mib.ipv6_statistics = alloc_percpu(struct ipstats_mib); in ipv6_init_mibs()
730 if (!net->mib.ipv6_statistics) in ipv6_init_mibs()
735 af_inet6_stats = per_cpu_ptr(net->mib.ipv6_statistics, i); in ipv6_init_mibs()
740 net->mib.icmpv6_statistics = alloc_percpu(struct icmpv6_mib); in ipv6_init_mibs()
741 if (!net->mib.icmpv6_statistics) in ipv6_init_mibs()
743 net->mib.icmpv6msg_statistics = kzalloc(sizeof(struct icmpv6msg_mib), in ipv6_init_mibs()
745 if (!net->mib.icmpv6msg_statistics) in ipv6_init_mibs()
750 free_percpu(net->mib.icmpv6_statistics); in ipv6_init_mibs()
752 free_percpu(net->mib.ipv6_statistics); in ipv6_init_mibs()
754 free_percpu(net->mib.udplite_stats_in6); in ipv6_init_mibs()
756 free_percpu(net->mib.udp_stats_in6); in ipv6_init_mibs()
760 static void ipv6_cleanup_mibs(struct net *net) in ipv6_cleanup_mibs() argument
762 free_percpu(net->mib.udp_stats_in6); in ipv6_cleanup_mibs()
763 free_percpu(net->mib.udplite_stats_in6); in ipv6_cleanup_mibs()
764 free_percpu(net->mib.ipv6_statistics); in ipv6_cleanup_mibs()
765 free_percpu(net->mib.icmpv6_statistics); in ipv6_cleanup_mibs()
766 kfree(net->mib.icmpv6msg_statistics); in ipv6_cleanup_mibs()
769 static int __net_init inet6_net_init(struct net *net) in inet6_net_init() argument
773 net->ipv6.sysctl.bindv6only = 0; in inet6_net_init()
774 net->ipv6.sysctl.icmpv6_time = 1*HZ; in inet6_net_init()
775 net->ipv6.sysctl.flowlabel_consistency = 1; in inet6_net_init()
776 net->ipv6.sysctl.auto_flowlabels = 0; in inet6_net_init()
777 net->ipv6.sysctl.idgen_retries = 3; in inet6_net_init()
778 net->ipv6.sysctl.idgen_delay = 1 * HZ; in inet6_net_init()
779 atomic_set(&net->ipv6.fib6_sernum, 1); in inet6_net_init()
781 err = ipv6_init_mibs(net); in inet6_net_init()
785 err = udp6_proc_init(net); in inet6_net_init()
788 err = tcp6_proc_init(net); in inet6_net_init()
791 err = ac6_proc_init(net); in inet6_net_init()
799 tcp6_proc_exit(net); in inet6_net_init()
801 udp6_proc_exit(net); in inet6_net_init()
803 ipv6_cleanup_mibs(net); in inet6_net_init()
808 static void __net_exit inet6_net_exit(struct net *net) in inet6_net_exit() argument
811 udp6_proc_exit(net); in inet6_net_exit()
812 tcp6_proc_exit(net); in inet6_net_exit()
813 ac6_proc_exit(net); in inet6_net_exit()
815 ipv6_cleanup_mibs(net); in inet6_net_exit()