aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2021-04-08 08:36:18 +0000
committerKristof Provost <kp@FreeBSD.org>2021-05-07 08:15:42 +0000
commit1398367b3a89ce2bf882ecbd181d08cfd044a7dc (patch)
tree8be5b593c6b5c9e6fd9b514b1bf821b7f58b59a4
parent6fd48efd8d6d4a6fc12e60baf9ea717034b40eca (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.c6
-rw-r--r--lib/libpfctl/libpfctl.h10
-rw-r--r--sbin/pfctl/pfctl.c6
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: