Avoid Packet Loss in High‑Traffic Networks with Npss Adaptive Flow Control
Learn how Npss’s Adaptive Flow Control throttles traffic to keep QoS, with a hands‑on config example, trade‑offs, and verification steps.
23 Jul 2025, 15:28 UTC

The Packet Loss Problem
In dense data‑center fabrics or edge routers, sudden bursts of traffic can push a link beyond its capacity. When that happens, switches drop packets, causing retransmissions, higher CPU usage, and application jitter. Engineers often resort to static bandwidth limits or manual traffic shaping, which either underutilize the link or require constant tuning.
What Adaptive Flow Control Does
Npss’s Adaptive Flow Control (AFC) is a built‑in mechanism that watches link utilization in real time. When usage climbs toward a configured target (e.g., 80 %), AFC automatically throttles the packet send rate. It keeps traffic within the link’s capacity while still honoring priority queues, so latency‑sensitive flows remain unaffected.
Configuring the Feature
Below is a minimal CLI snippet that enables AFC on interface eth0. It sets an 80 % target utilization and a minimum burst size of 10 kB to avoid excessive jitter.
# Run as an administrator on the Npss host
npss configure interface eth0
flow_control enable
target_utilization 80
min_burst_size 10240
end
Alternatively, the same configuration can be applied through the REST API:
POST /interfaces/eth0/flow_control
{
"enable": true,
"target_utilization": 80,
"min_burst_size": 10240
}
After submitting the change, AFC takes effect immediately—no service restart is needed.
Trade‑offs and Limitations
- Latency Jitter: The dynamic throttling can add a few milliseconds of delay to bursty traffic. In most cases this is acceptable, but real‑time applications may notice a slight increase in jitter.
- CPU Overhead: Continuous monitoring and rate adjustment consume CPU cycles. On low‑end Npss nodes, this could reduce overall throughput by a few percentage points.
- Version Dependency: AFC is available only in Npss 3.2 and newer. Attempts to enable it on 3.1 or earlier will return an error.
- Metric Accuracy: AFC relies on accurate link utilization metrics. If the NIC’s counters are noisy or the sampling interval is too long, the feature may over‑constrain the link.
Putting It Into Practice
- Verify support: Run
npss versionand look for aflow_controlcapability flag.npss version # Expected output snippet Version: 3.2.1 Capabilities: flow_control, qos, etc. - Enable AFC on the critical interface using the configuration shown above.
- Confirm activation with
npss show flow_control status.npss show flow_control status eth0 Interface: eth0 Enabled: true Target Utilization: 80% Current Utilization: 76% Min Burst Size: 10240 bytes - Monitor metrics via the Npss metrics endpoint (
/metrics/flow_control) for link utilization and packet loss. A stable utilization around 80 % with minimal loss indicates correct operation. - Load test with bursty traffic (e.g., using
iperfwith burst mode) and observe latency. If latency stays within acceptable limits, AFC is functioning as intended.
Actionable Tip: Start with the default 80 % target on a non‑critical interface to gauge impact. If you observe acceptable jitter, roll the configuration out to production interfaces, adjusting the target upward or downward based on observed throughput and latency.
By enabling AFC, you let Npss do the heavy lifting of congestion avoidance, reducing retransmissions, lowering downstream CPU load, and improving end‑to‑end responsiveness—all without manual shaping or constant tuning.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.