From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mailfilter03.viettel.com.vn (mailfilter03.viettel.com.vn [125.235.240.55]) by dpdk.org (Postfix) with ESMTP id AB9991B18C for ; Sat, 23 Sep 2017 10:00:24 +0200 (CEST) X-IronPort-AV: E=Sophos;i="5.42,429,1500915600"; d="scan'208";a="58260319" Received: from 125.235.240.45.adsl.viettel.vn (HELO mta2.viettel.com.vn) ([125.235.240.45]) by mailfilter03.viettel.com.vn with ESMTP; 23 Sep 2017 15:00:23 +0700 Received: from localhost (localhost [127.0.0.1]) by mta2.viettel.com.vn (Postfix) with ESMTP id C16E668D778; Sat, 23 Sep 2017 15:00:10 +0700 (ICT) Received: from mta2.viettel.com.vn ([127.0.0.1]) by localhost (mta2.viettel.com.vn [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id weV2EyTZX1Kq; Sat, 23 Sep 2017 15:00:10 +0700 (ICT) Received: from localhost (localhost [127.0.0.1]) by mta2.viettel.com.vn (Postfix) with ESMTP id 9C5FD68D77B; Sat, 23 Sep 2017 15:00:10 +0700 (ICT) X-Virus-Scanned: amavisd-new at Received: from mta2.viettel.com.vn ([127.0.0.1]) by localhost (mta2.viettel.com.vn [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id n998UXisFiin; Sat, 23 Sep 2017 15:00:10 +0700 (ICT) Received: from zimbra.viettel.com.vn (mailbox3.viettel.com.vn [10.30.182.138]) by mta2.viettel.com.vn (Postfix) with ESMTP id 7102468D778; Sat, 23 Sep 2017 15:00:10 +0700 (ICT) To: users@dpdk.org Cc: cristian dumitrescu Message-ID: <754042755.17160061.1506153610491.JavaMail.zimbra@viettel.com.vn> In-Reply-To: <950115745.16976369.1506151137515.JavaMail.zimbra@viettel.com.vn> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [220.231.122.17] X-Mailer: Zimbra 8.0.9_GA_6191 (ZimbraWebClient - GC58 (Win)/8.0.9_GA_6191) Thread-Topic: IP Pipeline QoS Thread-Index: hcauZXra4kKJuR5uES4JOTe08HMJEA== MilterAction: FORWARD Date: Sat, 23 Sep 2017 15:00:10 +0700 (ICT) From: longtb5@viettel.com.vn Subject: [dpdk-users] IP Pipeline QoS X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Sep 2017 08:00:25 -0000 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