aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/bsnmpd
diff options
context:
space:
mode:
authorKristof Provost <kp@FreeBSD.org>2024-06-07 01:08:50 +0000
committerKristof Provost <kp@FreeBSD.org>2024-06-07 18:59:02 +0000
commitd9ab8999313845e87c67532437a0441d9cd57e72 (patch)
tree8b0e69443ca7ad0e707dbc1d4ee98e2ef760527f /usr.sbin/bsnmpd
parentea6d6addc9bc78a174fc667d4f41f5f62ffdd8ae (diff)
Diffstat (limited to 'usr.sbin/bsnmpd')
-rw-r--r--usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c b/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c
index f02329901f69..9f7e6d4f31cb 100644
--- a/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c
+++ b/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c
@@ -318,36 +318,34 @@ pf_limits(struct snmp_context __unused *ctx, struct snmp_value *val,
u_int sub, u_int __unused vindex, enum snmp_op op)
{
asn_subid_t which = val->var.subs[sub - 1];
- struct pfioc_limit pl;
+ unsigned int index, limit;
if (op == SNMP_OP_SET)
return (SNMP_ERR_NOT_WRITEABLE);
if (op == SNMP_OP_GET) {
- bzero(&pl, sizeof(struct pfioc_limit));
-
switch (which) {
case LEAF_pfLimitsStates:
- pl.index = PF_LIMIT_STATES;
+ index = PF_LIMIT_STATES;
break;
case LEAF_pfLimitsSrcNodes:
- pl.index = PF_LIMIT_SRC_NODES;
+ index = PF_LIMIT_SRC_NODES;
break;
case LEAF_pfLimitsFrags:
- pl.index = PF_LIMIT_FRAGS;
+ index = PF_LIMIT_FRAGS;
break;
default:
return (SNMP_ERR_NOSUCHNAME);
}
- if (ioctl(pfctl_fd(pfh), DIOCGETLIMIT, &pl)) {
+ if (pfctl_get_limit(pfh, index, &limit)) {
syslog(LOG_ERR, "pf_limits(): ioctl(): %s",
strerror(errno));
return (SNMP_ERR_GENERR);
}
- val->v.uint32 = pl.limit;
+ val->v.uint32 = limit;
return (SNMP_ERR_NOERROR);
}