[dpdk-users] IP Pipeline QoS

longtb5 at viettel.com.vn longtb5 at viettel.com.vn
Sat Sep 23 10:00:10 CEST 2017


Hi, 
I am trying to build a QoS/Traffic management application using packet framework. The initial goal is to be able to  configure traffic flow for upto 1000 users, *individually*, through the front end cmdline. 
Atm I'm looking at ip_pipeline's edge_router_downstream sample and the qos_sched app for starting point. I have a few questions:

1. The traffic management pipeline in edge_router_downstream.cfg is configured as followed: 

[PIPELINE2] 
type = PASS-THROUGH 
pktq_in = SWQ0 SWQ1 SWQ2 SWQ3 TM0 TM1 TM2 TM3 
pktq_out = TM0 TM1 TM2 TM3 SWQ4 SWQ5 SWQ6 SWQ7 

I'm not exactly sure how this works. My thinking is that since this is a passthru table with no action, the output of SWQ0 gets connected 
to the input of TM0 and the output of TM0 gets connected to input of SWQ4, effectively route SWQ0 to SWQ4 through TM0. Is that correct? 

2. If that's the case, why don't we do it this way: 

[PIPELINE1] 
type = ROUTING 
pktq_in = RXQ0.0 RXQ1.0 RXQ2.0 RXQ3.0 
pktq_out = TM0 TM1 TM2 TM3 SINK0 

[PIPELINE2] 
type = PASS-THROUGH 
pktq_in = TM0 TM1 TM2 TM3 
pktq_out = TM0 TM1 TM2 TM3 

[PIPELINE3] 
type = PASS-THROUGH 
pktq_in = TM0 TM1 TM2 TM3 
pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0 

In other words, why do we need SWQs in this case? (and in general what is the typical use of SWQs?)

3. I understand the fast/slow table copy mechanism for querying/updating _tables_ through the front end. How should I go about querying/updating 
pipe profile, which are parts of TM _ports_ if I'm not mistaken. For example, to get/set the rate of tc 0 of pipe profile 0. 
Put it another way, how can I configure tm_profile.cfg interactively through the CLI? 
Is it even possible to configure TMs on-the-fly like that? 

Thanks, 
BL 


More information about the users mailing list