[dpdk-dev] [PATCH v8 5/5] app/testpmd: add traffic management forwarding mode
ferruh.yigit at intel.com
Tue Oct 10 20:24:22 CEST 2017
On 10/10/2017 11:18 AM, Jasvinder Singh wrote:
> This commit extends the testpmd application with new forwarding engine
> that demonstrates the use of ethdev traffic management APIs and softnic
> PMD for QoS traffic management.
> In this mode, 5-level hierarchical tree of the QoS scheduler is built
> with the help of ethdev TM APIs such as shaper profile add/delete,
> shared shaper add/update, node add/delete, hierarchy commit, etc.
> The hierarchical tree has following nodes; root node(x1, level 0),
> subport node(x1, level 1), pipe node(x4096, level 2),
> tc node(x16348, level 3), queue node(x65536, level 4).
> During runtime, each received packet is first classified by mapping the
> packet fields information to 5-tuples (HQoS subport, pipe, traffic class,
> queue within traffic class, and color) and storing it in the packet mbuf
> sched field. After classification, each packet is sent to softnic port
> which prioritizes the transmission of the received packets, and
> accordingly sends them on to the output interface.
> To enable traffic management mode, following testpmd command is used;
> $ ./testpmd -c c -n 4 --vdev
> 'net_softnic0,hard_name=0000:06:00.1,soft_tm=on' -- -i
> Signed-off-by: Jasvinder Singh <jasvinder.singh at intel.com>
> Acked-by: Cristian Dumitrescu <cristian.dumitrescu at intel.com>
> Acked-by: Thomas Monjalon <thomas at monjalon.net>
> v8 change:
> - fix compilation warning on uninitialsed parameter
> v7 change:
> - change port_id type to uint16_t
> - rebase on dpdk-next-net
> v5 change:
> - add CLI to enable default tm hierarchy
> v3 change:
> - Implements feedback from Pablo
> - add flag to check required librte_sched lib and softnic pmd
> - code cleanup
> v2 change:
> - change file name softnictm.c to tm.c
> - change forward mode name to "tm"
> - code clean up
>  http://dpdk.org/ml/archives/dev/2017-September/075744.html
> app/test-pmd/Makefile | 12 +
> app/test-pmd/cmdline.c | 88 +++++
> app/test-pmd/testpmd.c | 15 +
> app/test-pmd/testpmd.h | 46 +++
> app/test-pmd/tm.c | 865 +++++++++++++++++++++++++++++++++++++++++++++++++
Testpmd documentation  is missing, can you please send a separate
patch to update it? I can squash it later into this patch.
More information about the dev