Lines Matching defs:cfg
1049 ipv6_add_addr(struct inet6_dev *idev, struct ifa6_config *cfg,
1053 int addr_type = ipv6_addr_type(cfg->pfx);
1061 !(cfg->ifa_flags & IFA_F_MCAUTOJOIN)) ||
1082 .i6vi_addr = *cfg->pfx,
1099 f6i = addrconf_f6i_alloc(net, idev, cfg->pfx, false, gfp_flags);
1108 ifa->addr = *cfg->pfx;
1109 if (cfg->peer_pfx)
1110 ifa->peer_addr = *cfg->peer_pfx;
1115 ifa->scope = cfg->scope;
1116 ifa->prefix_len = cfg->plen;
1117 ifa->rt_priority = cfg->rt_priority;
1118 ifa->flags = cfg->ifa_flags;
1120 if (!(cfg->ifa_flags & IFA_F_NODAD))
1122 ifa->valid_lft = cfg->valid_lft;
1123 ifa->prefered_lft = cfg->preferred_lft;
1323 struct ifa6_config cfg;
1378 memset(&cfg, 0, sizeof(cfg));
1379 cfg.valid_lft = min_t(__u32, ifp->valid_lft,
1381 cfg.preferred_lft = cnf_temp_preferred_lft + age - idev->desync_factor;
1382 cfg.preferred_lft = min_t(__u32, ifp->prefered_lft, cfg.preferred_lft);
1384 cfg.plen = ifp->prefix_len;
1398 if (cfg.preferred_lft <= regen_advance + age) {
1405 cfg.ifa_flags = IFA_F_TEMPORARY;
1408 cfg.ifa_flags |= IFA_F_OPTIMISTIC;
1410 cfg.pfx = &addr;
1411 cfg.scope = ipv6_addr_scope(cfg.pfx);
1413 ift = ipv6_add_addr(idev, &cfg, block, NULL);
2112 struct ifa6_config cfg = {
2142 ifp2 = ipv6_add_addr(idev, &cfg, false, NULL);
2398 struct fib6_config cfg = {
2410 cfg.fc_dst = *pfx;
2418 cfg.fc_flags |= RTF_NONEXTHOP;
2421 ip6_route_add(&cfg, gfp_flags, NULL);
2472 struct fib6_config cfg = {
2483 ipv6_addr_set(&cfg.fc_dst, htonl(0xFF000000), 0, 0, 0);
2485 ip6_route_add(&cfg, GFP_KERNEL, NULL);
2599 struct ifa6_config cfg = {
2612 cfg.ifa_flags |= IFA_F_OPTIMISTIC;
2620 ifp = ipv6_add_addr(in6_dev, &cfg, false, NULL);
2915 struct ifa6_config *cfg,
2927 if (cfg->plen > 128)
2931 if (!cfg->valid_lft || cfg->preferred_lft > cfg->valid_lft)
2934 if (cfg->ifa_flags & IFA_F_MANAGETEMPADDR && cfg->plen != 64)
2945 if (cfg->ifa_flags & IFA_F_MCAUTOJOIN) {
2947 true, cfg->pfx, ifindex);
2953 cfg->scope = ipv6_addr_scope(cfg->pfx);
2955 timeout = addrconf_timeout_fixup(cfg->valid_lft, HZ);
2958 cfg->valid_lft = timeout;
2963 cfg->ifa_flags |= IFA_F_PERMANENT;
2966 timeout = addrconf_timeout_fixup(cfg->preferred_lft, HZ);
2969 cfg->ifa_flags |= IFA_F_DEPRECATED;
2970 cfg->preferred_lft = timeout;
2973 ifp = ipv6_add_addr(idev, cfg, true, extack);
2975 if (!(cfg->ifa_flags & IFA_F_NOPREFIXROUTE)) {
2992 if (cfg->ifa_flags & IFA_F_MANAGETEMPADDR)
2993 manage_tempaddrs(idev, ifp, cfg->valid_lft,
2994 cfg->preferred_lft, true, jiffies);
2998 } else if (cfg->ifa_flags & IFA_F_MCAUTOJOIN) {
3000 cfg->pfx, ifindex);
3051 struct ifa6_config cfg = {
3065 cfg.pfx = &ireq.ifr6_addr;
3066 cfg.plen = ireq.ifr6_prefixlen;
3069 err = inet6_addr_add(net, ireq.ifr6_ifindex, &cfg, NULL);
3096 struct ifa6_config cfg = {
3105 ifp = ipv6_add_addr(idev, &cfg, true, NULL);
3196 struct ifa6_config cfg = {
3210 cfg.ifa_flags |= IFA_F_OPTIMISTIC;
3213 ifp = ipv6_add_addr(idev, &cfg, true, NULL);
4718 static int inet6_addr_modify(struct inet6_ifaddr *ifp, struct ifa6_config *cfg)
4729 if (!cfg->valid_lft || cfg->preferred_lft > cfg->valid_lft)
4732 if (cfg->ifa_flags & IFA_F_MANAGETEMPADDR &&
4737 cfg->ifa_flags &= ~IFA_F_OPTIMISTIC;
4739 timeout = addrconf_timeout_fixup(cfg->valid_lft, HZ);
4742 cfg->valid_lft = timeout;
4747 cfg->ifa_flags |= IFA_F_PERMANENT;
4750 timeout = addrconf_timeout_fixup(cfg->preferred_lft, HZ);
4753 cfg->ifa_flags |= IFA_F_DEPRECATED;
4754 cfg->preferred_lft = timeout;
4757 if (cfg->peer_pfx &&
4758 memcmp(&ifp->peer_addr, cfg->peer_pfx, sizeof(struct in6_addr))) {
4771 ifp->flags |= cfg->ifa_flags;
4773 ifp->valid_lft = cfg->valid_lft;
4774 ifp->prefered_lft = cfg->preferred_lft;
4776 if (cfg->rt_priority && cfg->rt_priority != ifp->rt_priority)
4777 ifp->rt_priority = cfg->rt_priority;
4780 ifp->peer_addr = *cfg->peer_pfx;
4786 if (!(cfg->ifa_flags & IFA_F_NOPREFIXROUTE)) {
4824 cfg->valid_lft = 0;
4825 cfg->preferred_lft = 0;
4827 manage_tempaddrs(ifp->idev, ifp, cfg->valid_lft,
4828 cfg->preferred_lft, !was_managetempaddr,
4848 struct ifa6_config cfg;
4856 memset(&cfg, 0, sizeof(cfg));
4859 cfg.pfx = extract_addr(tb[IFA_ADDRESS], tb[IFA_LOCAL], &peer_pfx);
4860 if (!cfg.pfx)
4863 cfg.peer_pfx = peer_pfx;
4864 cfg.plen = ifm->ifa_prefixlen;
4866 cfg.rt_priority = nla_get_u32(tb[IFA_RT_PRIORITY]);
4868 cfg.valid_lft = INFINITY_LIFE_TIME;
4869 cfg.preferred_lft = INFINITY_LIFE_TIME;
4875 cfg.valid_lft = ci->ifa_valid;
4876 cfg.preferred_lft = ci->ifa_prefered;
4884 cfg.ifa_flags = nla_get_u32(tb[IFA_FLAGS]);
4886 cfg.ifa_flags = ifm->ifa_flags;
4889 cfg.ifa_flags &= IFA_F_NODAD | IFA_F_HOMEADDRESS |
4898 cfg.ifa_flags &= ~IFA_F_OPTIMISTIC;
4900 if (cfg.ifa_flags & IFA_F_NODAD &&
4901 cfg.ifa_flags & IFA_F_OPTIMISTIC) {
4906 ifa = ipv6_get_ifaddr(net, cfg.pfx, dev, 1);
4912 return inet6_addr_add(net, ifm->ifa_index, &cfg, extack);
4919 err = inet6_addr_modify(ifa, &cfg);