From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 5E2E9A0C41;
	Wed,  6 Oct 2021 18:28:27 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 4C75C411A6;
	Wed,  6 Oct 2021 18:28:27 +0200 (CEST)
Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net
 [217.70.183.197])
 by mails.dpdk.org (Postfix) with ESMTP id AA45441179
 for <dev@dpdk.org>; Wed,  6 Oct 2021 18:28:26 +0200 (CEST)
Received: (Authenticated sender: blp@ovn.org)
 by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 0C19F1C0003;
 Wed,  6 Oct 2021 16:28:24 +0000 (UTC)
Date: Wed, 6 Oct 2021 09:28:21 -0700
From: Ben Pfaff <blp@ovn.org>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: dev@dpdk.org, Xiaoyun Li <xiaoyun.li@intel.com>
Message-ID: <YV3OpSn38Odg8kzw@ovn.org>
References: <20210910175733.1248739-1-blp@ovn.org>
 <fa5f879f-2e6b-81ca-d2bd-6801ed5e0168@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <fa5f879f-2e6b-81ca-d2bd-6801ed5e0168@intel.com>
Subject: Re: [dpdk-dev] [PATCH] app/testpmd: Document what the application
 does.
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On Tue, Sep 14, 2021 at 08:58:31AM +0100, Ferruh Yigit wrote:
> On 9/10/2021 6:57 PM, Ben Pfaff wrote:
> > I could not find anything in the documentation that says what
> > testpmd does.  This should save other people time trying to
> > figure that out in the future.
> > 
> > Signed-off-by: Ben Pfaff <blp@ovn.org>
> > ---
> >  doc/guides/testpmd_app_ug/run_app.rst | 6 ++++++
> >  1 file changed, 6 insertions(+)
> > 
> > diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
> > index 6061674239..7c3406f72b 100644
> > --- a/doc/guides/testpmd_app_ug/run_app.rst
> > +++ b/doc/guides/testpmd_app_ug/run_app.rst
> > @@ -15,6 +15,12 @@ a list of available EAL command-line options.
> >  Testpmd Command-line Options
> >  ----------------------------
> >  
> > +By default, testpmd receives packets on each configured port and
> > +forwards the received packets to its paired port.  Ports 0 and 1 are
> > +paired, as are ports 2 and 3, and so on.  With an odd number of ports,
> > +the last port is paired with itself: packets received on the port are
> > +sent back out on the same port.
> Hi Ben,
> 
> testpmd has the concept of 'forwarding engine' (struct fwd_engine), which is
> decoupled from testpmd logic and can be changed in the runtime. What you
> described above is the 'io' (default) forwarding engine.
> There are forwarding engines like 'flowgen' that generates and send L3 packets,
> so behaves like a very simple packet generator, etc...
> 
> And even for the 'io' forwarding engine, the paired port description above is
> controlled by "--port-topology=<paired|chained|loop>", so for example if the
> 'chained' topology is selected, packets will be forwarded as 0 -> 1 -> 2 -> 3 ..
> 
> 
> Overall, I understand the intention to briefly describe the testpmd, but I think
> it is not correct to reduce the description to packet forwarding, although that
> is an important function of testpmd, it is not only function and testpmd does
> much more, it has many control path functions.

I think that someone who maintains testpmd needs to take this patch
over, then.  I don't know it well enough.