Tengo un conmutador Cisco cuyo agente SNMP devuelve descripciones de interfaz de hasta 256 caracteres ( ifAlias
). Por ejemplo, aquí recibo una descripción de interfaz de 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
$
Sin embargo, DisplayString TAMAÑO en archivos MIB es de 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
$
Esperaba que snmpget
mostrara el número de caracteres definidos con el parámetro DisplayString TAMAÑO, por ejemplo, los primeros 64 caracteres "x". ¿DisplayString TAMAÑO afecta la salida de snmpget
? Si es así, ¿cómo? ¿O es el parámetro DISPLAY-HINT el único que realmente cambia la salida de los valores SNMP GetResponse?
Respuesta1
La información en la MIB de su cliente no tendrá relación con el valor que recibe del servidor/conmutador, ni debería tenerla. snmpget
simplemente está devolviendo lo que le está dando el agente SNMP del conmutador Cisco. En este caso, la MIB es principalmente una guía: Cisco es libre de implementar su MIB como quiera, siempre y cuando la implementación de Cisco se ajuste a la definición SMIv2 de DisplayString, que puede tener una longitud de entre 0 y 255 (consultehttps://www.rfc-editor.org/rfc/rfc2579). Este es también el estándar para RFC 2863 (verhttps://www.rfc-editor.org/rfc/rfc2863).