Fix timos mpls, add checks (#15430)

This commit is contained in:
Tony Murray
2023-10-11 09:56:09 -05:00
committed by GitHub
parent 79b9202437
commit 6e3261f801

View File

@@ -150,11 +150,11 @@ class Timos extends OS implements MplsDiscovery, MplsPolling, WirelessPowerDisco
foreach ($mplsLspCache as $key => $value) { foreach ($mplsLspCache as $key => $value) {
[$vrf_oid, $lsp_oid] = explode('.', $key); [$vrf_oid, $lsp_oid] = explode('.', $key);
$mplsLspFromAddr = $value['vRtrMplsLspFromAddr']; $mplsLspFromAddr = $value['vRtrMplsLspFromAddr'] ?? null;
if (isset($value['vRtrMplsLspNgFromAddr'])) { if (isset($value['vRtrMplsLspNgFromAddr'])) {
$mplsLspFromAddr = long2ip(hexdec(str_replace(' ', '', $value['vRtrMplsLspNgFromAddr']))); $mplsLspFromAddr = long2ip(hexdec(str_replace(' ', '', $value['vRtrMplsLspNgFromAddr'])));
} }
$mplsLspToAddr = $value['vRtrMplsLspToAddr']; $mplsLspToAddr = $value['vRtrMplsLspToAddr'] ?? null;
if (isset($value['vRtrMplsLspNgToAddr'])) { if (isset($value['vRtrMplsLspNgToAddr'])) {
$mplsLspToAddr = long2ip(hexdec(str_replace(' ', '', $value['vRtrMplsLspNgToAddr']))); $mplsLspToAddr = long2ip(hexdec(str_replace(' ', '', $value['vRtrMplsLspNgToAddr'])));
} }
@@ -163,15 +163,15 @@ class Timos extends OS implements MplsDiscovery, MplsPolling, WirelessPowerDisco
'vrf_oid' => $vrf_oid, 'vrf_oid' => $vrf_oid,
'lsp_oid' => $lsp_oid, 'lsp_oid' => $lsp_oid,
'device_id' => $this->getDeviceId(), 'device_id' => $this->getDeviceId(),
'mplsLspRowStatus' => $value['vRtrMplsLspRowStatus'], 'mplsLspRowStatus' => $value['vRtrMplsLspRowStatus'] ?? null,
'mplsLspLastChange' => round($value['vRtrMplsLspLastChange'] / 100), 'mplsLspLastChange' => round(($value['vRtrMplsLspLastChange'] ?? 0) / 100),
'mplsLspName' => $value['vRtrMplsLspName'], 'mplsLspName' => $value['vRtrMplsLspName'] ?? null,
'mplsLspAdminState' => $value['vRtrMplsLspAdminState'], 'mplsLspAdminState' => $value['vRtrMplsLspAdminState'] ?? null,
'mplsLspOperState' => $value['vRtrMplsLspOperState'], 'mplsLspOperState' => $value['vRtrMplsLspOperState'] ?? null,
'mplsLspFromAddr' => $mplsLspFromAddr, 'mplsLspFromAddr' => $mplsLspFromAddr ?? null,
'mplsLspToAddr' => $mplsLspToAddr, 'mplsLspToAddr' => $mplsLspToAddr ?? null,
'mplsLspType' => $value['vRtrMplsLspType'], 'mplsLspType' => $value['vRtrMplsLspType'] ?? null,
'mplsLspFastReroute' => $value['vRtrMplsLspFastReroute'], 'mplsLspFastReroute' => $value['vRtrMplsLspFastReroute'] ?? null,
])); ]));
} }
@@ -230,22 +230,22 @@ class Timos extends OS implements MplsDiscovery, MplsPolling, WirelessPowerDisco
$ip = long2ip(hexdec(str_replace(' ', '', $value['sdpFarEndInetAddress']))); $ip = long2ip(hexdec(str_replace(' ', '', $value['sdpFarEndInetAddress'])));
} else { } else {
//Fixme implement ipv6 conversion //Fixme implement ipv6 conversion
$ip = $value['sdpFarEndInetAddress']; $ip = $value['sdpFarEndInetAddress'] ?? null;
} }
$sdps->push(new MplsSdp([ $sdps->push(new MplsSdp([
'sdp_oid' => $value['sdpId'], 'sdp_oid' => $value['sdpId'],
'device_id' => $this->getDeviceId(), 'device_id' => $this->getDeviceId(),
'sdpRowStatus' => $value['sdpRowStatus'], 'sdpRowStatus' => $value['sdpRowStatus'] ?? null,
'sdpDelivery' => $value['sdpDelivery'], 'sdpDelivery' => $value['sdpDelivery'] ?? null,
'sdpDescription' => $value['sdpDescription'], 'sdpDescription' => $value['sdpDescription'] ?? null,
'sdpAdminStatus' => $value['sdpAdminStatus'], 'sdpAdminStatus' => $value['sdpAdminStatus'] ?? null,
'sdpOperStatus' => $value['sdpOperStatus'], 'sdpOperStatus' => $value['sdpOperStatus'] ?? null,
'sdpAdminPathMtu' => $value['sdpAdminPathMtu'], 'sdpAdminPathMtu' => $value['sdpAdminPathMtu'] ?? null,
'sdpOperPathMtu' => $value['sdpOperPathMtu'], 'sdpOperPathMtu' => $value['sdpOperPathMtu'] ?? null,
'sdpLastMgmtChange' => round($value['sdpLastMgmtChange'] / 100), 'sdpLastMgmtChange' => round(($value['sdpLastMgmtChange'] ?? 0) / 100),
'sdpLastStatusChange' => round($value['sdpLastStatusChange'] / 100), 'sdpLastStatusChange' => round(($value['sdpLastStatusChange'] ?? 0) / 100),
'sdpActiveLspType' => $value['sdpActiveLspType'], 'sdpActiveLspType' => $value['sdpActiveLspType'] ?? null,
'sdpFarEndInetAddressType' => $value['sdpFarEndInetAddressType'], 'sdpFarEndInetAddressType' => $value['sdpFarEndInetAddressType'] ?? null,
'sdpFarEndInetAddress' => $ip, 'sdpFarEndInetAddress' => $ip,
])); ]));
} }
@@ -488,11 +488,11 @@ class Timos extends OS implements MplsDiscovery, MplsPolling, WirelessPowerDisco
foreach ($mplsLspCache as $key => $value) { foreach ($mplsLspCache as $key => $value) {
[$vrf_oid, $lsp_oid] = explode('.', $key); [$vrf_oid, $lsp_oid] = explode('.', $key);
$mplsLspFromAddr = $value['vRtrMplsLspFromAddr']; $mplsLspFromAddr = $value['vRtrMplsLspFromAddr'] ?? null;
if (isset($value['vRtrMplsLspNgFromAddr'])) { if (isset($value['vRtrMplsLspNgFromAddr'])) {
$mplsLspFromAddr = long2ip(hexdec(str_replace(' ', '', $value['vRtrMplsLspNgFromAddr']))); $mplsLspFromAddr = long2ip(hexdec(str_replace(' ', '', $value['vRtrMplsLspNgFromAddr'])));
} }
$mplsLspToAddr = $value['vRtrMplsLspToAddr']; $mplsLspToAddr = $value['vRtrMplsLspToAddr'] ?? null;
if (isset($value['vRtrMplsLspNgToAddr'])) { if (isset($value['vRtrMplsLspNgToAddr'])) {
$mplsLspToAddr = long2ip(hexdec(str_replace(' ', '', $value['vRtrMplsLspNgToAddr']))); $mplsLspToAddr = long2ip(hexdec(str_replace(' ', '', $value['vRtrMplsLspNgToAddr'])));
} }