Changeset View
Changeset View
Standalone View
Standalone View
sbin/pfctl/pfctl_parser.c
Show First 20 Lines • Show All 688 Lines • ▼ Show 20 Lines | #endif | ||||
} | } | ||||
printf("\n"); | printf("\n"); | ||||
} | } | ||||
} | } | ||||
static void | static void | ||||
print_eth_addr(const struct pfctl_eth_addr *a) | print_eth_addr(const struct pfctl_eth_addr *a) | ||||
{ | { | ||||
int i; | |||||
for (i = 0; i < ETHER_ADDR_LEN; i++) { | |||||
if (a->addr[i] != 0) | |||||
break; | |||||
} | |||||
/* Unset, so don't print anything. */ | |||||
if (i == ETHER_ADDR_LEN) | |||||
return; | |||||
printf("%s%02x:%02x:%02x:%02x:%02x:%02x", a->neg ? "! " : "", | printf("%s%02x:%02x:%02x:%02x:%02x:%02x", a->neg ? "! " : "", | ||||
a->addr[0], a->addr[1], a->addr[2], a->addr[3], a->addr[4], | a->addr[0], a->addr[1], a->addr[2], a->addr[3], a->addr[4], | ||||
a->addr[5]); | a->addr[5]); | ||||
} | } | ||||
void | void | ||||
print_eth_rule(struct pfctl_eth_rule *r, int rule_numbers) | print_eth_rule(struct pfctl_eth_rule *r, int rule_numbers) | ||||
{ | { | ||||
Show All 14 Lines | if (r->ifname[0]) { | ||||
if (r->ifnot) | if (r->ifnot) | ||||
printf(" on ! %s", r->ifname); | printf(" on ! %s", r->ifname); | ||||
else | else | ||||
printf(" on %s", r->ifname); | printf(" on %s", r->ifname); | ||||
} | } | ||||
if (r->proto) | if (r->proto) | ||||
printf(" proto 0x%04x", r->proto); | printf(" proto 0x%04x", r->proto); | ||||
if (r->src.isset) { | |||||
printf(" from "); | printf(" from "); | ||||
print_eth_addr(&r->src); | print_eth_addr(&r->src); | ||||
} | |||||
if (r->dst.isset) { | |||||
printf(" to "); | printf(" to "); | ||||
print_eth_addr(&r->dst); | print_eth_addr(&r->dst); | ||||
} | |||||
if (r->qname[0]) | if (r->qname[0]) | ||||
printf(" queue %s", r->qname); | printf(" queue %s", r->qname); | ||||
if (r->tagname[0]) | if (r->tagname[0]) | ||||
printf(" tag %s", r->tagname); | printf(" tag %s", r->tagname); | ||||
} | } | ||||
void | void | ||||
▲ Show 20 Lines • Show All 1,191 Lines • Show Last 20 Lines |