mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 18:38:25 +00:00
Improve LinkUp and LinkDown trap handling incomplete traps (#14385)
* fix LinkUp and LinkDown trap parsing These traps do not always include 'ifAdminStatus' and 'ifOperStatus' from IF-MIB, which causes the fields to become NULL when traps are received. Add checks that values exist, and add default value for ifOperStatus. * Fix styleci complaint * Update LinkDown.php * Update LinkUp.php * Update LinkUp.php Co-authored-by: Tony Murray <murraytony@gmail.com>
This commit is contained in:
parent
4efbb83d9b
commit
5255da80ff
@ -52,9 +52,12 @@ class LinkDown implements SnmptrapHandler
|
||||
return;
|
||||
}
|
||||
|
||||
$port->ifOperStatus = $trap->getOidData("IF-MIB::ifOperStatus.$ifIndex");
|
||||
$port->ifAdminStatus = $trap->getOidData("IF-MIB::ifAdminStatus.$ifIndex");
|
||||
$port->ifOperStatus = $trap->getOidData("IF-MIB::ifOperStatus.$ifIndex") ?: 'down';
|
||||
|
||||
$trapAdminStatus = $trap->getOidData("IF-MIB::ifAdminStatus.$ifIndex");
|
||||
if ($trapAdminStatus) {
|
||||
$port->ifAdminStatus = $trapAdminStatus;
|
||||
}
|
||||
Log::event("SNMP Trap: linkDown $port->ifAdminStatus/$port->ifOperStatus " . $port->ifDescr, $device->device_id, 'interface', 5, $port->port_id);
|
||||
|
||||
if ($port->isDirty('ifAdminStatus')) {
|
||||
|
@ -52,8 +52,8 @@ class LinkUp implements SnmptrapHandler
|
||||
return;
|
||||
}
|
||||
|
||||
$port->ifOperStatus = $trap->getOidData("IF-MIB::ifAdminStatus.$ifIndex");
|
||||
$port->ifAdminStatus = $trap->getOidData("IF-MIB::ifOperStatus.$ifIndex");
|
||||
$port->ifOperStatus = $trap->getOidData("IF-MIB::ifOperStatus.$ifIndex") ?: 'up';
|
||||
$port->ifAdminStatus = $trap->getOidData("IF-MIB::ifAdminStatus.$ifIndex") ?: 'up'; // If we receive LinkUp trap, we can safely assume that the ifAdminStatus is also up.
|
||||
|
||||
Log::event("SNMP Trap: linkUp $port->ifAdminStatus/$port->ifOperStatus " . $port->ifDescr, $device->device_id, 'interface', 1, $port->port_id);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user