Lines Matching refs:cfg
1064 ipv6_add_addr(struct inet6_dev *idev, struct ifa6_config *cfg, in ipv6_add_addr() argument
1068 int addr_type = ipv6_addr_type(cfg->pfx); in ipv6_add_addr()
1076 !(cfg->ifa_flags & IFA_F_MCAUTOJOIN)) || in ipv6_add_addr()
1097 .i6vi_addr = *cfg->pfx, in ipv6_add_addr()
1114 f6i = addrconf_f6i_alloc(net, idev, cfg->pfx, false, gfp_flags); in ipv6_add_addr()
1123 ifa->addr = *cfg->pfx; in ipv6_add_addr()
1124 if (cfg->peer_pfx) in ipv6_add_addr()
1125 ifa->peer_addr = *cfg->peer_pfx; in ipv6_add_addr()
1130 ifa->scope = cfg->scope; in ipv6_add_addr()
1131 ifa->prefix_len = cfg->plen; in ipv6_add_addr()
1132 ifa->rt_priority = cfg->rt_priority; in ipv6_add_addr()
1133 ifa->flags = cfg->ifa_flags; in ipv6_add_addr()
1135 if (!(cfg->ifa_flags & IFA_F_NODAD)) in ipv6_add_addr()
1137 ifa->valid_lft = cfg->valid_lft; in ipv6_add_addr()
1138 ifa->prefered_lft = cfg->preferred_lft; in ipv6_add_addr()
1338 struct ifa6_config cfg; in ipv6_create_tempaddr() local
1401 memset(&cfg, 0, sizeof(cfg)); in ipv6_create_tempaddr()
1402 cfg.valid_lft = min_t(__u32, ifp->valid_lft, in ipv6_create_tempaddr()
1404 cfg.preferred_lft = cnf_temp_preferred_lft + age - idev->desync_factor; in ipv6_create_tempaddr()
1405 cfg.preferred_lft = min_t(__u32, ifp->prefered_lft, cfg.preferred_lft); in ipv6_create_tempaddr()
1407 cfg.plen = ifp->prefix_len; in ipv6_create_tempaddr()
1421 if (cfg.preferred_lft <= regen_advance + age) { in ipv6_create_tempaddr()
1428 cfg.ifa_flags = IFA_F_TEMPORARY; in ipv6_create_tempaddr()
1431 cfg.ifa_flags |= IFA_F_OPTIMISTIC; in ipv6_create_tempaddr()
1433 cfg.pfx = &addr; in ipv6_create_tempaddr()
1434 cfg.scope = ipv6_addr_scope(cfg.pfx); in ipv6_create_tempaddr()
1436 ift = ipv6_add_addr(idev, &cfg, block, NULL); in ipv6_create_tempaddr()
2110 struct ifa6_config cfg = { in addrconf_dad_failure() local
2140 ifp2 = ipv6_add_addr(idev, &cfg, false, NULL); in addrconf_dad_failure()
2418 struct fib6_config cfg = { in addrconf_prefix_route() local
2430 cfg.fc_dst = *pfx; in addrconf_prefix_route()
2438 cfg.fc_flags |= RTF_NONEXTHOP; in addrconf_prefix_route()
2441 ip6_route_add(&cfg, gfp_flags, NULL); in addrconf_prefix_route()
2492 struct fib6_config cfg = { in addrconf_add_mroute() local
2503 ipv6_addr_set(&cfg.fc_dst, htonl(0xFF000000), 0, 0, 0); in addrconf_add_mroute()
2505 ip6_route_add(&cfg, GFP_KERNEL, NULL); in addrconf_add_mroute()
2619 struct ifa6_config cfg = { in addrconf_prefix_rcv_add_addr() local
2632 cfg.ifa_flags |= IFA_F_OPTIMISTIC; in addrconf_prefix_rcv_add_addr()
2640 ifp = ipv6_add_addr(in6_dev, &cfg, false, NULL); in addrconf_prefix_rcv_add_addr()
2947 struct ifa6_config *cfg, in inet6_addr_add() argument
2959 if (cfg->plen > 128) in inet6_addr_add()
2963 if (!cfg->valid_lft || cfg->preferred_lft > cfg->valid_lft) in inet6_addr_add()
2966 if (cfg->ifa_flags & IFA_F_MANAGETEMPADDR && cfg->plen != 64) in inet6_addr_add()
2977 if (cfg->ifa_flags & IFA_F_MCAUTOJOIN) { in inet6_addr_add()
2979 true, cfg->pfx, ifindex); in inet6_addr_add()
2985 cfg->scope = ipv6_addr_scope(cfg->pfx); in inet6_addr_add()
2987 timeout = addrconf_timeout_fixup(cfg->valid_lft, HZ); in inet6_addr_add()
2990 cfg->valid_lft = timeout; in inet6_addr_add()
2995 cfg->ifa_flags |= IFA_F_PERMANENT; in inet6_addr_add()
2998 timeout = addrconf_timeout_fixup(cfg->preferred_lft, HZ); in inet6_addr_add()
3001 cfg->ifa_flags |= IFA_F_DEPRECATED; in inet6_addr_add()
3002 cfg->preferred_lft = timeout; in inet6_addr_add()
3005 ifp = ipv6_add_addr(idev, cfg, true, extack); in inet6_addr_add()
3007 if (!(cfg->ifa_flags & IFA_F_NOPREFIXROUTE)) { in inet6_addr_add()
3024 if (cfg->ifa_flags & IFA_F_MANAGETEMPADDR) in inet6_addr_add()
3025 manage_tempaddrs(idev, ifp, cfg->valid_lft, in inet6_addr_add()
3026 cfg->preferred_lft, true, jiffies); in inet6_addr_add()
3030 } else if (cfg->ifa_flags & IFA_F_MCAUTOJOIN) { in inet6_addr_add()
3032 cfg->pfx, ifindex); in inet6_addr_add()
3083 struct ifa6_config cfg = { in addrconf_add_ifaddr() local
3097 cfg.pfx = &ireq.ifr6_addr; in addrconf_add_ifaddr()
3098 cfg.plen = ireq.ifr6_prefixlen; in addrconf_add_ifaddr()
3101 err = inet6_addr_add(net, ireq.ifr6_ifindex, &cfg, NULL); in addrconf_add_ifaddr()
3128 struct ifa6_config cfg = { in add_addr() local
3137 ifp = ipv6_add_addr(idev, &cfg, true, NULL); in add_addr()
3228 struct ifa6_config cfg = { in addrconf_add_linklocal() local
3242 cfg.ifa_flags |= IFA_F_OPTIMISTIC; in addrconf_add_linklocal()
3245 ifp = ipv6_add_addr(idev, &cfg, true, NULL); in addrconf_add_linklocal()
4698 static int inet6_addr_modify(struct inet6_ifaddr *ifp, struct ifa6_config *cfg) in inet6_addr_modify() argument
4709 if (!cfg->valid_lft || cfg->preferred_lft > cfg->valid_lft) in inet6_addr_modify()
4712 if (cfg->ifa_flags & IFA_F_MANAGETEMPADDR && in inet6_addr_modify()
4717 cfg->ifa_flags &= ~IFA_F_OPTIMISTIC; in inet6_addr_modify()
4719 timeout = addrconf_timeout_fixup(cfg->valid_lft, HZ); in inet6_addr_modify()
4722 cfg->valid_lft = timeout; in inet6_addr_modify()
4727 cfg->ifa_flags |= IFA_F_PERMANENT; in inet6_addr_modify()
4730 timeout = addrconf_timeout_fixup(cfg->preferred_lft, HZ); in inet6_addr_modify()
4733 cfg->ifa_flags |= IFA_F_DEPRECATED; in inet6_addr_modify()
4734 cfg->preferred_lft = timeout; in inet6_addr_modify()
4737 if (cfg->peer_pfx && in inet6_addr_modify()
4738 memcmp(&ifp->peer_addr, cfg->peer_pfx, sizeof(struct in6_addr))) { in inet6_addr_modify()
4751 ifp->flags |= cfg->ifa_flags; in inet6_addr_modify()
4753 ifp->valid_lft = cfg->valid_lft; in inet6_addr_modify()
4754 ifp->prefered_lft = cfg->preferred_lft; in inet6_addr_modify()
4756 if (cfg->rt_priority && cfg->rt_priority != ifp->rt_priority) in inet6_addr_modify()
4757 ifp->rt_priority = cfg->rt_priority; in inet6_addr_modify()
4760 ifp->peer_addr = *cfg->peer_pfx; in inet6_addr_modify()
4766 if (!(cfg->ifa_flags & IFA_F_NOPREFIXROUTE)) { in inet6_addr_modify()
4804 cfg->valid_lft = 0; in inet6_addr_modify()
4805 cfg->preferred_lft = 0; in inet6_addr_modify()
4807 manage_tempaddrs(ifp->idev, ifp, cfg->valid_lft, in inet6_addr_modify()
4808 cfg->preferred_lft, !was_managetempaddr, in inet6_addr_modify()
4828 struct ifa6_config cfg; in inet6_rtm_newaddr() local
4836 memset(&cfg, 0, sizeof(cfg)); in inet6_rtm_newaddr()
4839 cfg.pfx = extract_addr(tb[IFA_ADDRESS], tb[IFA_LOCAL], &peer_pfx); in inet6_rtm_newaddr()
4840 if (!cfg.pfx) in inet6_rtm_newaddr()
4843 cfg.peer_pfx = peer_pfx; in inet6_rtm_newaddr()
4844 cfg.plen = ifm->ifa_prefixlen; in inet6_rtm_newaddr()
4846 cfg.rt_priority = nla_get_u32(tb[IFA_RT_PRIORITY]); in inet6_rtm_newaddr()
4848 cfg.valid_lft = INFINITY_LIFE_TIME; in inet6_rtm_newaddr()
4849 cfg.preferred_lft = INFINITY_LIFE_TIME; in inet6_rtm_newaddr()
4855 cfg.valid_lft = ci->ifa_valid; in inet6_rtm_newaddr()
4856 cfg.preferred_lft = ci->ifa_prefered; in inet6_rtm_newaddr()
4864 cfg.ifa_flags = nla_get_u32(tb[IFA_FLAGS]); in inet6_rtm_newaddr()
4866 cfg.ifa_flags = ifm->ifa_flags; in inet6_rtm_newaddr()
4869 cfg.ifa_flags &= IFA_F_NODAD | IFA_F_HOMEADDRESS | in inet6_rtm_newaddr()
4878 cfg.ifa_flags &= ~IFA_F_OPTIMISTIC; in inet6_rtm_newaddr()
4880 if (cfg.ifa_flags & IFA_F_NODAD && in inet6_rtm_newaddr()
4881 cfg.ifa_flags & IFA_F_OPTIMISTIC) { in inet6_rtm_newaddr()
4886 ifa = ipv6_get_ifaddr(net, cfg.pfx, dev, 1); in inet6_rtm_newaddr()
4892 return inet6_addr_add(net, ifm->ifa_index, &cfg, extack); in inet6_rtm_newaddr()
4899 err = inet6_addr_modify(ifa, &cfg); in inet6_rtm_newaddr()