diff --git a/LibreNMS/OS/Timos.php b/LibreNMS/OS/Timos.php index da4c132782fe..64eea94f1934 100644 --- a/LibreNMS/OS/Timos.php +++ b/LibreNMS/OS/Timos.php @@ -661,6 +661,13 @@ public function pollMplsSaps($svcs) $svc_id = $svcs->firstWhere('svc_oid', $svcId)->svc_id; $traffic_id = $svcId . '.' . $sapPortId . '.' . $this->nokiaEncap($sapEncapValue); + // Any unused vlan on a port returns * in sapEncapValue but had OID .4095 + $specialQinQIdentifier = $this->nokiaEncap($sapEncapValue); + if ($specialQinQIdentifier == '*') { + $specialQinQIdentifier = '4095'; + $traffic_id = $svcId . '.' . $sapPortId . '.' . $specialQinQIdentifier; + } + $saps->push(new MplsSap([ 'svc_id' => $svc_id, 'svc_oid' => $svcId, diff --git a/includes/html/functions.inc.php b/includes/html/functions.inc.php index d34dfa3872d8..202074162583 100644 --- a/includes/html/functions.inc.php +++ b/includes/html/functions.inc.php @@ -440,6 +440,11 @@ function generate_port_url($port, $vars = []) function generate_sap_url($sap, $vars = []) { + // Overwrite special QinQ sap identifiers + if ($sap['sapEncapValue'] == '*') { + $sap['sapEncapValue'] = '4095'; + } + return \LibreNMS\Util\Url::graphPopup(['device' => $sap['device_id'], 'page' => 'graphs', 'type' => 'device_sap', 'tab' => 'routing', 'proto' => 'mpls', 'view' => 'saps', 'traffic_id' => $sap['svc_oid'] . '.' . $sap['sapPortId'] . '.' . $sap['sapEncapValue']], $vars); }//end generate_sap_url()