Test slow traffic rates to avoid big problems

Ostinato Team bio photo By Ostinato Team

When testing network devices, we focus on the high speed traffic rates (10Gps or more) for performance and QOS testing and low speed traffic rates like 100 or 1000 packets per second (pps) for functional testing.

What’s often overlooked is testing with extremely slow rates. Rates at which protocol keep-alives time out leading to an uintended state machine transition (think BGP marking a peer as down due to lack of timely keepalives). Multi-player online games often require a minimum traffic rate to maintain state in the server. ARP aging may cause traffic drops. Mac aging may cause L2 floods. Policers and shapers may perform incorrectly at low rates due to the nature of their algo. DHCP request timeouts may cause the device going offline.

You get the idea.

But it’s not just about negative testing.

There’s a whole class of IEEE 802.3 slow protocols designed to operate at a fixed, slow rate of 1 packet every 30 seconds or so. Some examples of these protocols are -

Protocol Description Typical Traffic Rate
Link Aggregation Control Protocol (LACP) Used to automatically negotiate and manage link aggregation (port channels) 1 packet/sec (fast mode)
1 packet/30 sec (normal mode)
Link Layer Discovery Protocol (LLDP) Helps network devices discover and advertise their capabilities to neighbors 1 packet/30 sec
Operation, Administration, and Maintenance (OAM) Provides link monitoring and remote fault indication 1 packet/sec
Port Authentication (802.1X) Handles port-based network access control 1 packet/30 sec during authentication
1 packet/60 sec for keep-alive

These protocols are deliberately designed to operate at slow rates to minimize their impact on network bandwidth while still maintaining critical network functions.

Testing Slow Protocols with Ostinato

Apart from generating high speed traffic (100Gbps or even faster!), Ostinato can generate traffic at very low rates too. This is useful for scenarios like -

  1. Testing slow protocol implementations
  2. Verifying protocol state machines at boundary conditions
  3. Validating timeout behavior
  4. Stress testing protocol handlers

To configure Ostinato to generate slow traffic rates, you need to set the paccket rate (packets/sec) to a decimal value < 1.

Ostinato slow traffic rate configuration

To calculate slow traffic rates, use the below formula -

Packet Rate = 1 / (Time between packets in seconds)

Here are some examples -

Rate Calculation
1 packet/sec 1 / 1 = 1
1 packet every 30 sec 1 / 30 = 0.0333
1 packet every 60 sec 1 / 60 = 0.0167
1 packet every 5 minutes 1 / (5 * 60) = 0.0033
1 packet every hour 1 / (60 * 60) = 0.000278

Best Practices for Slow Rate Testing

  • Duration Matters: Run tests long enough to observe timeout behaviors (hours or days)
  • Background Traffic: Consider mixing slow protocol traffic with regular traffic
  • Resource Monitoring: Watch for memory leaks that only appear with long-running sessions