Как DisplayString SIZE в файлах MIB влияет на вывод snmpget?

Как DisplayString SIZE в файлах MIB влияет на вывод snmpget?

У меня есть коммутатор Cisco, агент SNMP которого возвращает описания интерфейсов длиной до 256 символов ( ifAlias). Например, здесь я получаю описание интерфейса длиной 100 символов:

$ 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
$

Однако DisplayString SIZE в файлах MIB составляет 64 символа:

$ 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
$

Я ожидал, что это snmpgetотображает количество символов, определенное параметром DisplayString SIZE, например, первые 64 символа "x". Влияет ли DisplayString SIZE на вывод snmpget? Если да, то как? Или параметр DISPLAY-HINT единственный, который фактически изменяет вывод значений SNMP GetResponse?

решение1

Информация в вашем клиентском MIB не будет иметь никакого отношения к значению, которое он получает от сервера/коммутатора, и не должна этого делать. snmpgetпросто возвращает то, что ему передает агент SNMP коммутатора Cisco. В этом случае MIB в основном является руководством: Cisco может свободно реализовывать свой MIB так, как захочет, пока реализация Cisco соответствует определению SMIv2 DisplayString, которая может иметь длину от 0 до 255 (см.https://www.rfc-editor.org/rfc/rfc2579). Это также стандарт для RFC 2863 (см.https://www.rfc-editor.org/rfc/rfc2863).

Связанный контент