[dts] [next] [RFC V1] framework: new packet generator module proposal
Lijuan Tu
lijuan.tu at intel.com
Mon Jul 16 19:14:21 CEST 2018
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 <lijuan.tu at intel.com>
More information about the dts
mailing list