Lines Matching refs:score
947 struct ipv6_saddr_score score;
949 score.addr_type = __ipv6_addr_type(&ifa->addr);
964 if (unlikely(score.addr_type == IPV6_ADDR_ANY ||
965 score.addr_type & IPV6_ADDR_MULTICAST)) {
973 score.attrs = 0;
974 score.matchlen = 0;
975 score.scope = 0;
976 score.rule = 0;
990 score.attrs |= IPV6_SADDR_SCORE_LOCAL;
992 score.rule = 1;
1005 score.scope = __ipv6_addr_src_scope(score.addr_type);
1006 if (hiscore.scope < score.scope) {
1008 score.rule = 2;
1012 } else if (score.scope < hiscore.scope) {
1013 if (score.scope < daddr_scope)
1016 score.rule = 2;
1029 if (ipv6_saddr_preferred(score.addr_type) ||
1032 score.attrs |= IPV6_SADDR_SCORE_PREFERRED;
1034 score.rule = 3;
1050 score.attrs |= IPV6_SADDR_SCORE_HOA;
1052 score.rule = 4;
1073 score.attrs |= IPV6_SADDR_SCORE_OIF;
1075 score.rule = 5;
1089 if (ipv6_saddr_label(&ifa->addr, score.addr_type) == daddr_label) {
1090 score.attrs |= IPV6_SADDR_SCORE_LABEL;
1092 score.rule = 6;
1112 score.attrs |= IPV6_SADDR_SCORE_PRIVACY;
1114 score.rule = 7;
1130 score.matchlen = ipv6_addr_diff(&ifa->addr, daddr);
1131 if (score.matchlen > hiscore.matchlen) {
1132 score.rule = 8;
1143 hiscore = score;