From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 8195EA49 for ; Mon, 16 Jul 2018 10:45:20 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Jul 2018 01:45:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,360,1526367600"; d="scan'208";a="54657902" Received: from juan.sh.intel.com ([10.67.118.154]) by fmsmga007.fm.intel.com with ESMTP; 16 Jul 2018 01:45:08 -0700 From: Lijuan Tu To: dts@dpdk.org Cc: Lijuan Tu Date: Tue, 17 Jul 2018 01:14:21 +0800 Message-Id: <1531761261-181721-1-git-send-email-lijuan.tu@intel.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dts] [next] [RFC V1] framework: new packet generator module proposal X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 16 Jul 2018 08:45:21 -0000 Hi all, I am appreciate if you could spend a few minutes to review this RFC. This is a proposal to improve pktgen module in next branch. In next branch, a new module named packet generator was introduced, which redifined the old module etgen. It is intended to support several packet generators and unify the interfaces. Both hardware generator and software generator would be supported. Aim to support Trex, Pktgen, IxExplorer and IxNetwork: * These tools would provide APIs to dts to control generators, therefore our goal is to implement modules which based on these APIs. * Trex is an open source traffic generator fuelled by DPDK. It's API has been called in DTS next branch although only a simple functionality was implemented now. Link: http://trex-tgn.cisco.com * Pktgen is also a software generator powered by DPDK. Link: http://pktgen-dpdk.readthedocs.io * IxExplorer is a basic tool provided with ixia chassis, it can control hardware generator by low level API. There is a module implemented in master branch to control ixia chassis via IxExplorer function API. Link: https://www.ixiacom.com/ * IxNetwork is a tool which also can control ixia chassis but focus on L2-3 network infrastructure performance testing. It provide high level API to control hardware generator. link: https://www.ixiacom.com/products/ixnetwork Overall functionalities: * Throughput * Packet Loss * Zero Packet Loss (RFC2544) * Latency * Packet in-order check Current Requirements: * Single/Multiple streams * Dst/Src IP random * Dst/Src IP increase by number * Dst/Src IP increase by mask * Percentage of each flow and One burst flow * Port flow control enable and inject flow control packet in certain rate * Dst mac increase by number and vlan id increase by number Plan our works (Prioritize them with user cases): Assume all functionalities listed above will be supported. * Integrate IxExplorer API, the goal is have the same functionalities as master branch. * Implement more functionalities base on Trex API to align with IxExplorer module. * Integrate IxNetwork API, focus on high level functionalities, such as RFC2544. * Integrate Pktgen, as limitation, would be a little functionalities. Risk to be taken: * Some limitation or restriction that are not considered would cause API changed. * As limited contribution, it would take a long time to finished. It would be great to see any discussions within the community regarding both current implementation and future work. Signed-off-by: Lijuan Tu