test suite reviews and discussions
 help / color / mirror / Atom feed
From: Lijuan Tu <lijuan.tu@intel.com>
To: dts@dpdk.org
Cc: Lijuan Tu <lijuan.tu@intel.com>
Subject: [dts] [next] [RFC V1] framework: new packet generator module proposal
Date: Tue, 17 Jul 2018 01:14:21 +0800	[thread overview]
Message-ID: <1531761261-181721-1-git-send-email-lijuan.tu@intel.com> (raw)

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@intel.com>

                 reply	other threads:[~2018-07-16  8:45 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1531761261-181721-1-git-send-email-lijuan.tu@intel.com \
    --to=lijuan.tu@intel.com \
    --cc=dts@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).