aboutsummaryrefslogtreecommitdiff
path: root/sys/netpfil
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2025-08-27 15:51:29 +0000
committerKristof Provost <kp@FreeBSD.org>2025-09-25 12:41:09 +0000
commitb9d652bb75ffa0945a3bebf68d6d82de26efd269 (patch)
tree20554b72b0993980996f6ead44a44257d646338a /sys/netpfil
parentd3b73a944b11311b8428f30b019802ebe7aeaef8 (diff)
Diffstat (limited to 'sys/netpfil')
-rw-r--r--sys/netpfil/pf/pf.c2
-rw-r--r--sys/netpfil/pf/pf_nl.c1
-rw-r--r--sys/netpfil/pf/pf_nl.h1
3 files changed, 3 insertions, 1 deletions
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index 450e465e926a..ec6960180413 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -5747,7 +5747,7 @@ pf_match_rule(struct pf_test_ctx *ctx, struct pf_kruleset *ruleset)
if ((rule_flag & PFRULE_EXPIRED) == 0 &&
atomic_cmpset_int(&r->rule_flag, rule_flag,
rule_flag | PFRULE_EXPIRED)) {
- //r->exptime = gettime();
+ r->exptime = time_uptime;
} else {
r = TAILQ_NEXT(r, entries);
continue;
diff --git a/sys/netpfil/pf/pf_nl.c b/sys/netpfil/pf/pf_nl.c
index 5c8f56ea4567..ff3edd43e3a5 100644
--- a/sys/netpfil/pf/pf_nl.c
+++ b/sys/netpfil/pf/pf_nl.c
@@ -1025,6 +1025,7 @@ pf_handle_getrule(struct nlmsghdr *hdr, struct nl_pstate *npt)
nlattr_add_u64(nw, PF_RT_SRC_NODES_NAT, counter_u64_fetch(rule->src_nodes[PF_SN_NAT]));
nlattr_add_u64(nw, PF_RT_SRC_NODES_ROUTE, counter_u64_fetch(rule->src_nodes[PF_SN_ROUTE]));
nlattr_add_pf_threshold(nw, PF_RT_PKTRATE, &rule->pktrate);
+ nlattr_add_u64(nw, PF_RT_EXPTIME, time_second - (time_uptime - rule->exptime));
error = pf_kanchor_copyout(ruleset, rule, anchor_call, sizeof(anchor_call));
MPASS(error == 0);
diff --git a/sys/netpfil/pf/pf_nl.h b/sys/netpfil/pf/pf_nl.h
index b769421bbfcc..38891339450e 100644
--- a/sys/netpfil/pf/pf_nl.h
+++ b/sys/netpfil/pf/pf_nl.h
@@ -285,6 +285,7 @@ enum pf_rule_type_t {
PF_RT_MAX_PKT_SIZE = 83, /* u16 */
PF_RT_TYPE_2 = 84, /* u16 */
PF_RT_CODE_2 = 85, /* u16 */
+ PF_RT_EXPTIME = 86, /* u64 */
};
enum pf_addrule_type_t {