Hello everyone,
I have a question about the order of prioritized packets at receiver’s side when using priority queues.
So when I send two UDP flows (one from host 1 and one from host 2) into the same output port.
I configured the bandwidth of the UDP flows larger than the bandwidth of the link in Mininet and host 1 will use a higher priority queue than host 2, 7 and 1 respectively.
Flow 1 is sent first and the duration is 5s, Flow 2 is sent after and the duration is 10s. The result shows that while Flow 1 is sending, Flow 2 is suspended until Flow 1 finishes sending (after 5s) then there’s signal of Flow 2 on the receiver.
This time, I use send.py to generate flows of packets from host 1 and host 2 like the example above, and host 1 still use the higher priority than host 2. I attached the standard_metadata.qid
information to the hdr.ipv4.tos field.
At the receiver, I expect to see the result like this:
0x7
0x7
0x7
0x7
...
0x1
0x1
...
But the result is:
0x7
0x1
0x7
0x1
...
It looks like flow 2 doesn’t wait until flow 1 finishes sending. Isn’t flow 1 supposed to be sent prior to flow 2?
Does anyone have any idea?
Thank you in advance.