Skip to content
Calcrivo

Packet Scheduling Calculator

Turn scheduler weights into a real bandwidth share and estimate serialisation and queueing delay per class.

Inputs

Mbps
weight
weight
bytes
packets

Bandwidth for This Class

300.00Mbps

Scheduler Share

30.00%

Serialisation Delay per Packet

8.000µs

Delay at Full Queue

1.707ms

Scheduler Round Time

26.667µs

Step by step

  1. Values used

    Link rate = 1,000 Mbps; Weight of this class = 30 weight; Sum of all other weights = 70 weight; Average packet size = 1,000 bytes; Queue depth = 64 packets

  2. Packet Scheduling

    class share = weight ÷ sum of weights; queueing delay = queue depth × packet bits ÷ class bandwidth.

  3. Bandwidth for This Class

    = 300.00 Mbps

  4. Scheduler Share

    = 30.00

  5. Serialisation Delay per Packet

    = 8.000 µs

  6. Delay at Full Queue

    = 1.707 ms

  7. Scheduler Round Time

    = 26.667 µs

How it works

A weighted scheduler hands out service in proportion to weight, so the bandwidth a class receives is its weight divided by the total. Serialisation is how long one packet takes to clock onto the wire, and the worst-case delay a packet sees is the whole queue ahead of it draining at the class rate. Weights are dimensionless in the CLI, so the only way to know whether a class will meet a 30 ms budget is to convert weight into Mbps and multiply by the configured queue depth.

Formula

Packet Scheduling

class share = weight ÷ sum of weights; queueing delay = queue depth × packet bits ÷ class bandwidth.

weight
Relative scheduler credit assigned to the class
queue depth
Packets the class can hold before tail drop

Frequently Asked Questions

How is Packet Scheduling calculated?

class share = weight ÷ sum of weights; queueing delay = queue depth × packet bits ÷ class bandwidth. A weighted scheduler hands out service in proportion to weight, so the bandwidth a class receives is its weight divided by the total. Serialisation is how long one packet takes to clock onto the wire, and the worst-case delay a packet sees is the whole queue ahead of it draining at the class rate.

Why does Packet Scheduling matter?

Weights are dimensionless in the CLI, so the only way to know whether a class will meet a 30 ms budget is to convert weight into Mbps and multiply by the configured queue depth.

What values do I need to enter?

This calculator takes 5 inputs: Link rate, Weight of this class, Sum of all other weights, Average packet size, Queue depth. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

You might also need