Lines Matching refs:cnf

395 	memcpy(&ndev->cnf, dev_net(dev)->ipv6.devconf_dflt, sizeof(ndev->cnf));  in ipv6_add_dev()
397 if (ndev->cnf.stable_secret.initialized) in ipv6_add_dev()
398 ndev->cnf.addr_gen_mode = IN6_ADDR_GEN_MODE_STABLE_PRIVACY; in ipv6_add_dev()
400 ndev->cnf.mtu6 = dev->mtu; in ipv6_add_dev()
407 if (ndev->cnf.forwarding) in ipv6_add_dev()
432 ndev->cnf.accept_dad = -1; in ipv6_add_dev()
437 ndev->cnf.rtr_solicits = 0; in ipv6_add_dev()
448 ndev->cnf.use_tempaddr = -1; in ipv6_add_dev()
477 if (ndev->cnf.forwarding && (dev->flags & IFF_MULTICAST)) in ipv6_add_dev()
692 devconf = &in6_dev->cnf; in inet6_netconf_get_devconf()
768 &idev->cnf, in inet6_netconf_dump_devconf()
814 if (idev->cnf.forwarding) in dev_forward_change()
817 if (idev->cnf.forwarding) { in dev_forward_change()
840 if (idev->cnf.forwarding) in dev_forward_change()
848 dev->ifindex, &idev->cnf); in dev_forward_change()
860 int changed = (!idev->cnf.forwarding) ^ (!newf); in addrconf_forward_change()
863 WRITE_ONCE(idev->cnf.force_forwarding, 0); in addrconf_forward_change()
865 WRITE_ONCE(idev->cnf.forwarding, newf); in addrconf_forward_change()
926 int changed = (!idev->cnf.ignore_routes_with_linkdown) ^ (!newf); in addrconf_linkdown_change()
928 WRITE_ONCE(idev->cnf.ignore_routes_with_linkdown, newf); in addrconf_linkdown_change()
934 &idev->cnf); in addrconf_linkdown_change()
1097 if (idev->cnf.disable_ipv6) { in ipv6_add_addr()
1353 return READ_ONCE(idev->cnf.regen_min_advance) + in ipv6_get_regen_advance()
1354 READ_ONCE(idev->cnf.regen_max_retry) * in ipv6_get_regen_advance()
1355 READ_ONCE(idev->cnf.dad_transmits) * in ipv6_get_regen_advance()
1377 if (READ_ONCE(idev->cnf.use_tempaddr) <= 0) { in ipv6_create_tempaddr()
1385 if (ifp->regen_count++ >= READ_ONCE(idev->cnf.regen_max_retry)) { in ipv6_create_tempaddr()
1386 WRITE_ONCE(idev->cnf.use_tempaddr, -1); /*XXX*/ in ipv6_create_tempaddr()
1406 cnf_temp_preferred_lft = READ_ONCE(idev->cnf.temp_prefered_lft); in ipv6_create_tempaddr()
1408 READ_ONCE(idev->cnf.max_desync_factor), in ipv6_create_tempaddr()
1425 READ_ONCE(idev->cnf.temp_valid_lft) + age); in ipv6_create_tempaddr()
1556 !READ_ONCE(idev->cnf.optimistic_dad)) in ipv6_use_optimistic_addr()
1559 !READ_ONCE(idev->cnf.use_optimistic)) in ipv6_use_optimistic_addr()
1575 !READ_ONCE(idev->cnf.optimistic_dad)) in ipv6_allow_optimistic_dad()
1681 READ_ONCE(score->ifa->idev->cnf.use_tempaddr) >= 2; in ipv6_get_saddr_eval()
1857 (idev && READ_ONCE(idev->cnf.use_oif_addrs_only))) { in ipv6_dev_get_saddr()
2204 max_addresses = READ_ONCE(idev->cnf.max_addresses); in addrconf_dad_failure()
2564 if (idev->cnf.disable_ipv6) in addrconf_add_dev()
2617 max_valid = READ_ONCE(idev->cnf.temp_valid_lft) - age; in manage_tempaddrs()
2621 max_prefered = READ_ONCE(idev->cnf.temp_prefered_lft) - in manage_tempaddrs()
2654 if (create && READ_ONCE(idev->cnf.use_tempaddr) > 0) { in manage_tempaddrs()
2667 return idev->cnf.addr_gen_mode == IN6_ADDR_GEN_MODE_STABLE_PRIVACY || in is_addr_mode_generate_stable()
2668 idev->cnf.addr_gen_mode == IN6_ADDR_GEN_MODE_RANDOM; in is_addr_mode_generate_stable()
2682 int max_addresses = READ_ONCE(in6_dev->cnf.max_addresses); in addrconf_prefix_rcv_add_addr()
2695 READ_ONCE(in6_dev->cnf.optimistic_dad)) && in addrconf_prefix_rcv_add_addr()
2744 if (update_lft && !READ_ONCE(in6_dev->cnf.ra_honor_pio_life)) { in addrconf_prefix_rcv_add_addr()
2818 if (valid_lft != 0 && valid_lft < in6_dev->cnf.accept_ra_min_lft) in addrconf_prefix_rcv()
2887 ignore_autoconf = READ_ONCE(in6_dev->cnf.ra_honor_pio_pflag) && pinfo->preferpd; in addrconf_prefix_rcv()
2888 if (pinfo->autoconf && in6_dev->cnf.autoconf && !ignore_autoconf) { in addrconf_prefix_rcv()
3230 if (idev->cnf.addr_gen_mode == IN6_ADDR_GEN_MODE_NONE) in add_v4_addrs()
3305 READ_ONCE(idev->cnf.optimistic_dad)) && in addrconf_add_linklocal()
3359 if (idev->cnf.stable_secret.initialized) in ipv6_generate_stable_address()
3360 secret = idev->cnf.stable_secret.secret; in ipv6_generate_stable_address()
3405 struct ipv6_stable_secret *s = &idev->cnf.stable_secret; in ipv6_gen_mode_random_init()
3409 s = &idev->cnf.stable_secret; in ipv6_gen_mode_random_init()
3428 switch (idev->cnf.addr_gen_mode) { in addrconf_addr_gen()
3489 idev->cnf.addr_gen_mode == IN6_ADDR_GEN_MODE_EUI64) in addrconf_dev_config()
3490 WRITE_ONCE(idev->cnf.addr_gen_mode, in addrconf_dev_config()
3544 idev->cnf.addr_gen_mode == IN6_ADDR_GEN_MODE_EUI64)) { in addrconf_gre_config()
3669 WRITE_ONCE(idev->cnf.mtu6, dev->mtu); in addrconf_notify()
3686 if (idev && idev->cnf.disable_ipv6) in addrconf_notify()
3758 if (idev->cnf.mtu6 != dev->mtu && in addrconf_notify()
3761 WRITE_ONCE(idev->cnf.mtu6, dev->mtu); in addrconf_notify()
3881 if (!unregister && !idev->cnf.disable_ipv6) { in addrconf_ifdown()
3886 _keep_addr = READ_ONCE(idev->cnf.keep_addr_on_down); in addrconf_ifdown()
3984 if (idev->cnf.forwarding) in addrconf_ifdown()
4036 rtr_solicits = READ_ONCE(idev->cnf.rtr_solicits); in addrconf_rs_timer()
4049 READ_ONCE(idev->cnf.rtr_solicit_max_interval)); in addrconf_rs_timer()
4052 READ_ONCE(idev->cnf.rtr_solicits)) ? in addrconf_rs_timer()
4053 READ_ONCE(idev->cnf.rtr_solicit_delay) : in addrconf_rs_timer()
4082 READ_ONCE(idev->cnf.rtr_solicit_delay) ? : 1); in addrconf_dad_kick()
4085 if (READ_ONCE(idev->cnf.enhanced_dad) || in addrconf_dad_kick()
4092 ifp->dad_probes = READ_ONCE(idev->cnf.dad_transmits); in addrconf_dad_kick()
4113 READ_ONCE(idev->cnf.accept_dad) < 1) || in addrconf_dad_begin()
4209 READ_ONCE(idev->cnf.accept_dad) > 1) && in addrconf_dad_work()
4210 !idev->cnf.disable_ipv6 && in addrconf_dad_work()
4220 WRITE_ONCE(idev->cnf.disable_ipv6, 1); in addrconf_dad_work()
4334 READ_ONCE(ifp->idev->cnf.rtr_solicits) != 0 && in addrconf_dad_completed()
4348 (READ_ONCE(ifp->idev->cnf.ndisc_notify) || in addrconf_dad_completed()
4351 /*router=*/ !!ifp->idev->cnf.forwarding, in addrconf_dad_completed()
4369 READ_ONCE(ifp->idev->cnf.rtr_solicit_interval)); in addrconf_dad_completed()
5631 static void ipv6_store_devconf(const struct ipv6_devconf *cnf, in ipv6_store_devconf() argument
5637 array[DEVCONF_FORWARDING] = READ_ONCE(cnf->forwarding); in ipv6_store_devconf()
5638 array[DEVCONF_HOPLIMIT] = READ_ONCE(cnf->hop_limit); in ipv6_store_devconf()
5639 array[DEVCONF_MTU6] = READ_ONCE(cnf->mtu6); in ipv6_store_devconf()
5640 array[DEVCONF_ACCEPT_RA] = READ_ONCE(cnf->accept_ra); in ipv6_store_devconf()
5641 array[DEVCONF_ACCEPT_REDIRECTS] = READ_ONCE(cnf->accept_redirects); in ipv6_store_devconf()
5642 array[DEVCONF_AUTOCONF] = READ_ONCE(cnf->autoconf); in ipv6_store_devconf()
5643 array[DEVCONF_DAD_TRANSMITS] = READ_ONCE(cnf->dad_transmits); in ipv6_store_devconf()
5644 array[DEVCONF_RTR_SOLICITS] = READ_ONCE(cnf->rtr_solicits); in ipv6_store_devconf()
5646 jiffies_to_msecs(READ_ONCE(cnf->rtr_solicit_interval)); in ipv6_store_devconf()
5648 jiffies_to_msecs(READ_ONCE(cnf->rtr_solicit_max_interval)); in ipv6_store_devconf()
5650 jiffies_to_msecs(READ_ONCE(cnf->rtr_solicit_delay)); in ipv6_store_devconf()
5651 array[DEVCONF_FORCE_MLD_VERSION] = READ_ONCE(cnf->force_mld_version); in ipv6_store_devconf()
5653 jiffies_to_msecs(READ_ONCE(cnf->mldv1_unsolicited_report_interval)); in ipv6_store_devconf()
5655 jiffies_to_msecs(READ_ONCE(cnf->mldv2_unsolicited_report_interval)); in ipv6_store_devconf()
5656 array[DEVCONF_USE_TEMPADDR] = READ_ONCE(cnf->use_tempaddr); in ipv6_store_devconf()
5657 array[DEVCONF_TEMP_VALID_LFT] = READ_ONCE(cnf->temp_valid_lft); in ipv6_store_devconf()
5658 array[DEVCONF_TEMP_PREFERED_LFT] = READ_ONCE(cnf->temp_prefered_lft); in ipv6_store_devconf()
5659 array[DEVCONF_REGEN_MAX_RETRY] = READ_ONCE(cnf->regen_max_retry); in ipv6_store_devconf()
5660 array[DEVCONF_MAX_DESYNC_FACTOR] = READ_ONCE(cnf->max_desync_factor); in ipv6_store_devconf()
5661 array[DEVCONF_MAX_ADDRESSES] = READ_ONCE(cnf->max_addresses); in ipv6_store_devconf()
5662 array[DEVCONF_ACCEPT_RA_DEFRTR] = READ_ONCE(cnf->accept_ra_defrtr); in ipv6_store_devconf()
5663 array[DEVCONF_RA_DEFRTR_METRIC] = READ_ONCE(cnf->ra_defrtr_metric); in ipv6_store_devconf()
5665 READ_ONCE(cnf->accept_ra_min_hop_limit); in ipv6_store_devconf()
5666 array[DEVCONF_ACCEPT_RA_PINFO] = READ_ONCE(cnf->accept_ra_pinfo); in ipv6_store_devconf()
5668 array[DEVCONF_ACCEPT_RA_RTR_PREF] = READ_ONCE(cnf->accept_ra_rtr_pref); in ipv6_store_devconf()
5670 jiffies_to_msecs(READ_ONCE(cnf->rtr_probe_interval)); in ipv6_store_devconf()
5673 READ_ONCE(cnf->accept_ra_rt_info_min_plen); in ipv6_store_devconf()
5675 READ_ONCE(cnf->accept_ra_rt_info_max_plen); in ipv6_store_devconf()
5678 array[DEVCONF_PROXY_NDP] = READ_ONCE(cnf->proxy_ndp); in ipv6_store_devconf()
5680 READ_ONCE(cnf->accept_source_route); in ipv6_store_devconf()
5682 array[DEVCONF_OPTIMISTIC_DAD] = READ_ONCE(cnf->optimistic_dad); in ipv6_store_devconf()
5683 array[DEVCONF_USE_OPTIMISTIC] = READ_ONCE(cnf->use_optimistic); in ipv6_store_devconf()
5686 array[DEVCONF_MC_FORWARDING] = atomic_read(&cnf->mc_forwarding); in ipv6_store_devconf()
5688 array[DEVCONF_DISABLE_IPV6] = READ_ONCE(cnf->disable_ipv6); in ipv6_store_devconf()
5689 array[DEVCONF_ACCEPT_DAD] = READ_ONCE(cnf->accept_dad); in ipv6_store_devconf()
5690 array[DEVCONF_FORCE_TLLAO] = READ_ONCE(cnf->force_tllao); in ipv6_store_devconf()
5691 array[DEVCONF_NDISC_NOTIFY] = READ_ONCE(cnf->ndisc_notify); in ipv6_store_devconf()
5693 READ_ONCE(cnf->suppress_frag_ndisc); in ipv6_store_devconf()
5695 READ_ONCE(cnf->accept_ra_from_local); in ipv6_store_devconf()
5696 array[DEVCONF_ACCEPT_RA_MTU] = READ_ONCE(cnf->accept_ra_mtu); in ipv6_store_devconf()
5698 READ_ONCE(cnf->ignore_routes_with_linkdown); in ipv6_store_devconf()
5700 array[DEVCONF_USE_OIF_ADDRS_ONLY] = READ_ONCE(cnf->use_oif_addrs_only); in ipv6_store_devconf()
5702 READ_ONCE(cnf->drop_unicast_in_l2_multicast); in ipv6_store_devconf()
5703 array[DEVCONF_DROP_UNSOLICITED_NA] = READ_ONCE(cnf->drop_unsolicited_na); in ipv6_store_devconf()
5704 array[DEVCONF_KEEP_ADDR_ON_DOWN] = READ_ONCE(cnf->keep_addr_on_down); in ipv6_store_devconf()
5705 array[DEVCONF_SEG6_ENABLED] = READ_ONCE(cnf->seg6_enabled); in ipv6_store_devconf()
5707 array[DEVCONF_SEG6_REQUIRE_HMAC] = READ_ONCE(cnf->seg6_require_hmac); in ipv6_store_devconf()
5709 array[DEVCONF_ENHANCED_DAD] = READ_ONCE(cnf->enhanced_dad); in ipv6_store_devconf()
5710 array[DEVCONF_ADDR_GEN_MODE] = READ_ONCE(cnf->addr_gen_mode); in ipv6_store_devconf()
5711 array[DEVCONF_DISABLE_POLICY] = READ_ONCE(cnf->disable_policy); in ipv6_store_devconf()
5712 array[DEVCONF_NDISC_TCLASS] = READ_ONCE(cnf->ndisc_tclass); in ipv6_store_devconf()
5713 array[DEVCONF_RPL_SEG_ENABLED] = READ_ONCE(cnf->rpl_seg_enabled); in ipv6_store_devconf()
5714 array[DEVCONF_IOAM6_ENABLED] = READ_ONCE(cnf->ioam6_enabled); in ipv6_store_devconf()
5715 array[DEVCONF_IOAM6_ID] = READ_ONCE(cnf->ioam6_id); in ipv6_store_devconf()
5716 array[DEVCONF_IOAM6_ID_WIDE] = READ_ONCE(cnf->ioam6_id_wide); in ipv6_store_devconf()
5718 READ_ONCE(cnf->ndisc_evict_nocarrier); in ipv6_store_devconf()
5720 READ_ONCE(cnf->accept_untracked_na); in ipv6_store_devconf()
5721 array[DEVCONF_ACCEPT_RA_MIN_LFT] = READ_ONCE(cnf->accept_ra_min_lft); in ipv6_store_devconf()
5722 array[DEVCONF_FORCE_FORWARDING] = READ_ONCE(cnf->force_forwarding); in ipv6_store_devconf()
5838 ipv6_store_devconf(&idev->cnf, nla_data(nla), nla_len(nla)); in inet6_fill_ifla6_attrs()
5855 READ_ONCE(idev->cnf.addr_gen_mode))) in inet6_fill_ifla6_attrs()
5921 if (READ_ONCE(idev->cnf.rtr_solicits) == 0) { in inet6_set_iftoken()
5954 READ_ONCE(idev->cnf.rtr_solicit_interval)); in inet6_set_iftoken()
5997 !idev->cnf.stable_secret.initialized && in check_stable_privacy()
6060 WRITE_ONCE(idev->cnf.addr_gen_mode, mode); in inet6_set_link_af()
6293 if (ifp->idev->cnf.forwarding) in __ipv6_ifa_notify()
6301 if (ifp->idev->cnf.forwarding) in __ipv6_ifa_notify()
6378 if (idev->cnf.disable_ipv6) in dev_disable_change()
6392 int changed = (!idev->cnf.disable_ipv6) ^ (!newf); in addrconf_disable_change()
6394 WRITE_ONCE(idev->cnf.disable_ipv6, newf); in addrconf_disable_change()
6486 &idev->cnf); in addrconf_sysctl_proxy_ndp()
6529 if (idev->cnf.addr_gen_mode != new_val) { in addrconf_sysctl_addr_gen_mode()
6530 WRITE_ONCE(idev->cnf.addr_gen_mode, new_val); in addrconf_sysctl_addr_gen_mode()
6542 idev->cnf.addr_gen_mode != new_val) { in addrconf_sysctl_addr_gen_mode()
6543 WRITE_ONCE(idev->cnf.addr_gen_mode, in addrconf_sysctl_addr_gen_mode()
6611 WRITE_ONCE(idev->cnf.addr_gen_mode, in addrconf_sysctl_stable_secret()
6618 WRITE_ONCE(idev->cnf.addr_gen_mode, in addrconf_sysctl_stable_secret()
6759 int changed = (!idev->cnf.force_forwarding) ^ (!newf); in addrconf_force_forward_change()
6761 WRITE_ONCE(idev->cnf.force_forwarding, newf); in addrconf_force_forward_change()
6765 dev->ifindex, &idev->cnf); in addrconf_force_forward_change()
6810 &idev->cnf); in addrconf_sysctl_force_forwarding()
7376 idev, &idev->cnf); in addrconf_sysctl_register()
7385 __addrconf_sysctl_unregister(dev_net(idev->dev), &idev->cnf, in addrconf_sysctl_unregister()