diff --git a/lib/App/Netdisco/DB/Result/DevicePort.pm b/lib/App/Netdisco/DB/Result/DevicePort.pm index aef84ed7..e7181523 100644 --- a/lib/App/Netdisco/DB/Result/DevicePort.pm +++ b/lib/App/Netdisco/DB/Result/DevicePort.pm @@ -37,6 +37,8 @@ __PACKAGE__->add_columns( { data_type => "text", is_nullable => 1 }, "speed", { data_type => "text", is_nullable => 1 }, + "speed_admin", + { data_type => "text", is_nullable => 1 }, "name", { data_type => "text", is_nullable => 1 }, "mac", diff --git a/lib/App/Netdisco/DB/Result/DevicePortProperties.pm b/lib/App/Netdisco/DB/Result/DevicePortProperties.pm index 589e7068..deff2181 100644 --- a/lib/App/Netdisco/DB/Result/DevicePortProperties.pm +++ b/lib/App/Netdisco/DB/Result/DevicePortProperties.pm @@ -31,8 +31,6 @@ __PACKAGE__->add_columns( { data_type => "boolean", default_value => \"false", is_nullable => 1 }, "ifindex", { data_type => "bigint", is_nullable => 1 }, - "speed_admin", - { data_type => "text", is_nullable => 1 }, ); __PACKAGE__->set_primary_key("port", "ip"); diff --git a/lib/App/Netdisco/Worker/Plugin/Discover/PortProperties.pm b/lib/App/Netdisco/Worker/Plugin/Discover/PortProperties.pm index ca36c141..5803cc6c 100644 --- a/lib/App/Netdisco/Worker/Plugin/Discover/PortProperties.pm +++ b/lib/App/Netdisco/Worker/Plugin/Discover/PortProperties.pm @@ -26,7 +26,6 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { || { map {($_->port => $_)} $device->ports->all }; my $raw_speed = $snmp->i_speed_raw || {}; - my $speed_admin = $snmp->i_speed_admin || {}; foreach my $idx (keys %$raw_speed) { my $port = $interfaces->{$idx} or next; @@ -37,7 +36,6 @@ register_worker({ phase => 'main', driver => 'snmp' }, sub { } $properties{ $port }->{raw_speed} = $raw_speed->{$idx}; - $properties{ $port }->{speed_admin} = $speed_admin->{$idx}; } my $err_cause = $snmp->i_err_disable_cause || {}; diff --git a/lib/App/Netdisco/Worker/Plugin/Discover/Properties.pm b/lib/App/Netdisco/Worker/Plugin/Discover/Properties.pm index 4b1c1434..e169d35f 100644 --- a/lib/App/Netdisco/Worker/Plugin/Discover/Properties.pm +++ b/lib/App/Netdisco/Worker/Plugin/Discover/Properties.pm @@ -124,6 +124,7 @@ register_worker({ phase => 'early', driver => 'snmp' }, sub { my $i_descr = $snmp->i_description; my $i_mtu = $snmp->i_mtu; my $i_speed = $snmp->i_speed; + my $i_speed_admin = $snmp->i_speed_admin; my $i_mac = $snmp->i_mac; my $i_up = $snmp->i_up; my $i_up_admin = $snmp->i_up_admin; @@ -221,6 +222,7 @@ register_worker({ phase => 'early', driver => 'snmp' }, sub { up_admin => $i_up_admin->{$entry}, mac => $i_mac->{$entry}, speed => $i_speed->{$entry}, + speed_admin => $i_speed_admin->{$entry}, mtu => $i_mtu->{$entry}, name => Encode::decode('UTF-8', $i_name->{$entry}), duplex => $i_duplex->{$entry}, diff --git a/share/config.yml b/share/config.yml index db2f9bf6..104b8002 100644 --- a/share/config.yml +++ b/share/config.yml @@ -107,38 +107,39 @@ sidebar_defaults: search_device: matchall: { default: checked } device_ports: - c_admin: { label: 'Port Controls', default: null, idx: 0 } - c_port: { label: 'Port', default: checked, idx: 1 } - c_descr: { label: 'Description', default: null, idx: 2 } - c_comment: { label: 'Last Comment', default: null, idx: 3 } - c_type: { label: 'Type', default: null, idx: 4 } - c_duplex: { label: 'Duplex', default: null, idx: 5 } - c_lastchange: { label: 'Last Change', default: null, idx: 6 } - c_name: { label: 'Name', default: checked, idx: 7 } - c_speed: { label: 'Speed', default: null, idx: 8 } - c_error: { label: 'Error Message', default: null, idx: 9 } - c_mac: { label: 'Port MAC', default: null, idx: 10 } - c_mtu: { label: 'MTU', default: null, idx: 11 } - c_pvid: { label: 'Native VLAN', default: checked, idx: 12 } - c_vmember: { label: 'VLAN Membership', default: checked, idx: 13 } - c_power: { label: 'PoE', default: null, idx: 14 } - c_ssid: { label: 'SSID', default: null, idx: 15 } - c_nodes: { label: 'Connected Nodes', default: null, idx: 16 } - c_neighbors: { label: 'Connected Devices', default: checked, idx: 17 } - c_stp: { label: 'Spanning Tree', default: null, idx: 18 } - c_up: { label: 'Status', default: null, idx: 19 } - mac_format: { default: IEEE } - n_inventory: { label: 'Inventory Data', default: checked, idx: 0 } + c_admin: { label: 'Port Controls', default: null, idx: 0 } + c_port: { label: 'Port', default: checked, idx: 1 } + c_descr: { label: 'Description', default: null, idx: 2 } + c_comment: { label: 'Last Comment', default: null, idx: 3 } + c_type: { label: 'Type', default: null, idx: 4 } + c_duplex: { label: 'Duplex', default: null, idx: 5 } + c_lastchange: { label: 'Last Change', default: null, idx: 6 } + c_name: { label: 'Name', default: checked, idx: 7 } + c_speed: { label: 'Speed', default: null, idx: 8 } + c_speed_admin: { label: 'Admin Speed', default: null, idx: 9 } + c_error: { label: 'Error Message', default: null, idx: 10 } + c_mac: { label: 'Port MAC', default: null, idx: 11 } + c_mtu: { label: 'MTU', default: null, idx: 12 } + c_pvid: { label: 'Native VLAN', default: checked, idx: 13 } + c_vmember: { label: 'VLAN Membership', default: checked, idx: 14 } + c_power: { label: 'PoE', default: null, idx: 15 } + c_ssid: { label: 'SSID', default: null, idx: 16 } + c_nodes: { label: 'Connected Nodes', default: null, idx: 17 } + c_neighbors: { label: 'Connected Devices', default: checked, idx: 18 } + c_stp: { label: 'Spanning Tree', default: null, idx: 19 } + c_up: { label: 'Status', default: null, idx: 20 } + mac_format: { default: IEEE } + n_inventory: { label: 'Inventory Data', default: checked, idx: 0 } n_detailed_inventory: { label: 'Detailed Inventory', default: null, idx: 1 } - n_age: { label: 'Age Stamp', default: null, idx: 2 } - n_ip4: { label: 'IPv4 Addresses', default: checked, idx: 3 } - n_ip6: { label: 'IPv6 Addresses', default: checked, idx: 4 } - n_netbios: { label: 'NetBIOS Name', default: checked, idx: 5 } - n_ssid: { label: 'SSID', default: checked, idx: 6 } - n_vendor: { label: 'Vendor', default: null, idx: 7 } - n_archived: { label: 'Archived Data', default: null, idx: 8 } - age_num: { default: 3 } - age_unit: { default: months } + n_age: { label: 'Age Stamp', default: null, idx: 2 } + n_ip4: { label: 'IPv4 Addresses', default: checked, idx: 3 } + n_ip6: { label: 'IPv6 Addresses', default: checked, idx: 4 } + n_netbios: { label: 'NetBIOS Name', default: checked, idx: 5 } + n_ssid: { label: 'SSID', default: checked, idx: 6 } + n_vendor: { label: 'Vendor', default: null, idx: 7 } + n_archived: { label: 'Archived Data', default: null, idx: 8 } + age_num: { default: 3 } + age_unit: { default: months } device_netmap: showips: { default: null } showspeed: { default: null } diff --git a/share/schema_versions/App-Netdisco-DB-59-60-PostgreSQL.sql b/share/schema_versions/App-Netdisco-DB-59-60-PostgreSQL.sql index 39a4f72a..0b62d4f9 100644 --- a/share/schema_versions/App-Netdisco-DB-59-60-PostgreSQL.sql +++ b/share/schema_versions/App-Netdisco-DB-59-60-PostgreSQL.sql @@ -1,5 +1,5 @@ BEGIN; -ALTER TABLE device_port_properties ADD COLUMN "speed_admin" text; +ALTER TABLE device_port ADD COLUMN "speed_admin" text; COMMIT; diff --git a/share/views/ajax/device/ports.tt b/share/views/ajax/device/ports.tt index 44089ecc..1db59f70 100644 --- a/share/views/ajax/device/ports.tt +++ b/share/views/ajax/device/ports.tt @@ -175,6 +175,10 @@ [% row.speed | html_entity %] [% END %] + [% IF params.c_speed_admin %] + [% row.speed_admin | html_entity %] + [% END %] + [% IF params.c_error %] [% row.error_disable_cause | html_entity %] [% END %] diff --git a/share/views/ajax/device/ports_csv.tt b/share/views/ajax/device/ports_csv.tt index 8ed8aeb6..c8932731 100644 --- a/share/views/ajax/device/ports_csv.tt +++ b/share/views/ajax/device/ports_csv.tt @@ -91,6 +91,10 @@ [% myport.push(row.speed) %] [% END %] + [% IF params.c_speed_admin %] + [% myport.push(row.speed_admin) %] + [% END %] + [% IF params.c_error %] [% myport.push(row.error_disable_cause) %] [% END %]