chomp;
#my ( $ip, $name, $mac ) = split(/ /,$_);
my ( $name, $mac ) = split(/ /,$_);
+ $name =~ s/_/ /g; # replace underscore with space
$mac = lc($mac);
$mac2name->{$mac} = $name;
$mac_name_use->{$name} = 0;
print $dot_fh qq|
digraph topology {
graph [ rankdir = LR ]
-node [ shape = record ]
+node [ shape = record; fontname="Helvetica" ]
edge [ color = "gray" ]
|;
foreach my $e ( sort { join(' ',@$a) cmp join(' ', @$b) } @edges ) {
no warnings;
if ( $e->[3] == 0 ) {
- print $dot_fh sprintf qq{ "%s":%d -> "%s"\n}, $e->[0], $e->[2], $e->[1];
+ #print $dot_fh sprintf qq{ "%s":%d -> "%s"\n}, $e->[0], $e->[2], $e->[1];
} else {
print $dot_fh sprintf qq{ "%s":%d -> "%s":%d\n}, $e->[0], $e->[2], $e->[1], $e->[3];
}
}
sub git_commit {
+ return if $debug;
my $file = shift;
$file =~ s{/dev/shm/}{} && warn "## git_commit $file";
- system "git -C /dev/shm add -f $file";
- system 'git -C /dev/shm commit -m $( date +%Y-%m-%d ) ' . $file if ! $debug;
+ system qq{git -C /dev/shm add -f $file && git -C /dev/shm commit -m "\$( date +%Y-%m-%d ) $file" $file };
}
warn "## mac_name_use ",dump( $mac_name_use );
my @mac_name_use_zero = sort grep { $mac_name_use->{$_} == 0 } keys %$mac_name_use;
warn "# mac_name_use_zero=",dump( \@mac_name_use_zero );
open(my $zero_fh, '>', '/dev/shm/mac_name_use.0');
-print $zero_fh "$_\n" foreach @mac_name_use_zero;
+print $zero_fh "$_\n" foreach map {
+ s/^\w+\s//; $_; # remote msw_ prefix and leave only mac
+} @mac_name_use_zero;
close($zero_fh);
git_commit 'mac_name_use.0';
git_commit 'network.dot';
system "dot -Tsvg /dev/shm/network.dot > /var/www/network.svg";
-system 'git -C /dev/shm commit -m $( date +%Y-%m-%d ) network.dot' if ! $debug;
+#system 'git -C /dev/shm commit -m $( date +%Y-%m-%d ) network.dot' if ! $debug;
+
+warn "# strange neihbours:";
+system "grep -f /dev/shm/mac_name_use.0 /dev/shm/neighbors.tab";