DPDK usage discussions
 help / color / mirror / Atom feed
From: waqas ahmed <waqasahmed1471@gmail.com>
To: users@dpdk.org
Subject: hierarchical QoS traffic class and queue association problem
Date: Sat, 20 Nov 2021 14:37:58 +0500	[thread overview]
Message-ID: <CAMr3K=dBzD0y5AUVJdqjMo8M4H_oJCiPx30ARXvM2cwacv92jg@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2744 bytes --]

G,day
we are writing traffic shaping application on top of dpdk hierarchical QoS
application. Each subscriber is assigned with a distinct pipe where its
downstream traffic is shaped using pipes's 13 priority traffic classes.
in app_rx_thread we classify the traffic and determine its pipe,
traffic_class and queue and path write into pkt descriptor by
rte_sched_port_pkt_write() api.
in app_worker_thread we enqueue and dequeue into/from qos scheduler where
our custom code calculates the bits/sec stats on each of the pipe tc right
after dequeue from scheduler.
rte_sched_port_pkt_read_tree_path() is used on dequeue mbufs to see its
association with port, subport, traffic class  and queue. our expectations
are to see the same values of traffic class and queue that we assigned at
app_rx_thread() but its behavior is unexpected. below is our program output
by app_rx_thread and app_worker_thread for different runs.
other than traffic class = 0 and queue 0 assignment not other queue and
traffic class reads back correctly in worker thread. for example when we
classify and write traffic class = 1 and queue = 1 for a packet, it will be
read back after dequeue from scheduler as traffic class = 2 and queue = 0.
can any one explain this behavior?
i hope i made my question clear. thanks for reading and waiting for your
valuable comments. BR
rx_thread write:          traffic class = 0, queue = 0
worker_thread reads: traffic class = 0,  queue = 0

rx_thread write:          traffic class = 1, queue = 1
worker_thread reads: traffic class = 2,  queue = 0

rx_thread write:          traffic class = 2, queue = 2
worker_thread reads: traffic class = 4,  queue = 0

rx_thread write:          traffic class = 3, queue = 3
worker_thread reads: traffic class = 6,  queue = 0

rx_thread write:          traffic class = 4, queue = 4
worker_thread reads: traffic class = 8,  queue = 0

rx_thread write:          traffic class = 5, queue = 5
worker_thread reads: traffic class = 10,  queue = 0

rx_thread write:          traffic class = 6, queue = 6
worker_thread reads: traffic class = 12,  queue = 0

rx_thread write:          traffic class = 7, queue = 7
worker_thread reads: traffic class = 12,  queue = 2

rx_thread write:          traffic class = 8, queue = 8
worker_thread reads: traffic class = 0,  queue = 0

rx_thread write:          traffic class = 9, queue = 9
worker_thread reads: traffic class = 2,  queue = 0

rx_thread write:          traffic class = 10, queue = 10
worker_thread reads: traffic class = 4,  queue = 0

rx_thread write:          traffic class = 11, queue = 11
worker_thread reads: traffic class = 6,  queue = 0

rx_thread write:          traffic class = 12, queue = 12
worker_thread reads: traffic class = 8,  queue = 0

[-- Attachment #2: Type: text/html, Size: 3146 bytes --]

                 reply	other threads:[~2021-11-20  9:38 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMr3K=dBzD0y5AUVJdqjMo8M4H_oJCiPx30ARXvM2cwacv92jg@mail.gmail.com' \
    --to=waqasahmed1471@gmail.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).