From 0287d52ff74b638bf48006d2cd7f2a39055fc1c0 Mon Sep 17 00:00:00 2001 From: Jan Michel Date: Tue, 25 Aug 2020 19:51:20 +0200 Subject: [PATCH] add IP address to network map --- web/htdocs/network/map.pl | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/web/htdocs/network/map.pl b/web/htdocs/network/map.pl index b3d363c..f85c961 100755 --- a/web/htdocs/network/map.pl +++ b/web/htdocs/network/map.pl @@ -82,7 +82,7 @@ if($ENV{'QUERY_STRING'} =~ /getmap/) { Compile Time Temperature UID - Endp - MAC + MAC/IP serial\n"; printlist(0,1); @@ -254,7 +254,7 @@ if($ENV{'QUERY_STRING'} =~ /getmap/) { my $mac = ''; my $gbelevel = ''; if ($feat =~ /GbE/) { - $mac = GetMac($uids->{$addr},$btype); + $mac = GetMac($uids->{$addr},$btype,$addr); my $gbeval = $gbebusy2->{$addr}-$gbebusy1->{$addr}; $gbeval /= 9E4; $gbeval = ceil(min($gbeval,100)); @@ -375,11 +375,21 @@ sub GetSerial { sub GetMac { my $id = shift @_; my $btype = shift @_; - $id = sprintf('%08x',$id); - my $r = 'da:7a:3'.substr($id,7,1).':'.substr($id,8,2).':'.substr($id,10,2).':'.substr($id,12,2); - if ($btype =~ /TRB3sc/i) { - $r = 'da:7a:0'.substr($id,7,1).':'.substr($id,8,2).':'.substr($id,10,2).':'.substr($id,12,2); - } + my $addr = shift @_; + my $d1 = trb_register_read($addr,0x83c0); + my $d2 = trb_register_read($addr,0x83c3); + my $r; + if ($d1->{$addr} || $d2->{$addr}) { + my $ip = $d1->{$addr} || $d2->{$addr}; + $r = sprintf('%u.%u.%u.%u',$ip&0xFF,$ip>>8&0xFF,$ip>>16&0xFF,$ip>>24&0xFF); + } + else { + $id = sprintf('%08x',$id); + $r = 'da:7a:3'.substr($id,7,1).':'.substr($id,8,2).':'.substr($id,10,2).':'.substr($id,12,2); + if ($btype =~ /TRB3sc/i) { + $r = 'da:7a:0'.substr($id,7,1).':'.substr($id,8,2).':'.substr($id,10,2).':'.substr($id,12,2); + } + } return $r; } -- 2.43.0