Драйвер для Qtech OLT
-
Доброе время суток.
Вынужден использовать крайне редкое и неадекватное железо от Qtech.
Родной поддержки нет. Некоторое время жил на Дьюде от микротика. Но перерос его.
Пришел на netxms. Написал свой драйвер для вышеуказанного железа.
Подскажите плиз кому и куда сдать исходник, чтобы добавили его в сырцы?
И не будет ли великой наглостью такая просьба?И подскажите плиз, копался в коде - не могу понять.
При добавлении новых интерфейсов в устройство своим ндд драйвером наблюдаю то что
netxms пытается взять статус интерфейсов по индексу из ифмиба.
а в моем случае статусы лежат в совершенно другом месте.
Как быть? хочется полноценную проверку статуса. Если бы в ндд была функция проверки статусов интерфейсов то можно было бы это реализовать. -
На сколько я понимаю, проверка статуса интерфейса проводиться в
/src/server/core/snmp.cpp
если я допишу свою логику обработки моих интерфейсов у меня все заработает.
но это частное решение.
По моему логичней было бы проверять статус интерфейса в том же ндд что и породил его. -
Добрый день.
Мы с радостью примем патч и включим в основное дерево, патч должен быть под MIT лицензией. Сделайте пожалуйста feature request в багтрекере: https://dev.raden.solutions/projects/netxms/issues
Да, правильным решением будет добавить еще одни метод в драйвер, мы это сделаем в ближайшее время.
@foxpdll said in Драйвер для Qtech OLT:
Доброе время суток.
Вынужден использовать крайне редкое и неадекватное железо от Qtech.
Родной поддержки нет. Некоторое время жил на Дьюде от микротика. Но перерос его.
Пришел на netxms. Написал свой драйвер для вышеуказанного железа.
Подскажите плиз кому и куда сдать исходник, чтобы добавили его в сырцы?
И не будет ли великой наглостью такая просьба?И подскажите плиз, копался в коде - не могу понять.
При добавлении новых интерфейсов в устройство своим ндд драйвером наблюдаю то что
netxms пытается взять статус интерфейсов по индексу из ифмиба.
а в моем случае статусы лежат в совершенно другом месте.
Как быть? хочется полноценную проверку статуса. Если бы в ндд была функция проверки статусов интерфейсов то можно было бы это реализовать. -
Я добавил метод
virtual void getInterfaceState(SNMP_Transport *snmp, StringMap *attributes, DriverData *driverData, UINT32 ifIndex, InterfaceAdminState *adminState, InterfaceOperState *operState);
в класс NetworkDeviceDriver. Можно его переопределить и реализовать собственную логику опросов интерфейсов.
-
@victor said in Драйвер для Qtech OLT:
Я добавил метод
virtual void getInterfaceState(SNMP_Transport *snmp, StringMap *attributes, DriverData *driverData, UINT32 ifIndex, InterfaceAdminState *adminState, InterfaceOperState *operState);
в класс NetworkDeviceDriver. Можно его переопределить и реализовать собственную логику опросов интерфейсов.
Я вас практически люблю.
я только сделал патч
сейчас создам этот как его... фьючер реквест -
Огромное спасибо.
Прошу меня простить, но не могли бы Вы добавить еще чуть чуть изменений.
в файле qtech-olt.cpp в 91 строке заменить строку
oid[15] = iface->index;
на строку
oid[15] = iface->index - info->slot * 1000;и принять следующий sql
если конечно это возможноINSERT INTO object_tools (tool_id,tool_name,tool_type,tool_data,description,flags,tool_filter)
VALUES (10001,'QtechOLTsONT',2,'','Show ONTs on PON ports',5,'<objectToolFilter>
<toolOS></toolOS>
<toolTemplate></toolTemplate>
<snmpOid>.1.3.6.1.4.1.27514.1.10.4.1</snmpOid>
</objectToolFilter>');
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,0,'Num','.1.3.6.1.4.1.27514.1.11.4.1.1.1',1,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,1,'SN','.1.3.6.1.4.1.27514.1.11.4.1.1.2',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,2,'FW','.1.3.6.1.4.1.27514.1.11.4.1.1.12',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,3,'Description','.1.3.6.1.4.1.27514.1.11.4.1.1.13',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,4,'Uptime','.1.3.6.1.4.1.27514.1.11.4.1.1.19',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,5,'Distance','.1.3.6.1.4.1.27514.1.11.4.1.1.32',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,6,'RSSI','.1.3.6.1.4.1.27514.1.11.4.1.1.22',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,7,'Temp','.1.3.6.1.4.1.27514.1.11.4.1.1.24',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10001,8,'Status','.1.3.6.1.4.1.27514.1.11.4.1.1.3',0,1);
INSERT INTO object_tools (tool_id,tool_name,tool_type,tool_data,description,flags,tool_filter)
VALUES (10002,'QtechOLTsSFP',2,'','Show GPON SFP modules in PON ports',5,'<objectToolFilter>
<toolOS></toolOS>
<toolTemplate></toolTemplate>
<snmpOid>.1.3.6.1.4.1.27514.1.10.4.1</snmpOid>
</objectToolFilter>');
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,0,'Num','.1.3.6.1.4.1.27514.1.11.3.1.1.1.0',5,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,1,'Presence','.1.3.6.1.4.1.27514.1.11.3.1.1.15.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,2,'SN','.1.3.6.1.4.1.27514.1.11.3.1.1.16.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,3,'Distance','.1.3.6.1.4.1.27514.1.11.3.1.1.14.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,4,'Manufacturer','.1.3.6.1.4.1.27514.1.11.3.1.1.18.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,5,'Temp','.1.3.6.1.4.1.27514.1.11.3.1.1.19.0',0,1);
INSERT INTO object_tools_table_columns (tool_id,col_number,col_name,col_oid,col_format,col_substr)
VALUES (10002,6,'ManufacturedDate','.1.3.6.1.4.1.27514.1.11.3.1.1.17.0',0,1);Буду крайне признателен
-
Добавил изменение в драйвере и Object Tools в текущий development branch.
-
-
-
А что он там показывает? Пустоту? Можно скриншоты в UP и v DOWN для одного и того-же интерфейса?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login