Network Management

Interface Traffic and Peak bps charts show no data on Tunnel interfaces when the device under-reports bandwidth in the SolarWinds Platform

Interface Traffic, Peak Transmit bps, and Peak Receive bps charts display no data or a flat zero line for a tunnel or other virtual interface, while the interface itself reports Up and packet counters continue to increment. This occurs when the device reports an artificially low ifSpeed value, causing calculated percent utilization to exceed 100 percent, at which point the SolarWinds Platform discards the byte-derived values rather than storing them. Setting a Custom Bandwidth that reflects the real circuit capacity resolves the issue for new polls.

First published date

8/5/2026 4:01 PM

Last published date

8/5/2026 6:09 PM

Overview

Environment

  • SolarWinds Platform, all supported versions

  • Network Performance Monitor (NPM)

  • SNMP-polled interfaces

  • Most commonly observed on tunnel, encapsulation, and other virtual interface types

Symptoms

  • In and Out bits per second charts show "Data is not available"

  • Peak Transmit bps and Peak Receive bps render as a flat zero line, often with a Y-axis scaled from -1 to 1

  • Percent utilization gauges show implausibly large values, for example tens of thousands to millions of percent, when real-time polling is active

  • The interface status is Up and the interface is selected for monitoring in List Resources

  • Rows are being written to the interface traffic history table on the normal statistics collection schedule, with no gaps in row timestamps. This is InterfaceTraffic_CS_Detail on SolarWinds Platform 2020.2 and later, and InterfaceTraffic_Detail on earlier versions

  • Within those rows, In_TotalPkts and Out_TotalPkts are populated and incrementing, while In_TotalBytes, Out_TotalBytes, In_Averagebps, Out_Averagebps, In_Minbps, Out_Minbps, In_Maxbps, and Out_Maxbps are NULL

  • Other interfaces on the same node, polled by the same polling engine, are unaffected

Product section

Network Performance Monitor

Cause

The SolarWinds Platform calculates percent utilization as In_PercentUtil = (In_bps / InBandwidth) * 100 and Out_PercentUtil = (Out_bps / OutBandwidth) * 100.

Bandwidth is read from the device by SNMP during discovery and rediscovery, using ifSpeed (1.3.6.1.2.1.2.2.1.5, in bits per second) and ifHighSpeed (1.3.6.1.2.1.31.1.1.1.15, in Mbit/s). Tunnel and other virtual interfaces have no physical line rate, so some devices report a nominal or placeholder value rather than the real capacity of the underlying circuit.

When the reported bandwidth is far below actual throughput, calculated utilization exceeds 100 percent. In that condition the SolarWinds Platform discards the byte counter values for the poll and takes another poll instead, rather than storing a value it has determined to be invalid. Because bits per second, peak, and average values are all derived from the byte counters, those columns are written as NULL. Packet counters are not part of this calculation, which is why they remain populated in the same rows.

This validation applies to SNMP-polled interfaces. The receive and transmit directions are evaluated separately, so it is possible for one direction to be stored while the other is discarded.

This is expected product behavior and is working as designed. It is not a product defect. The underlying condition is the bandwidth value reported by the device, not the SolarWinds Platform calculation.

Resolution

All steps in this article can be performed without downtime. No service restart or maintenance window is required.

Before you begin

Review the following before carrying out the steps in this article.

  • Database backup. Ensure a current, verified full backup of the SolarWinds Platform database exists before making any configuration change described here

  • Non-production validation. Where a test or staging environment is available, validate the change there before applying it in production

  • Product version differences. The navigation paths, page names, and field labels referenced in this article reflect the SolarWinds Platform releases available at the time of writing. These may differ in other releases. Refer to the SolarWinds documentation for your specific product version if a path or label does not match your environment

  • Table and column names. The database object and column names used here reflect the schema at the time of writing and may change between releases. Verify object names against your own environment before running a query

Step 1. Confirm the symptom in the database

Run the following against the SolarWinds Platform database, substituting the affected InterfaceID.

-- Scripts are not supported under any SolarWinds support program or service.
-- Scripts are provided AS IS without warranty of any kind. SolarWinds further
-- disclaims all warranties including, without limitation, any implied warranties
-- of merchantability or of fitness for a particular purpose. The risk arising
-- out of the use or performance of the scripts and documentation stays with you.
-- In no event shall SolarWinds or anyone else involved in the creation,
-- production, or delivery of the scripts be liable for any damages whatsoever
-- (including, without limitation, damages for loss of business profits, business
-- interruption, loss of business information, or other pecuniary loss) arising
-- out of the use of or inability to use the scripts or documentation.

SELECT TOP 30 InterfaceID, DateTime, In_TotalBytes, Out_TotalBytes, In_Averagebps, Out_Averagebps, In_Maxbps, Out_Maxbps, In_TotalPkts, Out_TotalPkts FROM [dbo].[InterfaceTraffic_CS_Detail] WHERE InterfaceID = <affected InterfaceID> ORDER BY DateTime DESC;

The diagnostic signature is rows present on schedule, packet columns populated, and every byte-derived column NULL. If rows are absent entirely, this article does not apply and the issue is a polling or collection failure instead.

On SolarWinds Platform 2020.2 and later, interface traffic history is stored in ColumnStore tables and the object to query is InterfaceTraffic_CS_Detail. On earlier versions, use InterfaceTraffic_Detail.

The DateTime column in the ColumnStore tables is stored in UTC, not server local time. Convert the time of any configuration change to UTC before comparing it against these rows. Detailed statistics are retained for approximately seven days by default before being summarized, so keep the query inside that window.

Step 2. Compare against a healthy interface on the same node

Identify an interface on the same node that is charting correctly, then compare both against the Interfaces table.

-- Scripts are not supported under any SolarWinds support program or service.
-- Scripts are provided AS IS without warranty of any kind. SolarWinds further
-- disclaims all warranties including, without limitation, any implied warranties
-- of merchantability or of fitness for a particular purpose. The risk arising
-- out of the use or performance of the scripts and documentation stays with you.
-- In no event shall SolarWinds or anyone else involved in the creation,
-- production, or delivery of the scripts be liable for any damages whatsoever
-- (including, without limitation, damages for loss of business profits, business
-- interruption, loss of business information, or other pecuniary loss) arising
-- out of the use of or inability to use the scripts or documentation.

SELECT InterfaceID, Caption, InterfaceIndex, InterfaceSpeed, InBandwidth, OutBandwidth, CustomBandwidth, Counter64, StatCollection, PollInterval, MaxInBpsToday, MaxOutBpsToday FROM [dbo].[Interfaces] WHERE NodeID = <NodeID> ORDER BY InterfaceSpeed;

The 64-bit counter column in the Interfaces table is named Counter64. It is surfaced as Use64BitCounters in some views and in the web console, but Counter64 is the column name to use in a direct query against this table.

This comparison isolates the cause quickly. If the affected and healthy interfaces are identical in every respect except InBandwidth and OutBandwidth, and the affected interface carries throughput exceeding its reported bandwidth, the cause is confirmed. It simultaneously rules out node-level, polling engine-level, platform-level, and device-wide SNMP faults, because the control interface on the same node and engine polls correctly.

Check the CustomBandwidth value on the healthy interface. If it is already set, that interface was manually overridden previously rather than reporting its bandwidth correctly, which means the environment is partially remediated and the affected interface was simply missed in an earlier pass.

Bandwidth values in this table are stored in bits per second. A value of 100000 represents 100 Kbps, and 1000000000 represents 1 Gbps.

Step 3. Obtain the real circuit capacity

Confirm the actual committed capacity of the circuit or tunnel from your network team or service provider. Do not estimate this value. A figure that is merely large enough to unblock the data will allow charts to populate, but the resulting percent utilization will be proportionally inaccurate.

Step 4. Apply a Custom Bandwidth override

  • Navigate to the Interface Details page for the affected interface

  • Click Edit Interface

  • Select the Custom Bandwidth checkbox

  • Enter the real capacity in the Transmit Bandwidth and Receive Bandwidth fields. Note that this page accepts values in Mb/s, whereas the database stores bits per second

  • Click Submit

To apply the same change across multiple interfaces, use Settings > Manage Nodes and edit the interfaces in bulk.

Setting a Custom Bandwidth overrides the SNMP-derived bandwidth calculation for that interface.

Note the following for this step.

  • Field labels and navigation may differ between product versions. If the Custom Bandwidth checkbox or the Edit Interface option is not present as described, refer to the SolarWinds documentation for your version

  • A bulk edit applies the same Transmit and Receive values to every interface selected. Confirm that all selected interfaces share the same real capacity before applying a bulk change, as interfaces with differing capacities will otherwise report inaccurate percent utilization

  • Overriding the bandwidth replaces the value reported by the device for utilization, threshold, and alerting calculations on that interface. Any alert or report that depends on percent utilization for the interface will be evaluated against the new value

Step 5. Verify the change

Bits per second is a rate derived from the difference between two consecutive counter reads, so a minimum of two completed statistics polls must occur after the change before any value can be produced. At the default nine-minute statistics interval, allow 20 to 30 minutes.

Re-run the query from Step 1 and examine only rows with a timestamp after the change was applied. The byte-derived columns should now be populated.

If they remain NULL while packet counters continue to increment, the cause is not bandwidth-related and a device-side SNMP investigation is required. begin with an SNMP walk of ifHCInOctets (1.3.6.1.2.1.31.1.1.1.6) and ifHCOutOctets (1.3.6.1.2.1.31.1.1.1.10) against the affected interface index, compared against a working interface index on the same device.

Step 6. Identify other affected interfaces across the environment

Because the same condition can affect many interfaces silently, run a fleet-wide audit rather than fixing interfaces individually as they are reported.

-- Scripts are not supported under any SolarWinds support program or service.
-- Scripts are provided AS IS without warranty of any kind. SolarWinds further
-- disclaims all warranties including, without limitation, any implied warranties
-- of merchantability or of fitness for a particular purpose. The risk arising
-- out of the use or performance of the scripts and documentation stays with you.
-- In no event shall SolarWinds or anyone else involved in the creation,
-- production, or delivery of the scripts be liable for any damages whatsoever
-- (including, without limitation, damages for loss of business profits, business
-- interruption, loss of business information, or other pecuniary loss) arising
-- out of the use of or inability to use the scripts or documentation.

SELECT CASE WHEN i.InBandwidth > 0 AND (i.MaxInBpsToday > i.InBandwidth OR i.MaxOutBpsToday > i.OutBandwidth) THEN 'TIER 1 - Confirmed over threshold' WHEN i.InterfaceSpeed = 0 THEN 'TIER 2 - No bandwidth reported by device' WHEN i.CustomBandwidth = 0 AND i.InBandwidth <= 10000000 THEN 'TIER 3 - Low bandwidth, no override' END AS [Tier], i.InterfaceID, n.Caption AS [NodeName], e.ServerName AS [PollingEngine], i.Caption AS [Interface], i.InterfaceTypeName AS [InterfaceType], i.InterfaceSpeed AS [DeviceReportedSpeed], i.InBandwidth AS [InBandwidth], i.CustomBandwidth AS [CustomBandwidth], i.MaxInBpsToday AS [MaxInBpsToday], i.MaxOutBpsToday AS [MaxOutBpsToday] FROM dbo.Interfaces i JOIN dbo.NodesData n ON i.NodeID = n.NodeID JOIN dbo.Engines e ON n.EngineID = e.EngineID WHERE i.UnManaged = 0 AND ( ( i.InBandwidth > 0 AND (i.MaxInBpsToday > i.InBandwidth OR i.MaxOutBpsToday > i.OutBandwidth) ) OR i.InterfaceSpeed = 0 OR ( i.CustomBandwidth = 0 AND i.InBandwidth > 0 AND i.InBandwidth <= 10000000 ) ) ORDER BY [Tier], i.MaxInBpsToday DESC;

Node names are held in the NodesData table.

Tier 1 results are confirmed by arithmetic, since observed throughput demonstrably exceeds the configured bandwidth. Tier 2 and Tier 3 results identify interfaces that are misconfigured and at risk, but do not on their own confirm that byte data is being discarded. validate any Tier 2 or Tier 3 candidate using the query in Step 1 before treating it as affected.

Note that MaxInBpsToday and MaxOutBpsToday reset daily, so an interface that is quiet on the day the audit is run may still be at risk. Tier 3 is included to catch those cases.

Note that this query scans every monitored interface in the environment. In large deployments it may take some time to complete and place additional load on the database server. Where possible, run it outside a period of peak reporting activity. The tier thresholds in the CASE expression are a starting point and can be adjusted to suit your environment.

Step 7. Address the underlying device configuration

The durable resolution is on the network device, where the interface should advertise an ifSpeed value reflecting the real capacity of the circuit. Once corrected on the device, the Custom Bandwidth override is no longer required.

Device configuration is outside the SolarWinds Platform. Refer to your device vendor's official documentation for the current procedure, as SolarWinds does not own or maintain third-party device configuration, user interfaces, or documentation. Vendor procedures may have changed since this article was written.

Resolution classification

The Custom Bandwidth override is a supported, permanent configuration and is the sanctioned platform-side resolution. It persists across polling cycles and rediscovery.

It does not, however, correct the underlying condition. The device continues to report an inaccurate ifSpeed, and the override instructs the SolarWinds Platform to disregard that value. The permanent remediation is on the network device, as described in Step 7. Until that is done, the override is a static value that will not follow any later change in circuit capacity and must be updated manually if the circuit is upgraded or downgraded.

Notes and limitations

  • Historical data is not recovered. Polls where the byte values were discarded were never stored, and applying a Custom Bandwidth does not backfill them. Data populates from the point of the change forward, and the period before the change remains empty permanently. set this expectation before applying the change, as the gap in reporting for the affected period cannot be reconstructed

  • An alternative platform-level approach exists in which this validation is disabled so that values above 100 percent are retained instead of discarded. This changes behavior globally for all SNMP-polled interfaces rather than for a single interface, does not repair existing data, and requires a restart of SolarWinds Platform services. It is not the recommended first course of action. contact SolarWinds Technical Support if this approach is required for your environment

  • This validation applies to SNMP-polled interfaces. Interfaces polled through a vendor API are not subject to it, and utilization is stored for those interfaces even when it exceeds 100 percent

  • Real-time polling in PerfStack does not pass through this validation, which is why an implausibly large utilization value can render on a real-time chart while the corresponding historical chart shows no data at all

  • A related condition exists where the device reports a bandwidth of 0 rather than a low value. Interfaces in that state report a percent utilization that is not meaningful, which can also affect capacity forecasting. The same Custom Bandwidth remedy applies

  • Where percent utilization appears incorrect only during real-time polling and historical data is intact, the cause is more likely to be the real-time poll rate. refer to the knowledge article on PerfStack real-time polling showing incorrect values and spikes