. * * @link https://www.librenms.org * * @copyright 2017 Simone Fini * @author Simone Fini * @copyright 2020 Tony Murray * @author Tony Murray */ namespace LibreNMS\OS; use App\Models\Device; use LibreNMS\Interfaces\Discovery\OSDiscovery; use LibreNMS\OS; class Apsoluteos extends OS implements OSDiscovery { public function discoverOS(Device $device): void { $oids = ['genGroupHWVersion.0', 'rndSerialNumber.0', 'rndApsoluteOSVersion.0', 'rdwrDevicePortsConfig.0']; $data = snmp_get_multi($this->getDeviceArray(), $oids, '-OQs', 'RADWARE-MIB'); $device->serial = $data[0]['rndSerialNumber'] ?? null; $device->version = $data[0]['rndApsoluteOSVersion'] ?? null; $device->hardware = $data[0]['genGroupHWVersion'] ?? null; if (isset($data[0]['rdwrDevicePortsConfig'])) { $device->features = 'Ver. ' . $data[0]['rdwrDevicePortsConfig']; } } }