DPDK usage discussions
 help / color / mirror / Atom feed
* hierarchical QoS traffic class and queue association problem
@ 2021-11-20  9:37 waqas ahmed
  0 siblings, 0 replies; only message in thread
From: waqas ahmed @ 2021-11-20  9:37 UTC (permalink / raw)
  To: users

[-- 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 --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-11-20  9:38 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-20  9:37 hierarchical QoS traffic class and queue association problem waqas ahmed

DPDK usage discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/users/0 users/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 users users/ http://inbox.dpdk.org/users \
		users@dpdk.org
	public-inbox-index users

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.users


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git