Lines Matching refs:bc
1511 rule_isdst(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, ip_stack_t *ipst) in rule_isdst() argument
1513 if (!bc->cand_isdst_set) { in rule_isdst()
1514 bc->cand_isdst = in rule_isdst()
1515 IN6_ARE_ADDR_EQUAL(&bc->cand_srcaddr, dstinfo->dst_addr); in rule_isdst()
1516 bc->cand_isdst_set = B_TRUE; in rule_isdst()
1523 if (cc->cand_isdst == bc->cand_isdst) in rule_isdst()
1538 rule_scope(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, ip_stack_t *ipst) in rule_scope() argument
1540 if (!bc->cand_scope_set) { in rule_scope()
1541 bc->cand_scope = ip_addr_scope_v6(&bc->cand_srcaddr); in rule_scope()
1542 bc->cand_scope_set = B_TRUE; in rule_scope()
1548 if (cc->cand_scope < bc->cand_scope) { in rule_scope()
1553 } else if (bc->cand_scope < cc->cand_scope) { in rule_scope()
1554 if (bc->cand_scope < dstinfo->dst_scope) in rule_scope()
1568 rule_deprecated(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, in rule_deprecated() argument
1571 if (!bc->cand_isdeprecated_set) { in rule_deprecated()
1572 bc->cand_isdeprecated = in rule_deprecated()
1573 ((bc->cand_flags & IPIF_DEPRECATED) != 0); in rule_deprecated()
1574 bc->cand_isdeprecated_set = B_TRUE; in rule_deprecated()
1580 if (bc->cand_isdeprecated == cc->cand_isdeprecated) in rule_deprecated()
1597 rule_preferred(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, in rule_preferred() argument
1600 if (!bc->cand_ispreferred_set) { in rule_preferred()
1601 bc->cand_ispreferred = ((bc->cand_flags & IPIF_PREFERRED) != 0); in rule_preferred()
1602 bc->cand_ispreferred_set = B_TRUE; in rule_preferred()
1608 if (bc->cand_ispreferred == cc->cand_ispreferred) in rule_preferred()
1621 rule_interface(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, in rule_interface() argument
1633 if (!bc->cand_matchedinterface_set) { in rule_interface()
1634 bc->cand_matchedinterface = bc->cand_ill == dstill; in rule_interface()
1635 bc->cand_matchedinterface_set = B_TRUE; in rule_interface()
1641 if (bc->cand_matchedinterface == cc->cand_matchedinterface) in rule_interface()
1653 rule_label(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, ip_stack_t *ipst) in rule_label() argument
1657 if (!bc->cand_matchedlabel_set) { in rule_label()
1658 label = ip6_asp_lookup(&bc->cand_srcaddr, NULL, ipst); in rule_label()
1659 bc->cand_matchedlabel = in rule_label()
1661 bc->cand_matchedlabel_set = B_TRUE; in rule_label()
1668 if (bc->cand_matchedlabel == cc->cand_matchedlabel) in rule_label()
1683 rule_temporary(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, in rule_temporary() argument
1686 if (!bc->cand_istmp_set) { in rule_temporary()
1687 bc->cand_istmp = ((bc->cand_flags & IPIF_TEMPORARY) != 0); in rule_temporary()
1688 bc->cand_istmp_set = B_TRUE; in rule_temporary()
1694 if (bc->cand_istmp == cc->cand_istmp) in rule_temporary()
1712 rule_ifprefix(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, in rule_ifprefix() argument
1715 if (!bc->cand_pref_eq_set) { in rule_ifprefix()
1716 bc->cand_pref_eq = V6_MASK_EQ_2(bc->cand_srcaddr, in rule_ifprefix()
1717 bc->cand_mask, *dstinfo->dst_addr); in rule_ifprefix()
1718 bc->cand_pref_eq_set = B_TRUE; in rule_ifprefix()
1725 if (bc->cand_pref_eq) { in rule_ifprefix()
1727 if (!bc->cand_pref_len_set) { in rule_ifprefix()
1728 bc->cand_pref_len = in rule_ifprefix()
1729 ip_mask_to_plen_v6(&bc->cand_mask); in rule_ifprefix()
1730 bc->cand_pref_len_set = B_TRUE; in rule_ifprefix()
1734 if (bc->cand_pref_len == cc->cand_pref_len) in rule_ifprefix()
1736 else if (bc->cand_pref_len > cc->cand_pref_len) in rule_ifprefix()
1757 rule_zone_specific(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, in rule_zone_specific() argument
1760 if ((bc->cand_zoneid == ALL_ZONES) == in rule_zone_specific()
1782 rule_addr_type(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, in rule_addr_type() argument
1787 int bcval = ATYPE(bc->cand_flags); in rule_addr_type()
1807 rule_prefix(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, ip_stack_t *ipst) in rule_prefix() argument
1809 if (!bc->cand_common_pref_set) { in rule_prefix()
1810 bc->cand_common_pref = ip_common_prefix_v6(&bc->cand_srcaddr, in rule_prefix()
1812 bc->cand_common_pref_set = B_TRUE; in rule_prefix()
1819 if (bc->cand_common_pref == cc->cand_common_pref) in rule_prefix()
1821 else if (bc->cand_common_pref > cc->cand_common_pref) in rule_prefix()
1833 rule_must_be_last(cand_t *bc, cand_t *cc, const dstinfo_t *dstinfo, in rule_must_be_last() argument