Hello,

I'm trying to use the Traffic Manager to implement priorities and weights.
But it is not applying these policies.

I have observed from the traces that the TM is not queuing the packets, but
directly ouputing them. For instance, see this final stats from the TM:

 odp_tm_stats_print - tm_system=0x56347C6E6790 tm_idx=0
   input_work_queue size=256 current cnt=0 peak cnt=256
   input_work_queue enqueues=1225767 dequeues=1225767 fail_cnt=1034
   green_cnt=0 yellow_cnt=0 red_cnt=0
   * queue_num=1 priority=0 rcvd=408650 enqueued=0 dequeued=0
consumed=408650
   * queue_num=2 priority=0 rcvd=409041 enqueued=0 dequeued=0
consumed=409041
   * queue_num=4 priority=2 rcvd=408076 enqueued=0 dequeued=0
consumed=408076

I have two priorities (0 and 2) and 3 queues. Two queues go to priority 0,
with 30% and 70% weights. I transmit 1GB through each queue with TCP. There
is no prioritization, nor weighted scheduling.

My understanding is that if the TM doesn't enqueue the packets in its
internal queues (enqueued and dequeued stats are 0), it doesn't apply any
of the algorithms (priority encoder, WFQ, etc.).

I am using taps in my laptop, not a real network, so the BW is quite high
(~3 Gbps). Could it be that if the network can absorb the BW processed by
the CPU, then the PKTOUT doesn't get congested and no queing is done, so no
TM either.

However, to reject this hypothesis, I reduced the main input queue to 256
packets. Now, it gets full, because the TM rejects 1034 packets. So it
still doesn't apply queuing (thus priorities and weights), but it is
clearly congested because it rejects packets.

Any thoughts on this?

Thank you in advance.

--
Oriol Arcas
Software Engineer
Starflow Networks

Reply via email to