print_pool(&n->rpool, n->af, PF_POOL_NAT_R); if (n->proxy_port[0] != PF_NAT_PROXY_PORT_LOW || n->proxy_port[1] != PF_NAT_PROXY_PORT_HIGH) { if (n->proxy_port[0] == n->proxy_port[1]) printf(" port %u", n->proxy_port[0]); else printf(" port %u:%u", n->proxy_port[0], n->proxy_port[1]); } switch (n->rpool.opts & 0x0f) { case PF_POOL_NONE: break; case PF_POOL_BITMASK: printf(" bitmask"); break; case PF_POOL_RANDOM: printf(" random"); break; case PF_POOL_SRCHASH: printf(" source-hash"); break; case PF_POOL_SRCKEYHASH: printf(" source-hash key"); break; case PF_POOL_ROUNDROBIN: printf(" round-robin"); break; } if (n->rpool.opts & PF_POOL_STATICPORT) printf(" static-port");
print_pool(&n->rpool, n->proxy_port[0], n->proxy_port[1], n->af, PF_POOL_NAT_R);
print_nat(struct pf_nat *n){	if (n->no)		printf("no ");	printf("nat ");	if (n->ifname[0]) {		printf("on ");		if (n->ifnot)			printf("! ");		printf("%s ", n->ifname);	}	if (n->af) {		if (n->af == AF_INET)			printf("inet ");		else			printf("inet6 ");	}	if (n->proto) {		struct protoent *p = getprotobynumber(n->proto);		if (p != NULL)			printf("proto %s ", p->p_name);		else			printf("proto %u ", n->proto);	}	print_fromto(&n->src, &n->dst, n->af, n->proto);	if (!n->no) {		printf("-> ");		print_pool(&n->rpool, n->af, PF_POOL_NAT_R);		if (n->proxy_port[0] != PF_NAT_PROXY_PORT_LOW ||		    n->proxy_port[1] != PF_NAT_PROXY_PORT_HIGH) {			if (n->proxy_port[0] == n->proxy_port[1])				printf(" port %u", n->proxy_port[0]);			else				printf(" port %u:%u", n->proxy_port[0],				    n->proxy_port[1]);		}		switch (n->rpool.opts & 0x0f) {		case PF_POOL_NONE:			break;		case PF_POOL_BITMASK:			printf(" bitmask");			break;		case PF_POOL_RANDOM:			printf(" random");			break;		case PF_POOL_SRCHASH:			printf(" source-hash");			break;		case PF_POOL_SRCKEYHASH:			printf(" source-hash key");			break;		case PF_POOL_ROUNDROBIN:			printf(" round-robin");			break;		}		if (n->rpool.opts & PF_POOL_STATICPORT)			printf(" static-port");	}	printf("\n");}