#! /usr/bin/perl # vim:ts=8:sw=8 use CGI qw(fatalsToBrowser); use DBI; use lib '/opt/gondul/include'; use nms; use nms::web; use strict; use warnings; use Data::Dumper; my $target = $ENV{REQUEST_URI}; $target =~ s/$ENV{SCRIPT_NAME}//; $target =~ s/^\///; my $switch; my $port; if ($target !~ m/now=/) { ($switch, $port) = split(/\//,$target,2); } my $q2; $nms::web::cc{'max-age'} = "5"; $nms::web::cc{'stale-while-revalidate'} = "30"; my $limit = ''; if (defined($switch)) { $limit = ' and sysname = ' . $nms::web::dbh->quote($switch); } $q2 = $nms::web::dbh->prepare("select switches.sysname, host(switches.mgmt_v4_addr) as mgmt_v4_addr, host(switches.mgmt_v6_addr) as mgmt_v6_addr, switches.mgmt_vlan, switches.traffic_vlan, switches.poll_frequency, switches.last_updated, switches.distro_name, switches.distro_phy_port, switches.community from switches where switches.placement is not null and switches.deleted = false $limit;"); $q2->execute(); while (my $ref = $q2->fetchrow_hashref()) { my $sysname = $ref->{'sysname'}; $nms::web::json{'switches'}{$ref->{'sysname'}} = $ref; } finalize_output();