Lines Matching full:super
1562 exclude_supersets(struct pfctl_rule *super, struct pfctl_rule *sub) in exclude_supersets() argument
1564 if (super->ifname[0] == '\0') in exclude_supersets()
1566 if (super->direction == PF_INOUT) in exclude_supersets()
1568 if ((super->proto == 0 || super->proto == sub->proto) && in exclude_supersets()
1569 super->flags == 0 && super->flagset == 0 && (sub->flags || in exclude_supersets()
1571 sub->flags = super->flags; in exclude_supersets()
1572 sub->flagset = super->flagset; in exclude_supersets()
1574 if (super->proto == 0) in exclude_supersets()
1577 if (super->src.port_op == 0) { in exclude_supersets()
1582 if (super->dst.port_op == 0) { in exclude_supersets()
1588 if (super->src.addr.type == PF_ADDR_ADDRMASK && !super->src.neg && in exclude_supersets()
1589 !sub->src.neg && super->src.addr.v.a.mask.addr32[0] == 0 && in exclude_supersets()
1590 super->src.addr.v.a.mask.addr32[1] == 0 && in exclude_supersets()
1591 super->src.addr.v.a.mask.addr32[2] == 0 && in exclude_supersets()
1592 super->src.addr.v.a.mask.addr32[3] == 0) in exclude_supersets()
1594 else if (super->src.addr.type == PF_ADDR_ADDRMASK && in exclude_supersets()
1596 super->src.neg == sub->src.neg && in exclude_supersets()
1597 super->af == sub->af && in exclude_supersets()
1598 unmask(&super->src.addr.v.a.mask) < in exclude_supersets()
1600 super->src.addr.v.a.addr.addr32[0] == in exclude_supersets()
1602 super->src.addr.v.a.mask.addr32[0]) && in exclude_supersets()
1603 super->src.addr.v.a.addr.addr32[1] == in exclude_supersets()
1605 super->src.addr.v.a.mask.addr32[1]) && in exclude_supersets()
1606 super->src.addr.v.a.addr.addr32[2] == in exclude_supersets()
1608 super->src.addr.v.a.mask.addr32[2]) && in exclude_supersets()
1609 super->src.addr.v.a.addr.addr32[3] == in exclude_supersets()
1611 super->src.addr.v.a.mask.addr32[3])) { in exclude_supersets()
1612 /* sub->src.addr is a subset of super->src.addr/mask */ in exclude_supersets()
1613 memcpy(&sub->src.addr, &super->src.addr, sizeof(sub->src.addr)); in exclude_supersets()
1616 if (super->dst.addr.type == PF_ADDR_ADDRMASK && !super->dst.neg && in exclude_supersets()
1617 !sub->dst.neg && super->dst.addr.v.a.mask.addr32[0] == 0 && in exclude_supersets()
1618 super->dst.addr.v.a.mask.addr32[1] == 0 && in exclude_supersets()
1619 super->dst.addr.v.a.mask.addr32[2] == 0 && in exclude_supersets()
1620 super->dst.addr.v.a.mask.addr32[3] == 0) in exclude_supersets()
1622 else if (super->dst.addr.type == PF_ADDR_ADDRMASK && in exclude_supersets()
1624 super->dst.neg == sub->dst.neg && in exclude_supersets()
1625 super->af == sub->af && in exclude_supersets()
1626 unmask(&super->dst.addr.v.a.mask) < in exclude_supersets()
1628 super->dst.addr.v.a.addr.addr32[0] == in exclude_supersets()
1630 super->dst.addr.v.a.mask.addr32[0]) && in exclude_supersets()
1631 super->dst.addr.v.a.addr.addr32[1] == in exclude_supersets()
1633 super->dst.addr.v.a.mask.addr32[1]) && in exclude_supersets()
1634 super->dst.addr.v.a.addr.addr32[2] == in exclude_supersets()
1636 super->dst.addr.v.a.mask.addr32[2]) && in exclude_supersets()
1637 super->dst.addr.v.a.addr.addr32[3] == in exclude_supersets()
1639 super->dst.addr.v.a.mask.addr32[3])) { in exclude_supersets()
1640 /* sub->dst.addr is a subset of super->dst.addr/mask */ in exclude_supersets()
1641 memcpy(&sub->dst.addr, &super->dst.addr, sizeof(sub->dst.addr)); in exclude_supersets()
1644 if (super->af == 0) in exclude_supersets()