Como DisplayString SIZE em arquivos MIB afeta a saída do snmpget?

Como DisplayString SIZE em arquivos MIB afeta a saída do snmpget?

Eu tenho um switch Cisco cujo agente SNMP retorna descrições de interface com até 256 caracteres ( ifAlias). Por exemplo, aqui recebo uma descrição da interface com 100 caracteres:

$ snmpget -m ./IF-MIB_tmp -M /usr/share/snmp/mibs/ -M
/usr/local/share/snmp/mibs/ -Ov -v 2c -c public switch
IF-MIB::ifAlias.53
STRING: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
$

No entanto, DisplayString SIZE em arquivos MIB tem 64 caracteres:

$ grep -A 5 -i "^ifalias" ./IF-MIB_tmp /usr/share/snmp/mibs/* /usr/local/shar /snmp/mibs/*
./IF-MIB_tmp:ifAlias   OBJECT-TYPE
./IF-MIB_tmp-    SYNTAX      DisplayString (SIZE(0..64))
./IF-MIB_tmp-    MAX-ACCESS  read-write
./IF-MIB_tmp-    STATUS      current
./IF-MIB_tmp-    DESCRIPTION
./IF-MIB_tmp-            "This object is an 'alias' name for the interface as
--
/usr/share/snmp/mibs/mib-rfc2863a.txt:ifAlias   OBJECT-TYPE
/usr/share/snmp/mibs/mib-rfc2863a.txt-    SYNTAX      DisplayString (SIZE(0..64))
/usr/share/snmp/mibs/mib-rfc2863a.txt-    MAX-ACCESS  read-write
/usr/share/snmp/mibs/mib-rfc2863a.txt-    STATUS      current
/usr/share/snmp/mibs/mib-rfc2863a.txt-    DESCRIPTION
/usr/share/snmp/mibs/mib-rfc2863a.txt-            "This object is an 'alias' name for the interface as
$

Eu esperava que snmpgetexibisse o número de caracteres definidos com o parâmetro DisplayString SIZE, por exemplo, os primeiros 64 caracteres "x". DisplayString SIZE afeta a saída de snmpget? Se isso acontecer, então como? Ou o parâmetro DISPLAY-HINT é o único que realmente altera a saída dos valores SNMP GetResponse?

Responder1

As informações no MIB do seu cliente não terão qualquer influência no valor que recebe do servidor/switch, nem deveriam. snmpgetestá simplesmente retornando o que o agente SNMP do switch Cisco está fornecendo. Nesse caso, o MIB é principalmente uma diretriz: a Cisco é livre para implementar seu MIB como quiser, desde que a implementação da Cisco esteja em conformidade com a definição SMIv2 de DisplayString, que pode ter entre 0 e 255 de comprimento (consultehttps://www.rfc-editor.org/rfc/rfc2579). Este também é o padrão para RFC 2863 (vejahttps://www.rfc-editor.org/rfc/rfc2863).

informação relacionada