Lines Matching refs:score

1308 			       struct ipv6_saddr_score *score,  in ipv6_get_saddr_eval()  argument
1314 if (i <= score->rule) { in ipv6_get_saddr_eval()
1317 ret = score->scopedist; in ipv6_get_saddr_eval()
1320 ret = score->matchlen; in ipv6_get_saddr_eval()
1323 ret = !!test_bit(i, score->scorebits); in ipv6_get_saddr_eval()
1331 ret = !!score->ifa; in ipv6_get_saddr_eval()
1335 ret = ipv6_addr_equal(&score->ifa->addr, dst->addr); in ipv6_get_saddr_eval()
1359 ret = __ipv6_addr_src_scope(score->addr_type); in ipv6_get_saddr_eval()
1364 score->scopedist = ret; in ipv6_get_saddr_eval()
1371 if (!ipv6_use_optimistic_addr(score->ifa->idev)) in ipv6_get_saddr_eval()
1373 ret = ipv6_saddr_preferred(score->addr_type) || in ipv6_get_saddr_eval()
1374 !(score->ifa->flags & avoid); in ipv6_get_saddr_eval()
1382 ret = !(score->ifa->flags & IFA_F_HOMEADDRESS) ^ prefhome; in ipv6_get_saddr_eval()
1389 dst->ifindex == score->ifa->idev->dev->ifindex); in ipv6_get_saddr_eval()
1394 &score->ifa->addr, score->addr_type, in ipv6_get_saddr_eval()
1395 score->ifa->idev->dev->ifindex) == dst->label; in ipv6_get_saddr_eval()
1404 score->ifa->idev->cnf.use_tempaddr >= 2; in ipv6_get_saddr_eval()
1405 ret = (!(score->ifa->flags & IFA_F_TEMPORARY)) ^ preftmp; in ipv6_get_saddr_eval()
1412 ret = !(ipv6_addr_orchid(&score->ifa->addr) ^ in ipv6_get_saddr_eval()
1417 ret = ipv6_addr_diff(&score->ifa->addr, dst->addr); in ipv6_get_saddr_eval()
1418 if (ret > score->ifa->prefix_len) in ipv6_get_saddr_eval()
1419 ret = score->ifa->prefix_len; in ipv6_get_saddr_eval()
1420 score->matchlen = ret; in ipv6_get_saddr_eval()
1427 ret = !(score->ifa->flags & IFA_F_OPTIMISTIC); in ipv6_get_saddr_eval()
1435 __set_bit(i, score->scorebits); in ipv6_get_saddr_eval()
1436 score->rule = i; in ipv6_get_saddr_eval()
1447 struct ipv6_saddr_score *score = &scores[1 - hiscore_idx], *hiscore = &scores[hiscore_idx]; in __ipv6_dev_get_saddr() local
1450 list_for_each_entry(score->ifa, &idev->addr_list, if_list) { in __ipv6_dev_get_saddr()
1463 if ((score->ifa->flags & IFA_F_TENTATIVE) && in __ipv6_dev_get_saddr()
1464 (!(score->ifa->flags & IFA_F_OPTIMISTIC))) in __ipv6_dev_get_saddr()
1467 score->addr_type = __ipv6_addr_type(&score->ifa->addr); in __ipv6_dev_get_saddr()
1469 if (unlikely(score->addr_type == IPV6_ADDR_ANY || in __ipv6_dev_get_saddr()
1470 score->addr_type & IPV6_ADDR_MULTICAST)) { in __ipv6_dev_get_saddr()
1476 score->rule = -1; in __ipv6_dev_get_saddr()
1477 bitmap_zero(score->scorebits, IPV6_SADDR_RULE_MAX); in __ipv6_dev_get_saddr()
1483 miniscore = ipv6_get_saddr_eval(net, score, dst, i); in __ipv6_dev_get_saddr()
1487 score->scopedist > 0) { in __ipv6_dev_get_saddr()
1503 in6_ifa_hold(score->ifa); in __ipv6_dev_get_saddr()
1505 swap(hiscore, score); in __ipv6_dev_get_saddr()
1509 score->ifa = hiscore->ifa; in __ipv6_dev_get_saddr()