dot1dTpFdbPort => { # получение порта по маку юзера oid => '1.3.6.1.2.1.17.4.3.1.2.', name => 'Порт по маку', },
Для різних комутаторів свої oid
Код:
snmpwalk -v2c -c public ipAddress 1.3.6.1.2.1.17.4.3.1.1.n
Не пойму как это относится к моему вопросу, если выборка из базы данных. по какой то причине переменная $cfg::device_mac_field пустая, хотя поле _mac для свича есть и в нем есть значение, не могу найти где ей присваивается значение, чтоб понять что не так.
В результате в списке портов показывает только описание, а пользователя на порту не подтягивает.
Я так понял список портов и какие клиенты к ним привязаны формируется тут if( $cfg::device_mac_field ) { my $db2 = Db->sql( 'SELECT * FROM mac_uid WHERE uid>0 AND mac IS NOT NULL AND device_mac=?', $Fields->show($cfg::device_mac_field) ); while( my %p = $db2->line ) { $device_users{$p{device_port}} ||= []; push @{$device_users{$p{device_port}}}, $p{uid}; } }
у меня эта $cfg::device_mac_field переменная пустая, не могу найти почему.