Hi Venky,

Please see inline.

Thanks,
Jasvinder


From: Venky Venkatesh <vvenkat...@paloaltonetworks.com>
Sent: Tuesday, January 10, 2023 8:52 AM
To: dev@dpdk.org
Subject: [2nd Try]:Re: Traffic Management API Questions

Hi,
Can someone pls get back on these
Thanks
-Venky

On Thu, Jan 5, 2023 at 4:07 AM Venky Venkatesh 
<vvenkat...@paloaltonetworks.com<mailto:vvenkat...@paloaltonetworks.com>> wrote:
Hi,
I was looking at the DPDK Traffic Management API. I wanted to clarify some 
things that I understand from the code (for software based TM implementation 
(at 20.11)) vs the documentation.
·         The documentation says "Traffic shaping: single/dual rate, private 
(per node) and shared (by multiple nodes) shapers" are supported. However it 
appears that the code supports only single rate shapers. Is my understanding 
correct?
[JS] – Yes, TM API supports single and dual rate shapers, privately per node as 
well as shared across multiple nodes. However, DPDK QoS scheduler library 
implements single rate shaper at nodes.
o    If not, pls point me to where dual rate shaping is supported in the 
software based TM implementation code.
o    However, if my understanding is correct, can the authors clarify the 
nature of issues they ran into in supporting dual rate (which thus prevented 
them from implementing it)?
[JS] – There isn’t any issue except more complexity. Author can rework the 
library to implement the dual rate shapers for the desired nodes depending upon 
the requirement.
·         The documentation comment above sounds like every node can have 
shapers. However it appears that the code does not support shaping at the port 
level. Again the same questions as above(regarding the accuracy of my 
understanding and if it is accurate, the reasons from the author for not 
supporting it)
[JS] – Implementation supports shapers at subport (group of pipes) and pipe 
level. The bandwidth available at the port level is distributed among the 
subports with the condition that aggregate bandwidth of subports should not 
exceed the port bandwidth. Each subport buffers and shape the traffic from the 
pipes depending upon the port bandwidth allocated to it. Implementation doesn’t 
support distribution of unused bandwidth of one subport to another subport. 
However, one can modify this behaviour if needed.
·         At the level of the TM API (and the associated software TM 
implementation) are there any restrictions on the number of levels of QoS 
hierarchy we can construct?
[JS] – TM API doesn’t restrict the number of QoS scheduler levels and generic 
enough to work with hierarchical schedulers with any number of levels. The 
current dpdk sched library implementation supports fixed 5 level scheduler 
hierarchy.
·         Lastly, does the QoS framework API (which I suppose is built on lower 
level building blocks including the TM API) expose the entire capabilities of 
the TM API (e.g. dual rate shapers, shapers at port level, > 4 levels of 
shaping etc.)? From the reading of the documentation it appears that there may 
be restrictions imposed by the QoS framework API on top of what TM API imposes. 
Can someone pls confirm this (and if so, the reason for doing so)?
[JS] – No, QoS framework API (DPDK sched library) presents only one flavour of 
hierarchical scheduler and doesn’t implements all the features exposed through 
TM API.  However, more features can be added to library and configured through 
TM API.

Thanks
-Venky

Reply via email to