Index: sbin/pfctl/pfctl_parser.h =================================================================== --- sbin/pfctl/pfctl_parser.h +++ sbin/pfctl/pfctl_parser.h @@ -74,6 +74,37 @@ struct pfr_buffer; /* forward definition */ +struct pf_eth_rule_addr { + uint8_t addr[ETHER_ADDR_LEN]; + uint8_t neg; +}; + +struct pf_eth_rule { + uint32_t nr; + + uint8_t quick; + + /* Filter */ + char ifname[IFNAMSIZ]; + uint8_t ifnot; + uint8_t direction; + uint16_t proto; + struct pf_eth_rule_addr src, dst; + + /* Stats */ + uint64_t evaluations; + uint64_t packets[2]; + uint64_t bytes[2]; + + /* Action */ + char qname[PF_QNAME_SIZE]; + char tagname[PF_TAG_NAME_SIZE]; + uint8_t action; + + TAILQ_ENTRY(pf_eth_rule) entries; +}; + +TAILQ_HEAD(pf_eth_rules, pf_eth_rule); struct pfctl { int dev;