diff options
| author | Kristof Provost <kp@FreeBSD.org> | 2021-04-08 08:36:18 +0000 |
|---|---|---|
| committer | Kristof Provost <kp@FreeBSD.org> | 2021-05-07 08:15:42 +0000 |
| commit | 1398367b3a89ce2bf882ecbd181d08cfd044a7dc (patch) | |
| tree | 8be5b593c6b5c9e6fd9b514b1bf821b7f58b59a4 | |
| parent | 6fd48efd8d6d4a6fc12e60baf9ea717034b40eca (diff) | |
libpfctl: Fix u_* counters
struct pf_rule had a few counter_u64_t counters. Those couldn't be
usefully comminicated with userspace, so the fields were doubled up in
uint64_t u_* versions.
Now that we use struct pfctl_rule (i.e. a fully userspace version) we
can safely change the structure and remove this wart.
Reviewed by: glebius
MFC after: 4 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D29645
(cherry picked from commit ab5707a5cf86ed66dbd11e03ad9676766da9a47b)
| -rw-r--r-- | lib/libpfctl/libpfctl.c | 6 | ||||
| -rw-r--r-- | lib/libpfctl/libpfctl.h | 10 | ||||
| -rw-r--r-- | sbin/pfctl/pfctl.c | 6 |
3 files changed, 9 insertions, 13 deletions
diff --git a/lib/libpfctl/libpfctl.c b/lib/libpfctl/libpfctl.c index dc174d8d5b72..2a7b64f1cbc8 100644 --- a/lib/libpfctl/libpfctl.c +++ b/lib/libpfctl/libpfctl.c @@ -367,9 +367,9 @@ pf_nvrule_to_rule(const nvlist_t *nvl, struct pfctl_rule *rule) pf_nvdivert_to_divert(nvlist_get_nvlist(nvl, "divert"), rule); - rule->u_states_cur = nvlist_get_number(nvl, "states_cur"); - rule->u_states_tot = nvlist_get_number(nvl, "states_tot"); - rule->u_src_nodes = nvlist_get_number(nvl, "src_nodes"); + rule->states_cur = nvlist_get_number(nvl, "states_cur"); + rule->states_tot = nvlist_get_number(nvl, "states_tot"); + rule->src_nodes = nvlist_get_number(nvl, "src_nodes"); } int diff --git a/lib/libpfctl/libpfctl.h b/lib/libpfctl/libpfctl.h index 996830619489..95f6d4e3c77f 100644 --- a/lib/libpfctl/libpfctl.h +++ b/lib/libpfctl/libpfctl.h @@ -81,9 +81,9 @@ struct pfctl_rule { uid_t cuid; pid_t cpid; - counter_u64_t states_cur; - counter_u64_t states_tot; - counter_u64_t src_nodes; + uint64_t states_cur; + uint64_t states_tot; + uint64_t src_nodes; u_int16_t return_icmp; u_int16_t return_icmp6; @@ -129,10 +129,6 @@ struct pfctl_rule { struct pf_addr addr; u_int16_t port; } divert; - - uint64_t u_states_cur; - uint64_t u_states_tot; - uint64_t u_src_nodes; }; TAILQ_HEAD(pfctl_rulequeue, pfctl_rule); diff --git a/sbin/pfctl/pfctl.c b/sbin/pfctl/pfctl.c index 548aab0f839e..bc646ab335e1 100644 --- a/sbin/pfctl/pfctl.c +++ b/sbin/pfctl/pfctl.c @@ -891,12 +891,12 @@ pfctl_print_rule_counters(struct pfctl_rule *rule, int opts) (unsigned long long)(rule->packets[0] + rule->packets[1]), (unsigned long long)(rule->bytes[0] + - rule->bytes[1]), (uintmax_t)rule->u_states_cur); + rule->bytes[1]), (uintmax_t)rule->states_cur); if (!(opts & PF_OPT_DEBUG)) printf(" [ Inserted: uid %u pid %u " "State Creations: %-6ju]\n", (unsigned)rule->cuid, (unsigned)rule->cpid, - (uintmax_t)rule->u_states_tot); + (uintmax_t)rule->states_tot); } } @@ -1012,7 +1012,7 @@ pfctl_show_rules(int dev, char *path, int opts, enum pfctl_show format, (unsigned long long)rule.bytes[0], (unsigned long long)rule.packets[1], (unsigned long long)rule.bytes[1], - (uintmax_t)rule.u_states_tot); + (uintmax_t)rule.states_tot); } break; case PFCTL_SHOW_RULES: |
