mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Migrate xDSL code to module, and add support for VDSL2 MIB (#14207)
* use component to discover if xDSL polling is needed use component to discover if xDSL polling is needed * Components OK, Polling in correct files, no DB for VDSL * GUI GUI_suite * per port as well * rename * interface listing * draytek_snmpsim * fix arraymerge fix names and max value * schema schema style * remove one dbFetchRows remove 2x dbFetchCell style style remove Legacy dbFetchRow tests tests eloquent more eloquent more eloquent one more gone * fix properties access eloquent_insert_update style tests tests tests tests * tests tests tests * adslLineCoding * Models * fix not nullable cols in DB from code default values typo rename typo schema fix fix vdsl fix now typo typo fix size fix size * Power values for VDSL Power values for VDSL Power values for VDSL DB * cleanup * Rrd::checkRrdExists * always enable DSL discovery style * xdsl module * cleanup and move to Module cleanup and move to Module cleanup and move to Module cleanup and move to Module * Fix display * fix polling and tenth * remove legacy poller * Style and Cosmetics Cosmetics Cleanup * Translations Translations * exists exists * add test support for xdsl * remove last component call unused * translations * remove non standard onclick event on xdsl line * Update Discovery Support.md Update Poller Support.md toner_gone * Notification for removal of lnms config:set enable_ports_adsl true * enable on devices with potential DSL interfaces * tests are working now fix teldat tests * os_schema * teldat * move to new module structure * move to new module structure * wrong dump function * wrong dump function * laravel_through_key hidden * Update notifications.rss * Update notifications.rss Co-authored-by: Tony Murray <murraytony@gmail.com>
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
<?php
|
||||
|
||||
use App\Models\Device;
|
||||
use App\Models\Port;
|
||||
use App\Models\PortAdsl;
|
||||
use App\Models\PortVdsl;
|
||||
use App\Plugins\Hooks\PortTabHook;
|
||||
use LibreNMS\Util\Rewrite;
|
||||
use LibreNMS\Util\Url;
|
||||
@@ -81,11 +85,13 @@ if (dbFetchCell("SELECT COUNT(*) FROM `sensors` WHERE `device_id` = ? AND `entPh
|
||||
$menu_options['sensors'] = 'Health';
|
||||
}
|
||||
|
||||
if (dbFetchCell("SELECT COUNT(*) FROM `ports_adsl` WHERE `port_id` = '" . $port->port_id . "'")) {
|
||||
$menu_options['adsl'] = 'ADSL';
|
||||
if (PortAdsl::where('port_id', $port->port_id)->exists()) {
|
||||
$menu_options['xdsl'] = 'xDSL';
|
||||
} elseif (PortVdsl::where('port_id', $port->port_id)->exists()) {
|
||||
$menu_options['xdsl'] = 'xDSL';
|
||||
}
|
||||
|
||||
if (dbFetchCell("SELECT COUNT(*) FROM `ports` WHERE `pagpGroupIfIndex` = '" . $port->ifIndex . "' and `device_id` = '" . $device['device_id'] . "'")) {
|
||||
if (DeviceCache::getPrimary()->ports()->where('pagpGroupIfIndex', $port->ifIndex)->exists()) {
|
||||
$menu_options['pagp'] = 'PAgP';
|
||||
}
|
||||
|
||||
@@ -103,7 +109,7 @@ if (count($components) > 0) {
|
||||
$menu_options['cbqos'] = 'CBQoS';
|
||||
}
|
||||
|
||||
$portModel = \App\Models\Port::find($port->port_id);
|
||||
$portModel = Port::find($port->port_id);
|
||||
|
||||
if (LibreNMS\Plugins::countHooks('port_container') || \PluginManager::hasHooks(PortTabHook::class, ['port' => $portModel])) {
|
||||
// Checking if any plugin implements the port_container. If yes, allow to display the menu_option
|
||||
|
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
if (file_exists(get_port_rrdfile_path($device['hostname'], $port['port_id'], 'adsl'))) {
|
||||
if (Rrd::checkRrdExists(Rrd::name($device['hostname'], Rrd::portName($port['port_id'], 'adsl')))) {
|
||||
echo '<div class=graphhead>ADSL Current Line Speed</div>';
|
||||
$graph_type = 'port_adsl_speed';
|
||||
|
||||
@@ -26,3 +26,20 @@ if (file_exists(get_port_rrdfile_path($device['hostname'], $port['port_id'], 'ad
|
||||
|
||||
include 'includes/html/print-interface-graphs.inc.php';
|
||||
}
|
||||
|
||||
if (Rrd::checkRrdExists(Rrd::name($device['hostname'], Rrd::portName($port['port_id'], 'xdsl2LineStatusAttainableRate')))) {
|
||||
echo '<div class=graphhead>VDSL Current Line Speed</div>';
|
||||
$graph_type = 'port_vdsl_speed';
|
||||
|
||||
include 'includes/html/print-interface-graphs.inc.php';
|
||||
|
||||
echo '<div class=graphhead>VDSL Attainable Speed</div>';
|
||||
$graph_type = 'port_vdsl_attainable';
|
||||
|
||||
include 'includes/html/print-interface-graphs.inc.php';
|
||||
|
||||
echo '<div class=graphhead>VDSL Output Powers</div>';
|
||||
$graph_type = 'port_vdsl_power';
|
||||
|
||||
include 'includes/html/print-interface-graphs.inc.php';
|
||||
}
|
@@ -33,8 +33,8 @@ if (dbFetchCell("SELECT * FROM links AS L, ports AS I WHERE I.device_id = '" . $
|
||||
$menu_options['neighbours'] = 'Neighbours';
|
||||
}
|
||||
|
||||
if (dbFetchCell("SELECT COUNT(*) FROM `ports` WHERE `ifType` = 'adsl'")) {
|
||||
$menu_options['adsl'] = 'ADSL';
|
||||
if (DeviceCache::getPrimary()->portsAdsl()->exists() || DeviceCache::getPrimary()->portsVdsl()->exists()) {
|
||||
$menu_options['xdsl'] = 'xDSL';
|
||||
}
|
||||
|
||||
$sep = '';
|
||||
@@ -123,7 +123,7 @@ if ($vars['view'] == 'minigraphs') {
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
} elseif ($vars['view'] == 'arp' || $vars['view'] == 'adsl' || $vars['view'] == 'neighbours' || $vars['view'] == 'fdb') {
|
||||
} elseif ($vars['view'] == 'arp' || $vars['view'] == 'xdsl' || $vars['view'] == 'neighbours' || $vars['view'] == 'fdb') {
|
||||
include 'ports/' . $vars['view'] . '.inc.php';
|
||||
} else {
|
||||
if ($vars['view'] == 'details') {
|
||||
|
@@ -1,15 +0,0 @@
|
||||
<?php
|
||||
|
||||
echo "<div style='margin: 5px;'><table border=0 cellspacing=0 cellpadding=5 width=100%>";
|
||||
|
||||
echo '<tr><th>Port</th><th>Traffic</th><th>Sync Speed</th><th>Attainable Speed</th><th>Attenuation</th><th>SNR Margin</th><th>Output Powers</th></tr>';
|
||||
$i = '0';
|
||||
$ports = dbFetchRows("select * from `ports` AS P, `ports_adsl` AS A WHERE P.device_id = ? AND A.port_id = P.port_id AND P.deleted = '0' ORDER BY `ifIndex` ASC", [$device['device_id']]);
|
||||
|
||||
foreach ($ports as $port) {
|
||||
include 'includes/html/print-interface-adsl.inc.php';
|
||||
$i++;
|
||||
}
|
||||
|
||||
echo '</table></div>';
|
||||
echo "<div style='min-height: 150px;'></div>";
|
28
includes/html/pages/device/ports/xdsl.inc.php
Normal file
28
includes/html/pages/device/ports/xdsl.inc.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
echo "<div style='margin: 5px;'><table border=0 cellspacing=0 cellpadding=5 width=100%>";
|
||||
|
||||
echo '<tr><th>Port</th><th>Traffic</th><th>Sync Speed</th><th>Attainable Speed</th><th>Attenuation</th><th>SNR Margin</th><th>Output Powers</th></tr>';
|
||||
$i = '0';
|
||||
|
||||
$ports = DeviceCache::getPrimary()->ports()->join('ports_adsl', 'ports.port_id', 'ports_adsl.port_id')
|
||||
->where('ports.deleted', '0')
|
||||
->orderby('ports.ifIndex', 'ASC')
|
||||
->get();
|
||||
|
||||
foreach ($ports as $port) {
|
||||
include 'includes/html/print-interface-adsl.inc.php';
|
||||
$i++;
|
||||
}
|
||||
|
||||
$ports = DeviceCache::getPrimary()->ports()->join('ports_vdsl', 'ports.port_id', '=', 'ports_vdsl.port_id')
|
||||
->where('ports.deleted', '0')
|
||||
->orderby('ports.ifIndex', 'ASC')
|
||||
->get();
|
||||
|
||||
foreach ($ports as $port) {
|
||||
include 'includes/html/print-interface-vdsl.inc.php';
|
||||
$i++;
|
||||
}
|
||||
echo '</table></div>';
|
||||
echo "<div style='min-height: 150px;'></div>";
|
Reference in New Issue
Block a user