Staircase style traffic with Ostinato

1 minute read

A few weeks ago, Ostinato user Peter asked me -

I basically want to send traffic at different traffic % load for a specific interval of time. 10 seconds 10% 1G, 10 seconds 20% 1G, through 10 seconds 90% 1G and then back down to 10% and repeat. Is there a way to do that through the [Ostinato] GUI?

I sent him instructions to do so and figured it might be useful for others too, so posting here as well -

Note that although Peter didn’t need to generate 100% 1G traffic, it is easy to extend the below instructions to do that.

Let’s first visualize this staircase style traffic requirement -

Staircase Traffic requirement

Note that Ostinato stream configuration takes input as Number of Packets instead of Duration in seconds, and Packets/sec instead of % line rate, so we need to do some conversion first. Here are the formulae for the same -

PacketsPerSec = TargetBpsRate/((PktSize+20)*8)
NumberOfPackets = PacketsPerSec * DurationInSec

20 bytes is the per-packet ethernet line rate overhead (preamble, start of frame and inter packet gap)

I’ll assume for now that packet size doesn’t matter and go with 1500 byte packets (more on this later).

Using the above formulae, we calculate Packet Rate and Number of Packets for each of the 9 streams -

Staircase Traffic Stream Rates

See the table on Google Sheets

Next steps -

  • Create stream #1 in the GUI and configure the protocols and fields as desired.

  • Configure packet size as 1500
    Staircase Traffic Packet Size

  • Configure the Packet Rate and Number of Packets from the table above corresponding to stream #1
    Staircase Traffic Rate and Duration

  • Duplicate the stream - enter count as 8 (for a total of 9 streams)
    Staircase Traffic Stream Duplication

  • Edit the remaining 8 streams and change the packet rate and number of packets as per the above table

  • Ensure the first 8 streams are set to Goto Next and the last one to Goto First
    Staircase Traffic Stream Next

  • Finally, hit “Apply” followed by “Start Transmit”

The reason I picked 1500 as the packet size as opposed to 64 (default packet size for Ostinato streams) is that Ostinato cannot do 1Gbps for 64 byte packets without the Turbo add-on.

To get line rate for small packet sizes like 64 bytes, you can use the Ostinato Turbo add-on which provides wire speed 10/25/40Gbps

If you have any questions, post in the comments below.

Leave a Comment