+ my ($hostname, $port, $domain);
+ if ($transport =~ /^udp:(.*):(.*)/) {
+ $domain = "udp";
+ $hostname = $1;
+ $port = $2;
+ } elsif ($transport =~ /^tcp:(.*):(.*)/) {
+ $domain = "tcp";
+ $hostname = $1;
+ $port = $2;
+ } else {
+ die __x("unknown transport type: {t}", t => $transport);
+ }
+
+ if ($verbose) {
+ print STDERR "creating Net::SNMP session to $domain:$hostname:$port with key $key\n"
+ }
+
+ my ($session, $error) = Net::SNMP->session (
+ -version => 3,
+ -username => "virttools",
+ -authpassword => $key,
+ -authprotocol => "sha",
+ -privpassword => $key,
+ -privprotocol => "aes",
+ -hostname => $hostname,
+ -port => $port,
+ -domain => $domain,
+ );
+ return 0 unless $session;
+
+ my $sysUpTime = "1.3.6.1.2.1.1.3.0";
+ my $r = $session->get_request (-varbindlist => [$sysUpTime])
+ or return 0;
+ print STDERR "test_transport: sysUpTime = $r->{$sysUpTime}\n" if $verbose;
+
+ $session->close ();