On 2022/10/06 18:20, Martijn van Duren wrote: > Just before lock mbuhl pointed out a new limit placed in pf, not > exported yet over snmp. Here's a diff to add support for > PF_LIMIT_ANCHORS. > > the OPENBSD-PF-MIB.txt DESCRIPTION is adapted from pfLimitMaxTables. > The snmp{,d} parts are there just for pretty printing. > > OK? > > martijn@ > > Index: share/snmp/OPENBSD-PF-MIB.txt > =================================================================== > RCS file: /cvs/src/share/snmp/OPENBSD-PF-MIB.txt,v > retrieving revision 1.7 > diff -u -p -r1.7 OPENBSD-PF-MIB.txt > --- share/snmp/OPENBSD-PF-MIB.txt 23 Mar 2021 19:37:51 -0000 1.7 > +++ share/snmp/OPENBSD-PF-MIB.txt 6 Oct 2022 16:14:32 -0000 > @@ -493,6 +493,14 @@ pfLimitMaxTableEntries OBJECT-TYPE > tables." > ::= { pfLimits 5 } > > +pfLimitAnchors OBJECT-TYPE > + SYNTAX Unsigned32 > + MAX-ACCESS read-only > + STATUS current > + DESCRIPTION > + "The maximum number of anchors that can be created as part of the > + active ruleset." > + ::= { pfLimits 6 } > > -- pfTimeouts
Needs something like this on top; otherwise OK (and smilint is happy) Index: OPENBSD-PF-MIB.txt =================================================================== RCS file: /cvs/src/share/snmp/OPENBSD-PF-MIB.txt,v retrieving revision 1.7 diff -u -p -r1.7 OPENBSD-PF-MIB.txt --- OPENBSD-PF-MIB.txt 23 Mar 2021 19:37:51 -0000 1.7 +++ OPENBSD-PF-MIB.txt 6 Oct 2022 19:37:41 -0000 @@ -36,7 +36,7 @@ IMPORTS FROM SNMPv2-CONF; pfMIBObjects MODULE-IDENTITY - LAST-UPDATED "202103231933Z" + LAST-UPDATED "202210061936Z" ORGANIZATION "OpenBSD" CONTACT-INFO " Author: Joel Knight @@ -46,6 +46,8 @@ pfMIBObjects MODULE-IDENTITY DESCRIPTION "The MIB module for gathering information from OpenBSD's packet filter. " + REVISION "202210061936Z" + DESCRIPTION "Add counter exporting the maximum number of anchors that can be created" REVISION "202103231933Z" DESCRIPTION "Use DisplayString/SnmpAdminString not OCTET STRING where appropriate" REVISION "201506091728Z" > > Index: usr.bin/snmp/mib.h > =================================================================== > RCS file: /cvs/src/usr.bin/snmp/mib.h,v > retrieving revision 1.10 > diff -u -p -r1.10 mib.h > --- usr.bin/snmp/mib.h 23 Mar 2021 22:05:21 -0000 1.10 > +++ usr.bin/snmp/mib.h 6 Oct 2022 16:14:32 -0000 > @@ -580,6 +580,7 @@ > #define MIB_pfLimitFragments MIB_pfLimits, 3 > #define MIB_pfLimitMaxTables MIB_pfLimits, 4 > #define MIB_pfLimitMaxTableEntries MIB_pfLimits, 5 > +#define MIB_pfLimitAnchors MIB_pfLimits, 6 > #define MIB_pfTimeouts MIB_pfMIBObjects, 7 > #define MIB_pfTimeoutTcpFirst MIB_pfTimeouts, 1 > #define MIB_pfTimeoutTcpOpening MIB_pfTimeouts, 2 > @@ -1217,6 +1218,7 @@ > { MIBDECL(pfLimitFragments) }, \ > { MIBDECL(pfLimitMaxTables) }, \ > { MIBDECL(pfLimitMaxTableEntries) }, \ > + { MIBDECL(pfLimitAnchors) }, \ > { MIBDECL(pfTimeouts) }, \ > { MIBDECL(pfTimeoutTcpFirst) }, \ > { MIBDECL(pfTimeoutTcpOpening) }, \ > Index: usr.sbin/snmpd/mib.h > =================================================================== > RCS file: /cvs/src/usr.sbin/snmpd/mib.h,v > retrieving revision 1.41 > diff -u -p -r1.41 mib.h > --- usr.sbin/snmpd/mib.h 19 Jan 2022 10:26:37 -0000 1.41 > +++ usr.sbin/snmpd/mib.h 6 Oct 2022 16:14:32 -0000 > @@ -550,6 +550,7 @@ > #define MIB_pfLimitFragments MIB_pfLimits, 3 > #define MIB_pfLimitMaxTables MIB_pfLimits, 4 > #define MIB_pfLimitMaxTableEntries MIB_pfLimits, 5 > +#define MIB_pfLimitAnchors MIB_pfLimits, 6 > #define MIB_pfTimeouts MIB_pfMIBObjects, 7 > #define MIB_pfTimeoutTcpFirst MIB_pfTimeouts, 1 > #define MIB_pfTimeoutTcpOpening MIB_pfTimeouts, 2 > @@ -1126,6 +1127,7 @@ > { MIBDECL(pfLimitFragments) }, \ > { MIBDECL(pfLimitMaxTables) }, \ > { MIBDECL(pfLimitMaxTableEntries) }, \ > + { MIBDECL(pfLimitAnchors) }, \ > { MIBDECL(pfTimeouts) }, \ > { MIBDECL(pfTimeoutTcpFirst) }, \ > { MIBDECL(pfTimeoutTcpOpening) }, \ > Index: libexec/snmpd/snmpd_metrics/mib.c > =================================================================== > RCS file: /cvs/src/libexec/snmpd/snmpd_metrics/mib.c,v > retrieving revision 1.1.1.1 > diff -u -p -r1.1.1.1 mib.c > --- libexec/snmpd/snmpd_metrics/mib.c 1 Sep 2022 14:20:34 -0000 1.1.1.1 > +++ libexec/snmpd/snmpd_metrics/mib.c 6 Oct 2022 16:14:32 -0000 > @@ -146,6 +146,7 @@ struct agentx_object *pfSrcTrackCount, * > struct agentx_object *pfSrcTrackRemovals; > struct agentx_object *pfLimitStates, *pfLimitSourceNodes, *pfLimitFragments; > struct agentx_object *pfLimitMaxTables, *pfLimitMaxTableEntries; > +struct agentx_object *pfLimitAnchors; > struct agentx_object *pfTimeoutTcpFirst, *pfTimeoutTcpOpening; > struct agentx_object *pfTimeoutTcpEstablished, *pfTimeoutTcpClosing; > struct agentx_object *pfTimeoutTcpFinWait, *pfTimeoutTcpClosed; > @@ -1404,6 +1405,8 @@ mib_pflimits(struct agentx_varbind *vb) > pl.index = PF_LIMIT_TABLES; > else if (obj == pfLimitMaxTableEntries) > pl.index = PF_LIMIT_TABLE_ENTRIES; > + else if (obj == pfLimitAnchors) > + pl.index = PF_LIMIT_ANCHORS; > else > fatal("%s: Unexpected object", __func__); > > @@ -3614,6 +3617,9 @@ main(int argc, char *argv[]) > AGENTX_OID(PFLIMITMAXTABLES), NULL, 0, 0, mib_pflimits)) == NULL || > (pfLimitMaxTableEntries = agentx_object(pfMIBObjects, > AGENTX_OID(PFLIMITMAXTABLEENTRIES), NULL, 0, 0, > + mib_pflimits)) == NULL || > + (pfLimitAnchors = agentx_object(pfMIBObjects, > + AGENTX_OID(PFLIMITANCHORS), NULL, 0, 0, > mib_pflimits)) == NULL) > fatal("agentx_object"); > > Index: libexec/snmpd/snmpd_metrics/mib.h > =================================================================== > RCS file: /cvs/src/libexec/snmpd/snmpd_metrics/mib.h,v > retrieving revision 1.1.1.1 > diff -u -p -r1.1.1.1 mib.h > --- libexec/snmpd/snmpd_metrics/mib.h 1 Sep 2022 14:20:34 -0000 1.1.1.1 > +++ libexec/snmpd/snmpd_metrics/mib.h 6 Oct 2022 16:14:32 -0000 > @@ -300,6 +300,7 @@ > #define PFLIMITFRAGMENTS PFLIMITS, 3 > #define PFLIMITMAXTABLES PFLIMITS, 4 > #define PFLIMITMAXTABLEENTRIES PFLIMITS, 5 > +#define PFLIMITANCHORS PFLIMITS, 6 > #define PFTIMEOUTTCPFIRST PFTIMEOUTS, 1 > #define PFTIMEOUTTCPOPENING PFTIMEOUTS, 2 > #define PFTIMEOUTTCPESTABLISHED PFTIMEOUTS, 3 >