Lines Matching refs:nvl
141 pfctl_do_ioctl(int dev, uint cmd, size_t size, nvlist_t **nvl) in pfctl_do_ioctl() argument
148 data = nvlist_pack(*nvl, &nvlen); in pfctl_do_ioctl()
171 nvlist_destroy(*nvl); in pfctl_do_ioctl()
172 *nvl = NULL; in pfctl_do_ioctl()
175 *nvl = nvlist_unpack(nv.data, nv.len, 0); in pfctl_do_ioctl()
176 if (*nvl == NULL) { in pfctl_do_ioctl()
192 pf_nvuint_8_array(const nvlist_t *nvl, const char *name, size_t maxelems, in pf_nvuint_8_array() argument
198 tmp = nvlist_get_number_array(nvl, name, &elems); in pf_nvuint_8_array()
209 pf_nvuint_16_array(const nvlist_t *nvl, const char *name, size_t maxelems, in pf_nvuint_16_array() argument
215 tmp = nvlist_get_number_array(nvl, name, &elems); in pf_nvuint_16_array()
226 pf_nvuint_32_array(const nvlist_t *nvl, const char *name, size_t maxelems, in pf_nvuint_32_array() argument
232 tmp = nvlist_get_number_array(nvl, name, &elems); in pf_nvuint_32_array()
242 pf_nvuint_64_array(const nvlist_t *nvl, const char *name, size_t maxelems, in pf_nvuint_64_array() argument
248 tmp = nvlist_get_number_array(nvl, name, &elems); in pf_nvuint_64_array()
265 _pfctl_get_status_counters(const nvlist_t *nvl, in _pfctl_get_status_counters() argument
272 ids = nvlist_get_number_array(nvl, "ids", &id_len); in _pfctl_get_status_counters()
273 counts = nvlist_get_number_array(nvl, "counters", &counter_len); in _pfctl_get_status_counters()
274 names = nvlist_get_string_array(nvl, "names", &names_len); in _pfctl_get_status_counters()
445 nvlist_t *nvl; in pfctl_get_status() local
453 nvl = nvlist_create(0); in pfctl_get_status()
455 if (pfctl_do_ioctl(dev, DIOCGETSTATUSNV, 4096, &nvl)) { in pfctl_get_status()
456 nvlist_destroy(nvl); in pfctl_get_status()
461 status->running = nvlist_get_bool(nvl, "running"); in pfctl_get_status()
462 status->since = nvlist_get_number(nvl, "since"); in pfctl_get_status()
463 status->debug = nvlist_get_number(nvl, "debug"); in pfctl_get_status()
464 status->hostid = ntohl(nvlist_get_number(nvl, "hostid")); in pfctl_get_status()
465 status->states = nvlist_get_number(nvl, "states"); in pfctl_get_status()
466 status->src_nodes = nvlist_get_number(nvl, "src_nodes"); in pfctl_get_status()
467 status->syncookies_active = nvlist_get_bool(nvl, "syncookies_active"); in pfctl_get_status()
468 status->reass = nvlist_get_number(nvl, "reass"); in pfctl_get_status()
470 strlcpy(status->ifname, nvlist_get_string(nvl, "ifname"), in pfctl_get_status()
472 chksum = nvlist_get_binary(nvl, "chksum", &len); in pfctl_get_status()
476 _pfctl_get_status_counters(nvlist_get_nvlist(nvl, "counters"), in pfctl_get_status()
478 _pfctl_get_status_counters(nvlist_get_nvlist(nvl, "lcounters"), in pfctl_get_status()
480 _pfctl_get_status_counters(nvlist_get_nvlist(nvl, "fcounters"), in pfctl_get_status()
482 _pfctl_get_status_counters(nvlist_get_nvlist(nvl, "scounters"), in pfctl_get_status()
485 pf_nvuint_64_array(nvl, "pcounters", 2 * 2 * 2, in pfctl_get_status()
487 pf_nvuint_64_array(nvl, "bcounters", 2 * 2, in pfctl_get_status()
490 nvlist_destroy(nvl); in pfctl_get_status()
569 nvlist_t *nvl = nvlist_create(0); in pfctl_nv_add_addr() local
571 nvlist_add_binary(nvl, "addr", addr, sizeof(*addr)); in pfctl_nv_add_addr()
573 nvlist_add_nvlist(nvparent, name, nvl); in pfctl_nv_add_addr()
574 nvlist_destroy(nvl); in pfctl_nv_add_addr()
578 pf_nvaddr_to_addr(const nvlist_t *nvl, struct pf_addr *addr) in pf_nvaddr_to_addr() argument
583 data = nvlist_get_binary(nvl, "addr", &len); in pf_nvaddr_to_addr()
592 nvlist_t *nvl = nvlist_create(0); in pfctl_nv_add_addr_wrap() local
594 nvlist_add_number(nvl, "type", addr->type); in pfctl_nv_add_addr_wrap()
595 nvlist_add_number(nvl, "iflags", addr->iflags); in pfctl_nv_add_addr_wrap()
597 nvlist_add_string(nvl, "ifname", addr->v.ifname); in pfctl_nv_add_addr_wrap()
599 nvlist_add_string(nvl, "tblname", addr->v.tblname); in pfctl_nv_add_addr_wrap()
600 pfctl_nv_add_addr(nvl, "addr", &addr->v.a.addr); in pfctl_nv_add_addr_wrap()
601 pfctl_nv_add_addr(nvl, "mask", &addr->v.a.mask); in pfctl_nv_add_addr_wrap()
603 nvlist_add_nvlist(nvparent, name, nvl); in pfctl_nv_add_addr_wrap()
604 nvlist_destroy(nvl); in pfctl_nv_add_addr_wrap()
608 pf_nvaddr_wrap_to_addr_wrap(const nvlist_t *nvl, struct pf_addr_wrap *addr) in pf_nvaddr_wrap_to_addr_wrap() argument
612 addr->type = nvlist_get_number(nvl, "type"); in pf_nvaddr_wrap_to_addr_wrap()
613 addr->iflags = nvlist_get_number(nvl, "iflags"); in pf_nvaddr_wrap_to_addr_wrap()
615 strlcpy(addr->v.ifname, nvlist_get_string(nvl, "ifname"), in pf_nvaddr_wrap_to_addr_wrap()
617 addr->p.dyncnt = nvlist_get_number(nvl, "dyncnt"); in pf_nvaddr_wrap_to_addr_wrap()
620 strlcpy(addr->v.tblname, nvlist_get_string(nvl, "tblname"), in pf_nvaddr_wrap_to_addr_wrap()
622 addr->p.tblcnt = nvlist_get_number(nvl, "tblcnt"); in pf_nvaddr_wrap_to_addr_wrap()
625 pf_nvaddr_to_addr(nvlist_get_nvlist(nvl, "addr"), &addr->v.a.addr); in pf_nvaddr_wrap_to_addr_wrap()
626 pf_nvaddr_to_addr(nvlist_get_nvlist(nvl, "mask"), &addr->v.a.mask); in pf_nvaddr_wrap_to_addr_wrap()
634 nvlist_t *nvl = nvlist_create(0); in pfctl_nv_add_rule_addr() local
636 pfctl_nv_add_addr_wrap(nvl, "addr", &addr->addr); in pfctl_nv_add_rule_addr()
639 nvlist_add_number_array(nvl, "port", ports, 2); in pfctl_nv_add_rule_addr()
640 nvlist_add_number(nvl, "neg", addr->neg); in pfctl_nv_add_rule_addr()
641 nvlist_add_number(nvl, "port_op", addr->port_op); in pfctl_nv_add_rule_addr()
643 nvlist_add_nvlist(nvparent, name, nvl); in pfctl_nv_add_rule_addr()
644 nvlist_destroy(nvl); in pfctl_nv_add_rule_addr()
648 pf_nvrule_addr_to_rule_addr(const nvlist_t *nvl, struct pf_rule_addr *addr) in pf_nvrule_addr_to_rule_addr() argument
650 pf_nvaddr_wrap_to_addr_wrap(nvlist_get_nvlist(nvl, "addr"), &addr->addr); in pf_nvrule_addr_to_rule_addr()
652 pf_nvuint_16_array(nvl, "port", 2, addr->port, NULL); in pf_nvrule_addr_to_rule_addr()
653 addr->neg = nvlist_get_number(nvl, "neg"); in pf_nvrule_addr_to_rule_addr()
654 addr->port_op = nvlist_get_number(nvl, "port_op"); in pf_nvrule_addr_to_rule_addr()
658 pf_nvmape_to_mape(const nvlist_t *nvl, struct pf_mape_portset *mape) in pf_nvmape_to_mape() argument
660 mape->offset = nvlist_get_number(nvl, "offset"); in pf_nvmape_to_mape()
661 mape->psidlen = nvlist_get_number(nvl, "psidlen"); in pf_nvmape_to_mape()
662 mape->psid = nvlist_get_number(nvl, "psid"); in pf_nvmape_to_mape()
666 pf_nvpool_to_pool(const nvlist_t *nvl, struct pfctl_pool *pool) in pf_nvpool_to_pool() argument
671 data = nvlist_get_binary(nvl, "key", &len); in pf_nvpool_to_pool()
675 pf_nvaddr_to_addr(nvlist_get_nvlist(nvl, "counter"), &pool->counter); in pf_nvpool_to_pool()
677 pool->tblidx = nvlist_get_number(nvl, "tblidx"); in pf_nvpool_to_pool()
678 pf_nvuint_16_array(nvl, "proxy_port", 2, pool->proxy_port, NULL); in pf_nvpool_to_pool()
679 pool->opts = nvlist_get_number(nvl, "opts"); in pf_nvpool_to_pool()
681 if (nvlist_exists_nvlist(nvl, "mape")) in pf_nvpool_to_pool()
682 pf_nvmape_to_mape(nvlist_get_nvlist(nvl, "mape"), &pool->mape); in pf_nvpool_to_pool()
686 pf_nvrule_uid_to_rule_uid(const nvlist_t *nvl, struct pf_rule_uid *uid) in pf_nvrule_uid_to_rule_uid() argument
688 pf_nvuint_32_array(nvl, "uid", 2, uid->uid, NULL); in pf_nvrule_uid_to_rule_uid()
689 uid->op = nvlist_get_number(nvl, "op"); in pf_nvrule_uid_to_rule_uid()
693 pf_nvdivert_to_divert(const nvlist_t *nvl, struct pfctl_rule *rule) in pf_nvdivert_to_divert() argument
695 pf_nvaddr_to_addr(nvlist_get_nvlist(nvl, "addr"), &rule->divert.addr); in pf_nvdivert_to_divert()
696 rule->divert.port = nvlist_get_number(nvl, "port"); in pf_nvdivert_to_divert()
700 pf_nvrule_to_rule(const nvlist_t *nvl, struct pfctl_rule *rule) in pf_nvrule_to_rule() argument
706 rule->nr = nvlist_get_number(nvl, "nr"); in pf_nvrule_to_rule()
708 pf_nvrule_addr_to_rule_addr(nvlist_get_nvlist(nvl, "src"), &rule->src); in pf_nvrule_to_rule()
709 pf_nvrule_addr_to_rule_addr(nvlist_get_nvlist(nvl, "dst"), &rule->dst); in pf_nvrule_to_rule()
711 skip = nvlist_get_number_array(nvl, "skip", &skipcount); in pf_nvrule_to_rule()
717 labels = nvlist_get_string_array(nvl, "labels", &labelcount); in pf_nvrule_to_rule()
721 rule->ridentifier = nvlist_get_number(nvl, "ridentifier"); in pf_nvrule_to_rule()
722 strlcpy(rule->ifname, nvlist_get_string(nvl, "ifname"), IFNAMSIZ); in pf_nvrule_to_rule()
723 strlcpy(rule->qname, nvlist_get_string(nvl, "qname"), PF_QNAME_SIZE); in pf_nvrule_to_rule()
724 strlcpy(rule->pqname, nvlist_get_string(nvl, "pqname"), PF_QNAME_SIZE); in pf_nvrule_to_rule()
725 strlcpy(rule->tagname, nvlist_get_string(nvl, "tagname"), in pf_nvrule_to_rule()
727 strlcpy(rule->match_tagname, nvlist_get_string(nvl, "match_tagname"), in pf_nvrule_to_rule()
730 strlcpy(rule->overload_tblname, nvlist_get_string(nvl, "overload_tblname"), in pf_nvrule_to_rule()
733 pf_nvpool_to_pool(nvlist_get_nvlist(nvl, "rpool"), &rule->rdr); in pf_nvrule_to_rule()
735 rule->evaluations = nvlist_get_number(nvl, "evaluations"); in pf_nvrule_to_rule()
736 pf_nvuint_64_array(nvl, "packets", 2, rule->packets, NULL); in pf_nvrule_to_rule()
737 pf_nvuint_64_array(nvl, "bytes", 2, rule->bytes, NULL); in pf_nvrule_to_rule()
739 if (nvlist_exists_number(nvl, "timestamp")) { in pf_nvrule_to_rule()
740 rule->last_active_timestamp = nvlist_get_number(nvl, "timestamp"); in pf_nvrule_to_rule()
743 rule->os_fingerprint = nvlist_get_number(nvl, "os_fingerprint"); in pf_nvrule_to_rule()
745 rule->rtableid = nvlist_get_number(nvl, "rtableid"); in pf_nvrule_to_rule()
746 pf_nvuint_32_array(nvl, "timeout", PFTM_MAX, rule->timeout, NULL); in pf_nvrule_to_rule()
747 rule->max_states = nvlist_get_number(nvl, "max_states"); in pf_nvrule_to_rule()
748 rule->max_src_nodes = nvlist_get_number(nvl, "max_src_nodes"); in pf_nvrule_to_rule()
749 rule->max_src_states = nvlist_get_number(nvl, "max_src_states"); in pf_nvrule_to_rule()
750 rule->max_src_conn = nvlist_get_number(nvl, "max_src_conn"); in pf_nvrule_to_rule()
752 nvlist_get_number(nvl, "max_src_conn_rate.limit"); in pf_nvrule_to_rule()
754 nvlist_get_number(nvl, "max_src_conn_rate.seconds"); in pf_nvrule_to_rule()
755 rule->qid = nvlist_get_number(nvl, "qid"); in pf_nvrule_to_rule()
756 rule->pqid = nvlist_get_number(nvl, "pqid"); in pf_nvrule_to_rule()
757 rule->dnpipe = nvlist_get_number(nvl, "dnpipe"); in pf_nvrule_to_rule()
758 rule->dnrpipe = nvlist_get_number(nvl, "dnrpipe"); in pf_nvrule_to_rule()
759 rule->free_flags = nvlist_get_number(nvl, "dnflags"); in pf_nvrule_to_rule()
760 rule->prob = nvlist_get_number(nvl, "prob"); in pf_nvrule_to_rule()
761 rule->cuid = nvlist_get_number(nvl, "cuid"); in pf_nvrule_to_rule()
762 rule->cpid = nvlist_get_number(nvl, "cpid"); in pf_nvrule_to_rule()
764 rule->return_icmp = nvlist_get_number(nvl, "return_icmp"); in pf_nvrule_to_rule()
765 rule->return_icmp6 = nvlist_get_number(nvl, "return_icmp6"); in pf_nvrule_to_rule()
766 rule->max_mss = nvlist_get_number(nvl, "max_mss"); in pf_nvrule_to_rule()
767 rule->scrub_flags = nvlist_get_number(nvl, "scrub_flags"); in pf_nvrule_to_rule()
769 pf_nvrule_uid_to_rule_uid(nvlist_get_nvlist(nvl, "uid"), &rule->uid); in pf_nvrule_to_rule()
770 pf_nvrule_uid_to_rule_uid(nvlist_get_nvlist(nvl, "gid"), in pf_nvrule_to_rule()
773 rule->rule_flag = nvlist_get_number(nvl, "rule_flag"); in pf_nvrule_to_rule()
774 rule->action = nvlist_get_number(nvl, "action"); in pf_nvrule_to_rule()
775 rule->direction = nvlist_get_number(nvl, "direction"); in pf_nvrule_to_rule()
776 rule->log = nvlist_get_number(nvl, "log"); in pf_nvrule_to_rule()
777 rule->logif = nvlist_get_number(nvl, "logif"); in pf_nvrule_to_rule()
778 rule->quick = nvlist_get_number(nvl, "quick"); in pf_nvrule_to_rule()
779 rule->ifnot = nvlist_get_number(nvl, "ifnot"); in pf_nvrule_to_rule()
780 rule->match_tag_not = nvlist_get_number(nvl, "match_tag_not"); in pf_nvrule_to_rule()
781 rule->natpass = nvlist_get_number(nvl, "natpass"); in pf_nvrule_to_rule()
783 rule->keep_state = nvlist_get_number(nvl, "keep_state"); in pf_nvrule_to_rule()
784 rule->af = nvlist_get_number(nvl, "af"); in pf_nvrule_to_rule()
785 rule->proto = nvlist_get_number(nvl, "proto"); in pf_nvrule_to_rule()
786 rule->type = nvlist_get_number(nvl, "type"); in pf_nvrule_to_rule()
787 rule->code = nvlist_get_number(nvl, "code"); in pf_nvrule_to_rule()
788 rule->flags = nvlist_get_number(nvl, "flags"); in pf_nvrule_to_rule()
789 rule->flagset = nvlist_get_number(nvl, "flagset"); in pf_nvrule_to_rule()
790 rule->min_ttl = nvlist_get_number(nvl, "min_ttl"); in pf_nvrule_to_rule()
791 rule->allow_opts = nvlist_get_number(nvl, "allow_opts"); in pf_nvrule_to_rule()
792 rule->rt = nvlist_get_number(nvl, "rt"); in pf_nvrule_to_rule()
793 rule->return_ttl = nvlist_get_number(nvl, "return_ttl"); in pf_nvrule_to_rule()
794 rule->tos = nvlist_get_number(nvl, "tos"); in pf_nvrule_to_rule()
795 rule->set_tos = nvlist_get_number(nvl, "set_tos"); in pf_nvrule_to_rule()
796 rule->anchor_relative = nvlist_get_number(nvl, "anchor_relative"); in pf_nvrule_to_rule()
797 rule->anchor_wildcard = nvlist_get_number(nvl, "anchor_wildcard"); in pf_nvrule_to_rule()
799 rule->flush = nvlist_get_number(nvl, "flush"); in pf_nvrule_to_rule()
800 rule->prio = nvlist_get_number(nvl, "prio"); in pf_nvrule_to_rule()
801 pf_nvuint_8_array(nvl, "set_prio", 2, rule->set_prio, NULL); in pf_nvrule_to_rule()
803 pf_nvdivert_to_divert(nvlist_get_nvlist(nvl, "divert"), rule); in pf_nvrule_to_rule()
805 rule->states_cur = nvlist_get_number(nvl, "states_cur"); in pf_nvrule_to_rule()
806 rule->states_tot = nvlist_get_number(nvl, "states_tot"); in pf_nvrule_to_rule()
807 rule->src_nodes = nvlist_get_number(nvl, "src_nodes"); in pf_nvrule_to_rule()
811 pfctl_nveth_addr_to_eth_addr(const nvlist_t *nvl, struct pfctl_eth_addr *addr) in pfctl_nveth_addr_to_eth_addr() argument
817 data = nvlist_get_binary(nvl, "addr", &len); in pfctl_nveth_addr_to_eth_addr()
821 data = nvlist_get_binary(nvl, "mask", &len); in pfctl_nveth_addr_to_eth_addr()
825 addr->neg = nvlist_get_bool(nvl, "neg"); in pfctl_nveth_addr_to_eth_addr()
834 nvlist_t *nvl; in pfctl_eth_addr_to_nveth_addr() local
836 nvl = nvlist_create(0); in pfctl_eth_addr_to_nveth_addr()
837 if (nvl == NULL) in pfctl_eth_addr_to_nveth_addr()
840 nvlist_add_bool(nvl, "neg", addr->neg); in pfctl_eth_addr_to_nveth_addr()
841 nvlist_add_binary(nvl, "addr", &addr->addr, ETHER_ADDR_LEN); in pfctl_eth_addr_to_nveth_addr()
842 nvlist_add_binary(nvl, "mask", &addr->mask, ETHER_ADDR_LEN); in pfctl_eth_addr_to_nveth_addr()
844 return (nvl); in pfctl_eth_addr_to_nveth_addr()
848 pfctl_nveth_rule_to_eth_rule(const nvlist_t *nvl, struct pfctl_eth_rule *rule) in pfctl_nveth_rule_to_eth_rule() argument
853 rule->nr = nvlist_get_number(nvl, "nr"); in pfctl_nveth_rule_to_eth_rule()
854 rule->quick = nvlist_get_bool(nvl, "quick"); in pfctl_nveth_rule_to_eth_rule()
855 strlcpy(rule->ifname, nvlist_get_string(nvl, "ifname"), IFNAMSIZ); in pfctl_nveth_rule_to_eth_rule()
856 rule->ifnot = nvlist_get_bool(nvl, "ifnot"); in pfctl_nveth_rule_to_eth_rule()
857 rule->direction = nvlist_get_number(nvl, "direction"); in pfctl_nveth_rule_to_eth_rule()
858 rule->proto = nvlist_get_number(nvl, "proto"); in pfctl_nveth_rule_to_eth_rule()
859 strlcpy(rule->match_tagname, nvlist_get_string(nvl, "match_tagname"), in pfctl_nveth_rule_to_eth_rule()
861 rule->match_tag = nvlist_get_number(nvl, "match_tag"); in pfctl_nveth_rule_to_eth_rule()
862 rule->match_tag_not = nvlist_get_bool(nvl, "match_tag_not"); in pfctl_nveth_rule_to_eth_rule()
864 labels = nvlist_get_string_array(nvl, "labels", &labelcount); in pfctl_nveth_rule_to_eth_rule()
868 rule->ridentifier = nvlist_get_number(nvl, "ridentifier"); in pfctl_nveth_rule_to_eth_rule()
870 pfctl_nveth_addr_to_eth_addr(nvlist_get_nvlist(nvl, "src"), in pfctl_nveth_rule_to_eth_rule()
872 pfctl_nveth_addr_to_eth_addr(nvlist_get_nvlist(nvl, "dst"), in pfctl_nveth_rule_to_eth_rule()
875 pf_nvrule_addr_to_rule_addr(nvlist_get_nvlist(nvl, "ipsrc"), in pfctl_nveth_rule_to_eth_rule()
877 pf_nvrule_addr_to_rule_addr(nvlist_get_nvlist(nvl, "ipdst"), in pfctl_nveth_rule_to_eth_rule()
880 rule->evaluations = nvlist_get_number(nvl, "evaluations"); in pfctl_nveth_rule_to_eth_rule()
881 rule->packets[0] = nvlist_get_number(nvl, "packets-in"); in pfctl_nveth_rule_to_eth_rule()
882 rule->packets[1] = nvlist_get_number(nvl, "packets-out"); in pfctl_nveth_rule_to_eth_rule()
883 rule->bytes[0] = nvlist_get_number(nvl, "bytes-in"); in pfctl_nveth_rule_to_eth_rule()
884 rule->bytes[1] = nvlist_get_number(nvl, "bytes-out"); in pfctl_nveth_rule_to_eth_rule()
886 if (nvlist_exists_number(nvl, "timestamp")) { in pfctl_nveth_rule_to_eth_rule()
887 rule->last_active_timestamp = nvlist_get_number(nvl, "timestamp"); in pfctl_nveth_rule_to_eth_rule()
890 strlcpy(rule->qname, nvlist_get_string(nvl, "qname"), PF_QNAME_SIZE); in pfctl_nveth_rule_to_eth_rule()
891 strlcpy(rule->tagname, nvlist_get_string(nvl, "tagname"), in pfctl_nveth_rule_to_eth_rule()
894 rule->dnpipe = nvlist_get_number(nvl, "dnpipe"); in pfctl_nveth_rule_to_eth_rule()
895 rule->dnflags = nvlist_get_number(nvl, "dnflags"); in pfctl_nveth_rule_to_eth_rule()
897 rule->anchor_relative = nvlist_get_number(nvl, "anchor_relative"); in pfctl_nveth_rule_to_eth_rule()
898 rule->anchor_wildcard = nvlist_get_number(nvl, "anchor_wildcard"); in pfctl_nveth_rule_to_eth_rule()
900 strlcpy(rule->bridge_to, nvlist_get_string(nvl, "bridge_to"), in pfctl_nveth_rule_to_eth_rule()
903 rule->action = nvlist_get_number(nvl, "action"); in pfctl_nveth_rule_to_eth_rule()
910 nvlist_t *nvl; in pfctl_get_eth_rulesets_info() local
915 nvl = nvlist_create(0); in pfctl_get_eth_rulesets_info()
916 nvlist_add_string(nvl, "path", path); in pfctl_get_eth_rulesets_info()
918 if ((ret = pfctl_do_ioctl(dev, DIOCGETETHRULESETS, 256, &nvl)) != 0) in pfctl_get_eth_rulesets_info()
921 ri->nr = nvlist_get_number(nvl, "nr"); in pfctl_get_eth_rulesets_info()
924 nvlist_destroy(nvl); in pfctl_get_eth_rulesets_info()
932 nvlist_t *nvl; in pfctl_get_eth_ruleset() local
937 nvl = nvlist_create(0); in pfctl_get_eth_ruleset()
938 nvlist_add_string(nvl, "path", path); in pfctl_get_eth_ruleset()
939 nvlist_add_number(nvl, "nr", nr); in pfctl_get_eth_ruleset()
941 if ((ret = pfctl_do_ioctl(dev, DIOCGETETHRULESET, 1024, &nvl)) != 0) in pfctl_get_eth_ruleset()
944 ri->nr = nvlist_get_number(nvl, "nr"); in pfctl_get_eth_ruleset()
945 strlcpy(ri->path, nvlist_get_string(nvl, "path"), MAXPATHLEN); in pfctl_get_eth_ruleset()
946 strlcpy(ri->name, nvlist_get_string(nvl, "name"), in pfctl_get_eth_ruleset()
950 nvlist_destroy(nvl); in pfctl_get_eth_ruleset()
958 nvlist_t *nvl; in pfctl_get_eth_rules_info() local
963 nvl = nvlist_create(0); in pfctl_get_eth_rules_info()
964 nvlist_add_string(nvl, "anchor", path); in pfctl_get_eth_rules_info()
966 if ((ret = pfctl_do_ioctl(dev, DIOCGETETHRULES, 1024, &nvl)) != 0) in pfctl_get_eth_rules_info()
969 rules->nr = nvlist_get_number(nvl, "nr"); in pfctl_get_eth_rules_info()
970 rules->ticket = nvlist_get_number(nvl, "ticket"); in pfctl_get_eth_rules_info()
973 nvlist_destroy(nvl); in pfctl_get_eth_rules_info()
982 nvlist_t *nvl; in pfctl_get_eth_rule() local
985 nvl = nvlist_create(0); in pfctl_get_eth_rule()
987 nvlist_add_string(nvl, "anchor", path); in pfctl_get_eth_rule()
988 nvlist_add_number(nvl, "ticket", ticket); in pfctl_get_eth_rule()
989 nvlist_add_number(nvl, "nr", nr); in pfctl_get_eth_rule()
990 nvlist_add_bool(nvl, "clear", clear); in pfctl_get_eth_rule()
992 if ((ret = pfctl_do_ioctl(dev, DIOCGETETHRULE, 4096, &nvl)) != 0) in pfctl_get_eth_rule()
995 pfctl_nveth_rule_to_eth_rule(nvl, rule); in pfctl_get_eth_rule()
998 strlcpy(anchor_call, nvlist_get_string(nvl, "anchor_call"), in pfctl_get_eth_rule()
1002 nvlist_destroy(nvl); in pfctl_get_eth_rule()
1011 nvlist_t *nvl, *addr; in pfctl_add_eth_rule() local
1016 nvl = nvlist_create(0); in pfctl_add_eth_rule()
1018 nvlist_add_number(nvl, "ticket", ticket); in pfctl_add_eth_rule()
1019 nvlist_add_string(nvl, "anchor", anchor); in pfctl_add_eth_rule()
1020 nvlist_add_string(nvl, "anchor_call", anchor_call); in pfctl_add_eth_rule()
1022 nvlist_add_number(nvl, "nr", r->nr); in pfctl_add_eth_rule()
1023 nvlist_add_bool(nvl, "quick", r->quick); in pfctl_add_eth_rule()
1024 nvlist_add_string(nvl, "ifname", r->ifname); in pfctl_add_eth_rule()
1025 nvlist_add_bool(nvl, "ifnot", r->ifnot); in pfctl_add_eth_rule()
1026 nvlist_add_number(nvl, "direction", r->direction); in pfctl_add_eth_rule()
1027 nvlist_add_number(nvl, "proto", r->proto); in pfctl_add_eth_rule()
1028 nvlist_add_string(nvl, "match_tagname", r->match_tagname); in pfctl_add_eth_rule()
1029 nvlist_add_bool(nvl, "match_tag_not", r->match_tag_not); in pfctl_add_eth_rule()
1033 nvlist_destroy(nvl); in pfctl_add_eth_rule()
1036 nvlist_add_nvlist(nvl, "src", addr); in pfctl_add_eth_rule()
1041 nvlist_destroy(nvl); in pfctl_add_eth_rule()
1044 nvlist_add_nvlist(nvl, "dst", addr); in pfctl_add_eth_rule()
1047 pfctl_nv_add_rule_addr(nvl, "ipsrc", &r->ipsrc); in pfctl_add_eth_rule()
1048 pfctl_nv_add_rule_addr(nvl, "ipdst", &r->ipdst); in pfctl_add_eth_rule()
1053 nvlist_append_string_array(nvl, "labels", in pfctl_add_eth_rule()
1057 nvlist_add_number(nvl, "ridentifier", r->ridentifier); in pfctl_add_eth_rule()
1059 nvlist_add_string(nvl, "qname", r->qname); in pfctl_add_eth_rule()
1060 nvlist_add_string(nvl, "tagname", r->tagname); in pfctl_add_eth_rule()
1061 nvlist_add_number(nvl, "dnpipe", r->dnpipe); in pfctl_add_eth_rule()
1062 nvlist_add_number(nvl, "dnflags", r->dnflags); in pfctl_add_eth_rule()
1064 nvlist_add_string(nvl, "bridge_to", r->bridge_to); in pfctl_add_eth_rule()
1066 nvlist_add_number(nvl, "action", r->action); in pfctl_add_eth_rule()
1068 packed = nvlist_pack(nvl, &size); in pfctl_add_eth_rule()
1070 nvlist_destroy(nvl); in pfctl_add_eth_rule()
1082 nvlist_destroy(nvl); in pfctl_add_eth_rule()
1751 nvlist_t *nvl; in pfctl_get_clear_rule() local
1754 nvl = nvlist_create(0); in pfctl_get_clear_rule()
1755 if (nvl == 0) in pfctl_get_clear_rule()
1758 nvlist_add_number(nvl, "nr", nr); in pfctl_get_clear_rule()
1759 nvlist_add_number(nvl, "ticket", ticket); in pfctl_get_clear_rule()
1760 nvlist_add_string(nvl, "anchor", anchor); in pfctl_get_clear_rule()
1761 nvlist_add_number(nvl, "ruleset", ruleset); in pfctl_get_clear_rule()
1764 nvlist_add_bool(nvl, "clear_counter", true); in pfctl_get_clear_rule()
1766 if ((ret = pfctl_do_ioctl(dev, DIOCGETRULENV, 8192, &nvl)) != 0) in pfctl_get_clear_rule()
1769 pf_nvrule_to_rule(nvlist_get_nvlist(nvl, "rule"), rule); in pfctl_get_clear_rule()
1772 strlcpy(anchor_call, nvlist_get_string(nvl, "anchor_call"), in pfctl_get_clear_rule()
1776 nvlist_destroy(nvl); in pfctl_get_clear_rule()
1784 nvlist_t *nvl; in pfctl_set_keepcounters() local
1787 nvl = nvlist_create(0); in pfctl_set_keepcounters()
1789 nvlist_add_bool(nvl, "keep_counters", keep); in pfctl_set_keepcounters()
1791 nv.data = nvlist_pack(nvl, &nv.len); in pfctl_set_keepcounters()
1794 nvlist_destroy(nvl); in pfctl_set_keepcounters()
2291 nvlist_t *nvl; in pfctl_set_syncookies() local
2310 nvl = nvlist_create(0); in pfctl_set_syncookies()
2312 nvlist_add_bool(nvl, "enabled", s->mode != PFCTL_SYNCOOKIES_NEVER); in pfctl_set_syncookies()
2313 nvlist_add_bool(nvl, "adaptive", s->mode == PFCTL_SYNCOOKIES_ADAPTIVE); in pfctl_set_syncookies()
2314 nvlist_add_number(nvl, "highwater", hi); in pfctl_set_syncookies()
2315 nvlist_add_number(nvl, "lowwater", lo); in pfctl_set_syncookies()
2317 nv.data = nvlist_pack(nvl, &nv.len); in pfctl_set_syncookies()
2319 nvlist_destroy(nvl); in pfctl_set_syncookies()
2320 nvl = NULL; in pfctl_set_syncookies()
2334 nvlist_t *nvl; in pfctl_get_syncookies() local
2348 nvl = nvlist_create(0); in pfctl_get_syncookies()
2350 if ((ret = pfctl_do_ioctl(dev, DIOCGETSYNCOOKIES, 256, &nvl)) != 0) { in pfctl_get_syncookies()
2355 enabled = nvlist_get_bool(nvl, "enabled"); in pfctl_get_syncookies()
2356 adaptive = nvlist_get_bool(nvl, "adaptive"); in pfctl_get_syncookies()
2367 s->highwater = nvlist_get_number(nvl, "highwater") * 100 / state_limit; in pfctl_get_syncookies()
2368 s->lowwater = nvlist_get_number(nvl, "lowwater") * 100 / state_limit; in pfctl_get_syncookies()
2369 s->halfopen_states = nvlist_get_number(nvl, "halfopen_states"); in pfctl_get_syncookies()
2372 nvlist_destroy(nvl); in pfctl_get_syncookies()