On Tue, Sep 3, 2019 at 5:23 PM Krishna Chaitanya <chaitanya.m...@gmail.com> wrote: > > On Tue, Aug 27, 2019 at 2:12 PM Krishna Chaitanya > <chaitanya.m...@gmail.com> wrote: > > > > On Mon, Aug 26, 2019 at 9:22 PM Bill Fenner <fen...@gmail.com> wrote: > > > > > > On Tue, Aug 20, 2019 at 8:45 AM Krishna Chaitanya > > > <chaitanya.m...@gmail.com> wrote: > > >> > > >> Hi, > > >> > > >> When using MAC Address as an index ( I am using MacAddress type from > > >> SNMPv2-TC.) the output is incorrect because the length of the string > > >> is prefixed as mac address is defined as OCTET STR there is an extra > > >> byte and the last byte of mac address is interpreted as next OID. > > >> > > >> snmpwalk: > > >> HistValue."wlp8s0f0".'....B.'.hist_2.2.19 > > >> snmpwalk -OX > > >> HistValue["wlp8s0f0"][STRING: 06:00:90:e6:42:99][hist_2][2].19 > > >> > > >> In the above examples last but one OID 2 is hist_2. Is there a way to > > >> disable prefixing of length? > > > > > > > > > The prefixing of length is done by the agent. Are you asking about a MIB > > > module that you implemented? Try changing your object definition from > > > ASN_OCTET_STR to ASN_PRIV_IMPLIED_OCTET_STR. > > Yes, I am using my own MIB and changing to ASN_PRIV_IMPLIED_OCTET_STR > > in the subagent worked. > > Thanks, Bill. > > After this change, I was getting a lot of duplicate data exists > errors, upon further debugging found a similar issue > which is quite old > https://www.mail-archive.com/net-snmp-coders@lists.sourceforge.net/msg06286.html. > In the current code even though there is support to handle IMPLIED > strings, but subsequent indexes are not processed. > See snippet below: out of 4 indexes only 2 are processed (the indexes > after ASN_PRIV_IMPLIED_OCTET_STR > failed to parse. Any ideas? > > histStatsData: Request Mode is: 160 name: wlp8s0f0 col: 3 > histStatsData: Add row > duplicate table data attempted to be entered. row exists > helper:table:req: Got GETNEXT (161) mode request for handler table: > base oid:SNMPv2-SMI::mib-2.43932.2.2 > helper:table:col: have at least a column (3) > helper:table: have 17 bytes of index > helper:table: looking for 4 indexes > > parse_oid_indexes: Parsed str(4): wlp8s0f0 > helper:table: got 1 (incomplete=0) > > parse_oid_indexes: Parsed str(196): > helper:table: got 1 (incomplete=0) > > helper:table: oid indexes not complete: > SNMPv2-SMI::mib-2.43932.2.2.1.3.8.119.108.112.56.115.48.102.48.0.128.225.66.153.1.2.15 > helper:table:results: found 2 indexes > helper:table:results: column: 3, indexes: 2 index: type=4(04), > value=STRING: "wlp8s0f0" index: type=196(c4), value=Variable has bad > type >
As a workaround moved the MAC address index to last and it works fine with ASN_IMPLIED_OCTER_STR, this should be good enough for parsing programmatically, but for end-user its a bit counter-intuitive, having MAC Address as the 2nd index out of 4 is more readable. This was the diff in MIB: - INDEX { ifaceName, remoteMAC, HistClass, HistBinIndex} + INDEX { ifaceName, HistClass, HistBinIndex, remoteMAC} _______________________________________________ Net-snmp-coders mailing list Net-snmp-coders@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/net-snmp-coders