behavioral-model icon indicating copy to clipboard operation
behavioral-model copied to clipboard

set queue rate/depth commands with priority queues

Open carlos-hfm opened this issue 6 months ago • 4 comments

Hi, I am working on simple_switch target with priority queues.

I am generating traffic to the queues, and trying to change the capacity and rate of each queue, to see the impact of it in the QoS and in the occupation of each one. But, in my tests, it seems that the set queue rate/depth commands are changing the values of the inverse queue of the input!

For example, when I have 3 priority queues, and I generate traffic (UDP) to queue/priority 2, and I want to reduce the rate of that queue, I use the command set_queue_rate 100 0 2 (on simple_switch_CLI), I can't see any difference in the QoS or in the queue occupation. But if I use the set_queue_rate 100 0 0, then the QoS and occupation of queue 2 change! The same thing happens when I change the depth/capacity of the queues.

Then I repeated the test with 4 priority queues, and in this case I had to "change queue 1" to see the difference in queue 2 occupation.

In the past I did a little change in simple_switch.cpp code, to return the occupation of the specific priority queue of each packet pass in the enq_qdepth metadata, but I think it is not the reason of the problem.

Can anybody repeat these tests to confirm?

carlos-hfm avatar Aug 14 '24 20:08 carlos-hfm