Lines Matching refs:ipv6

72 #include <net/ipv6.h>
339 idev->stats.ipv6 = alloc_percpu_gfp(struct ipstats_mib, GFP_KERNEL_ACCOUNT);
340 if (!idev->stats.ipv6)
345 addrconf_stats = per_cpu_ptr(idev->stats.ipv6, i);
364 free_percpu(idev->stats.ipv6);
387 memcpy(&ndev->cnf, dev_net(dev)->ipv6.devconf_dflt, sizeof(ndev->cnf));
670 devconf = net->ipv6.devconf_all;
673 devconf = net->ipv6.devconf_dflt;
713 u32 res = atomic_read(&net->ipv6.dev_addr_genid) +
784 net->ipv6.devconf_all,
795 net->ipv6.devconf_dflt,
887 if (p == &net->ipv6.devconf_dflt->forwarding) {
892 net->ipv6.devconf_dflt);
897 if (p == &net->ipv6.devconf_all->forwarding) {
898 int old_dflt = net->ipv6.devconf_dflt->forwarding;
900 net->ipv6.devconf_dflt->forwarding = newf;
905 net->ipv6.devconf_dflt);
912 net->ipv6.devconf_all);
955 if (p == &net->ipv6.devconf_dflt->ignore_routes_with_linkdown) {
961 net->ipv6.devconf_dflt);
966 if (p == &net->ipv6.devconf_all->ignore_routes_with_linkdown) {
967 net->ipv6.devconf_dflt->ignore_routes_with_linkdown = newf;
974 net->ipv6.devconf_all);
1038 hlist_for_each_entry(ifp, &net->ipv6.inet6_addr_lst[hash], addr_lst) {
1053 spin_lock_bh(&net->ipv6.addrconf_hash_lock);
1060 hlist_add_head_rcu(&ifa->addr_lst, &net->ipv6.inet6_addr_lst[hash]);
1063 spin_unlock_bh(&net->ipv6.addrconf_hash_lock);
1307 spin_lock_bh(&net->ipv6.addrconf_hash_lock);
1309 spin_unlock_bh(&net->ipv6.addrconf_hash_lock);
1519 if (!net->ipv6.devconf_all->optimistic_dad && !idev->cnf.optimistic_dad)
1521 if (!net->ipv6.devconf_all->use_optimistic && !idev->cnf.use_optimistic)
1536 if (!net->ipv6.devconf_all->optimistic_dad && !idev->cnf.optimistic_dad)
1952 hlist_for_each_entry_rcu(ifp, &net->ipv6.inet6_addr_lst[hash], addr_lst) {
2057 hlist_for_each_entry_rcu(ifp, &net->ipv6.inet6_addr_lst[hash], addr_lst) {
2149 if (retries > net->ipv6.sysctl.idgen_retries) {
2179 addrconf_mod_dad_work(ifp2, net->ipv6.sysctl.idgen_delay);
2638 if ((net->ipv6.devconf_all->optimistic_dad ||
2640 !net->ipv6.devconf_all->forwarding && sllao)
2983 int ret = ipv6_mc_config(net->ipv6.mc_autojoin_sk,
3038 ipv6_mc_config(net->ipv6.mc_autojoin_sk, false,
3084 ipv6_mc_config(net->ipv6.mc_autojoin_sk,
3261 if ((dev_net(idev->dev)->ipv6.devconf_all->optimistic_dad ||
3263 !dev_net(idev->dev)->ipv6.devconf_all->forwarding)
3319 else if (net->ipv6.devconf_dflt->stable_secret.initialized)
3320 secret = net->ipv6.devconf_dflt->stable_secret.secret;
3346 if (dad_count > dev_net(idev->dev)->ipv6.sysctl.idgen_retries)
3814 * Step 1: remove reference to ipv6 device from parent device.
3833 int _keep_addr = net->ipv6.devconf_all->keep_addr_on_down;
3843 struct hlist_head *h = &net->ipv6.inet6_addr_lst[i];
3845 spin_lock_bh(&net->ipv6.addrconf_hash_lock);
3861 spin_unlock_bh(&net->ipv6.addrconf_hash_lock);
4031 dev_net(idev->dev)->ipv6.devconf_all->enhanced_dad) {
4057 (net->ipv6.devconf_all->accept_dad < 1 &&
4150 if ((dev_net(idev->dev)->ipv6.devconf_all->accept_dad > 1 ||
4291 dev_net(dev)->ipv6.devconf_all->ndisc_notify)) {
4368 hlist_for_each_entry_rcu(ifa, &net->ipv6.inet6_addr_lst[state->bucket],
4399 &net->ipv6.inet6_addr_lst[state->bucket], addr_lst) {
4487 hlist_for_each_entry_rcu(ifp, &net->ipv6.inet6_addr_lst[hash], addr_lst) {
4525 hlist_for_each_entry_rcu(ifp, &net->ipv6.inet6_addr_lst[hash], addr_lst) {
4566 cancel_delayed_work(&net->ipv6.addr_chk_work);
4570 hlist_for_each_entry_rcu_bh(ifp, &net->ipv6.inet6_addr_lst[i], addr_lst) {
4673 mod_delayed_work(addrconf_wq, &net->ipv6.addr_chk_work, next_sched - now);
4680 ipv6.addr_chk_work);
4689 mod_delayed_work(addrconf_wq, &net->ipv6.addr_chk_work, 0);
5725 __snmp6_fill_stats64(stats, idev->stats.ipv6, bytes,
5918 !net->ipv6.devconf_dflt->stable_secret.initialized)
6250 atomic_inc(&net->ipv6.dev_addr_genid);
6342 if (p == &net->ipv6.devconf_dflt->disable_ipv6) {
6347 if (p == &net->ipv6.devconf_all->disable_ipv6) {
6348 net->ipv6.devconf_dflt->disable_ipv6 = newf;
6399 if (valp == &net->ipv6.devconf_dflt->proxy_ndp)
6403 net->ipv6.devconf_dflt);
6404 else if (valp == &net->ipv6.devconf_all->proxy_ndp)
6408 net->ipv6.devconf_all);
6462 } else if (&net->ipv6.devconf_all->addr_gen_mode == ctl->data) {
6465 net->ipv6.devconf_dflt->addr_gen_mode = new_val;
6496 if (&net->ipv6.devconf_all->stable_secret == ctl->data)
6528 if (&net->ipv6.devconf_dflt->stable_secret == ctl->data) {
6631 if (valp == &net->ipv6.devconf_dflt->disable_policy) {
6636 if (valp == &net->ipv6.devconf_all->disable_policy) {
7130 char path[sizeof("net/ipv6/conf/") + IFNAMSIZ];
7148 snprintf(path, sizeof(path), "net/ipv6/conf/%s", dev_name);
7221 spin_lock_init(&net->ipv6.addrconf_hash_lock);
7222 INIT_DEFERRABLE_WORK(&net->ipv6.addr_chk_work, addrconf_verify_work);
7223 net->ipv6.inet6_addr_lst = kcalloc(IN6_ADDR_HSIZE,
7226 if (!net->ipv6.inet6_addr_lst)
7240 memcpy(all, init_net.ipv6.devconf_all,
7242 memcpy(dflt, init_net.ipv6.devconf_dflt,
7246 memcpy(all, current->nsproxy->net_ns->ipv6.devconf_all,
7249 current->nsproxy->net_ns->ipv6.devconf_dflt,
7266 net->ipv6.devconf_all = all;
7267 net->ipv6.devconf_dflt = dflt;
7285 net->ipv6.devconf_dflt = NULL;
7289 net->ipv6.devconf_all = NULL;
7291 kfree(net->ipv6.inet6_addr_lst);
7301 __addrconf_sysctl_unregister(net, net->ipv6.devconf_dflt,
7303 __addrconf_sysctl_unregister(net, net->ipv6.devconf_all,
7306 kfree(net->ipv6.devconf_dflt);
7307 net->ipv6.devconf_dflt = NULL;
7308 kfree(net->ipv6.devconf_all);
7309 net->ipv6.devconf_all = NULL;
7311 cancel_delayed_work_sync(&net->ipv6.addr_chk_work);
7316 WARN_ON_ONCE(!hlist_empty(&net->ipv6.inet6_addr_lst[i]));
7318 kfree(net->ipv6.inet6_addr_lst);
7319 net->ipv6.inet6_addr_lst = NULL;