diff --git a/lib/App/Netdisco/Web/Device.pm b/lib/App/Netdisco/Web/Device.pm
index 143389b8..d19259f4 100644
--- a/lib/App/Netdisco/Web/Device.pm
+++ b/lib/App/Netdisco/Web/Device.pm
@@ -7,6 +7,7 @@ use Dancer::Plugin::Auth::Extensible;
use URI ();
use URL::Encode 'url_params_mixed';
+use App::Netdisco::Util::Device 'match_devicetype';
# build view settings for port connected nodes and devices
set('connected_properties' => [
@@ -17,6 +18,10 @@ set('connected_properties' => [
hook 'before_template' => sub {
my $tokens = shift;
+
+ # allow checking of discoverability of remote connected device
+ $tokens->{has_snmp} = sub { not match_devicetype(shift, 'discover_no_type') };
+
my $defaults = var('sidebar_defaults')->{'device_ports'}
or return;
diff --git a/share/views/ajax/device/ports.tt b/share/views/ajax/device/ports.tt
index fbfd7456..7155a024 100644
--- a/share/views/ajax/device/ports.tt
+++ b/share/views/ajax/device/ports.tt
@@ -274,7 +274,7 @@
[% END %]
[% row.get_column('neighbor_dns').remove(settings.domain_suffix) || row.get_column('neighbor_ip') | html_entity %]
- [% IF row.remote_port %]
+ [% IF row.remote_port and has_snmp(row.remote_type) %]
-
[% row.remote_port | html_entity %]
@@ -288,7 +288,7 @@
[% ' type: '_ row.remote_type IF row.remote_type %])
[% END %]
[% ELSIF row.remote_ip %]
-
+ [% ' ' IF has_snmp(row.remote_type) %]
[% IF row.remote_is_phone %]
[% ELSIF row.remote_is_wap %]
@@ -296,7 +296,10 @@
[% END %]
[% row.remote_ip | html_entity %]
- [% ' - ' IF row.remote_port %][% row.remote_port | html_entity %]
+ [% IF row.remote_port and has_snmp(row.remote_type) %]
+ - [% row.remote_port | html_entity %]
+ [% END %]
+
[% IF params.n_inventory and row.remote_inventory %]
[% row.remote_inventory %]
[% END %]
@@ -305,7 +308,7 @@
[% ' type: '_ row.remote_type IF row.remote_type %])
[% END %]
[% ELSE %]
- (possible uplink)
+ [% ' (possible uplink)' IF has_snmp(row.remote_type) %]
[% END %]
[% END %]
[% IF params.c_nodes %]