Спасибо. А как можно на это поле влиять или изменять его? По нему я не могу сортировать, так как оно фигурирует только в raw-ответах mibbrowser'ов. dot1qVlanTimeMark (1.3.6.1.2.1.17.7.1.4.2.1.1) возвращает пустой ответ и судя по всему это не TimeFilter.
Суть проблемы - коммутатор возвращает список VLANов, отсортированный не по vlan id, а по этому timefilter. Причём это характерно для 3526, в то время как 30ХХ имеют поле TimeFilter равное 16.
Пример: есть 3526й, с VLANами: default(1), MetroPE (203), MetroCPE(303). Добавляется VLAN L2VPNabc (107). Запрашиваем коммутатор dot1qVlanCurrentUntaggedPorts и получаем RAW-ответ:
Код:
***** SNMP QUERY STARTED *****
1: dot1qVlanCurrentUntaggedPorts.1056.1 (octet string) 00.00.00.00 (hex)
2: dot1qVlanCurrentUntaggedPorts.2746.203 (octet string) 00.00.00.00 (hex)
3: dot1qVlanCurrentUntaggedPorts.2765.303 (octet string) 7F.F2.80.00 (hex)
4: dot1qVlanCurrentUntaggedPorts.158922411.107 (octet string) 00.08.00.00 (hex)
***** SNMP QUERY FINISHED *****
Если этот запрос отправить через CMS, то возвращается массив, который уже отсортирован по TimeFilter и само поле в ответе не фигурирует:
Код:
Array (
[0] => Hex-STRING: 00 00 00 00
[1] => Hex-STRING: 00 00 00 00
[2] => Hex-STRING: 7F F2 80 00
[3] => Hex-STRING: 00 08 00 00
)
А необходимо, чтобы массив был отсортирован по vlan id. Например, такой же запрос на 3026 вернул бы:
Код:
***** SNMP QUERY STARTED *****
1: dot1qVlanCurrentUntaggedPorts.16.1 (octet string) 00.00.00.00 (hex)
2: dot1qVlanCurrentUntaggedPorts.16.107 (octet string) 00.08.00.00 (hex)
3: dot1qVlanCurrentUntaggedPorts.16.203 (octet string) 00.00.00.00 (hex)
4: dot1qVlanCurrentUntaggedPorts.16.303 (octet string) 7F.F2.80.00 (hex)
***** SNMP QUERY FINISHED *****
Есть запасные варианты, как обойти эту проблему, но все-таки очень бы не хотелось переписывать уже работающий класс.