Thank you, it was a faulty snmpd_metrics Marc
> On 16 Jan 2025, at 13:30, Martijn van Duren <openbsd+m...@list.imperialat.at> > wrote: > > Just installed a fresh OpenBSD 7.6 machine and created >64 interfaces > with: > i=0; while [ $i -le 80 ]; do doas ifconfig trunk$i create; i=$((i+1)); done > > Doing a full run gives me the following: > openbsd76$ snmp walk -v2c -cpublic 127.0.0.1 pfifdescr | wc -l > > 92 > > So the fix seems to be working for me with the testcase presented to > me prior. Without a proper testcase I can't debug this issue > unfortunately. Some things you could look at: > - Do you have a faulty snmpd_metrics installed (try to recompile and > install it) > - Do all interfaces still show up in pfctl? > - Do interfaces of another type (e.g. trunk as my test above) show > up above the 64 entry limit? > - Does the bug also show up on another machine? > > martijn@ > > On Wed, 2025-01-15 at 09:58 +0100, Marc Boisis wrote: >> Hello, >> >> Yesterday updated my router to 7.6 and the 64 interfaces limit reappeared. >> I downloaded the 7.6 sources , and the patch on >> libexec/snmpd/snmpd_metrics/pf.c is applied correctly. >> >> So the bug has moved elsewhere.. but where ? >> >> Marc >> >> >>> On 11 Jun 2024, at 17:41, Martijn van Duren >>> <openbsd+t...@list.imperialat.at> wrote: >>> >>> moving to tech@ >>> >>> On Tue, 2024-06-11 at 15:38 +0200, Marc Boisis wrote: >>>> Like Kapetanakis I have the 64 interface desc empty: >>>>> snmpget -v2c -c public 127.0.0.1 OPENBSD-PF-MIB::pfIfDescr.64 >>>> OPENBSD-PF-MIB::pfIfDescr.64 = STRING: >>>> >>>> So can we imagine a limit of 64 interfaces in the snmp (snmpd_metrics) >>>> code ? >>> >>> Ah, you're limited to 64 interfaces in total. From your mail I thought >>> 64 physical plus a handful of carp and that the problem was limited to >>> vlan specifically. >>> >>> You're right that it's an snmpd_metrics bug, which was fixed by sashan@ >>> in pfctl's pfctl_table.c r1.85 back in 2022. Important parts of >>> that diff adjusted for snmpd_metrics below. >>> >>> martijn@ >>>> >>>> >>>>> On 11 Jun 2024, at 14:34, Martijn van Duren >>>>> <openbsd+m...@list.imperialat.at> wrote: >>>>> >>>>> On Tue, 2024-06-11 at 14:56 +0300, Kapetanakis Giannis wrote: >>>>>> On 10/06/2024 18:43, Marc Boisis wrote: >>>>>>> Hello, >>>>>>> >>>>>>> I've a 7.5 openBSD router, when I'm asking OPENBSD-PF-MIB I have only >>>>>>> 64 physicals and carp interfaces but not my 45 vlan interfaces. >>>>>>> >>>>>>> My /etc/snmpd.conf >>>>>>> ROOT:amdrg2:/root > cat /etc/snmpd.conf >>>>>>> listen on 127.0.0.1 snmpv2c >>>>>>> read-only community public >>>>>>> >>>>>>> >>>>>>> "pfctl -sI" list all interfaces (carp and vlan). >>>>>>> >>>>>>> Is there a setting or a limit to configure to see vlan interfaces in >>>>>>> OPENBSD-PF-MIB and especialy in OPENBSD-PF-MIB::pfIfTable ? >>>>>>> >>>>>>> Ps: In openbsd 6.5, OPENBSD-PF-MIB::pfIfTable contain all interfaces >>>>>>> >>>>>>> Regards >>>>>>> >>>>>>> Marc >>>>>>> >>>>>> Indeed. >>>>>> >>>>>> snmpwalk -v2c -c xxxxxx localhost OPENBSD-PF-MIB::pfIfDescr | wc -l >>>>>> 64 >>>>>> >>>>>> pfctl -sI | wc -l >>>>>> 99 (groups included) >>>>>> >>>>>> ifconfig | grep flags | wc -l >>>>>> 85 >>>>>> >>>>>> that is on 7.5 release. >>>>>> >>>>>> snmpwalk is showing only "vlan" and not the vlan interfaces. That is >>>>>> probably the group vlan. >>>>>> >>>>>> There is also an empty one at the end. >>>>>> >>>>>> OPENBSD-PF-MIB::pfIfDescr.63 = STRING: vlan >>>>>> OPENBSD-PF-MIB::pfIfDescr.64 = STRING: >>>>>> >>>>>> G >>>>> >>>>> $ snmp walk -v2c -cpublic 127.0.0.1 pfIfDescr | wc -l >>>>> 15 >>>>> $ doas pfctl -sI | wc -l >>>>> 15 >>>>> >>>>> pfIfDescr.13 = STRING: vlan >>>>> pfIfDescr.14 = STRING: vlan6 >>>>> >>>>> >>>>> I'm not seeing it. I'm willing to dig into this, but without giving me a >>>>> way to reproduce saying "me too" isn't going to help. >>>>> >>>>> martijn@ >>>>> >>>> >>> diff 1731179d99a5114f9b9915e3a010e72b1f0fbc81 >>> 9b5c5bd8d05986f0a92077f6229f4f197aaf9b92 >>> commit - 1731179d99a5114f9b9915e3a010e72b1f0fbc81 >>> commit + 9b5c5bd8d05986f0a92077f6229f4f197aaf9b92 >>> blob - a4b60962e324d5e8e0fd48353241656a72b448fa >>> blob + 8dfe88a217e8bd505edf6e3611ec55ecb414d494 >>> --- libexec/snmpd/snmpd_metrics/pf.c >>> +++ libexec/snmpd/snmpd_metrics/pf.c >>> @@ -210,11 +210,11 @@ pfi_get(struct pfr_buffer *b, const char *filter) >>> bzero(b, sizeof(struct pfr_buffer)); >>> b->pfrb_type = PFRB_IFACES; >>> for (;;) { >>> - pfr_buf_grow(b, b->pfrb_size); >>> + pfr_buf_grow(b, 0); >>> b->pfrb_size = b->pfrb_msize; >>> if (pfi_get_ifaces(filter, b->pfrb_caddr, &(b->pfrb_size))) >>> return (1); >>> - if (b->pfrb_size <= b->pfrb_msize) >>> + if (b->pfrb_size < b->pfrb_msize) >>> break; >>> } >>> >>> >> >