Я пишу расширение для моих существующих SNMP MIB. У меня есть целый список объектов с одинаковыми свойствами для каждого. Я хочу получить и установить их через SNMP.SNMP OID с уникальными именами узлов
Например, если у меня есть объект name
, desc
, arg0
, arg1
. То, что я хочу, чтобы иметь возможность ссылаться на них как:
fullpath.objects.ObjectA.name
fullpath.objects.ObjectA.desc
fullpath.objects.ObjectA.arg0
fullpath.objects.ObjectB.name
fullpath.objects.ObjectB.desc
fullpath.objects.ObjectB.arg0
Однако появляются листовые узлы, чтобы иметь уникальные имена, поэтому я не могу определить это.
я могу использовать таблицу SNMP для получения:
fullpath.objects.table.name.1
fullpath.objects.table.desc.1
fullpath.objects.table.arg0.1
fullpath.objects.table.name.2
fullpath.objects.table.desc.2
fullpath.objects.table.arg0.2
Но нет нигде искать, что 2
означает ObjectB
. Это оставляет его открытым, чтобы пользовательская ошибка искала неправильное значение и устанавливала неправильную вещь.
На данный момент лучшее решение, которое я могу увидеть:
fullpath.objects.ObjectAName
fullpath.objects.ObjectADesc
fullpath.objects.ObjectAArg0
fullpath.objects.ObjectBName
fullpath.objects.ObjectBDesc
fullpath.objects.ObjectBArg0
, который включает в себя определение name
для каждого объекта (есть 20 или около них). Набор объектов фиксирован, так что это нормально ... просто не очень аккуратно.
- Есть ли способ определить имена для индекса в таблице?
- Есть ли способ определения типа контейнера?
- Есть ли способ, позволяющий листовым узлам быть неповторимыми?
Любые другие идеи?