From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id F28C7A0565;
	Mon, 23 Mar 2020 14:09:57 +0100 (CET)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 15A4D1C067;
	Mon, 23 Mar 2020 14:09:57 +0100 (CET)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-eopbgr130048.outbound.protection.outlook.com [40.107.13.48])
 by dpdk.org (Postfix) with ESMTP id 6133F1C065
 for <dev@dpdk.org>; Mon, 23 Mar 2020 14:09:55 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b6qmQDMu6ulfNHo4Bks/H/njKwRmYNPoWQ9iuDZyqdKffvRvOhWsN96yFOZVtOdh8emKTSes47hwWX4AgNAGZJngd5BCBaQPZ3LGWU9OqgHKNFxlgDqGIqAicmlSbzGEaAEUQ7FV4/GQwDpNihNFKs9d64sCBnTpK9qOA3+AnBiRBHQ8Pzep/9VEcOmLkHUBszgINvvmKA3beRbJ8iXJkLNHZ5Aw4rfaIWM1FoCXSx1hyd6IuDOEj2b5tvYxH8yYorBCYdLuJHx4EgtRaRpJALZAfPf3Upyrgh68TNxvLauj3Y8A2/R+c4Lp8peVzyvjbBsLUymVttQUYCjCGHWx1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3AY5vOUMG2MPw6NgFHJvKpIupWUu5gAC7Suv25mnL78=;
 b=mIhmgrEC5KE4Ii6NOZDKb7VBG0JpT/1SMHCnyF3qwf7iRtbMB5yZqNOwnFwQLHMrAPDd7Ee3cKUlTyLs8g5NyK4n5FFU7U0sreFOBw+dykZNwZFiqNMnjSQ5NLzrr7+tnqOlTDOevxc6Zl5/d4QjCePVs2pp1KNog0kdELM80N6WCZIeXwQnMGLjAwhC6yhvCahkGWK9uZ+HDetKBEV9GK45ne15y/IWkg0zOUZQcn2L/BQwfdnmmNjCNNZL+CaDSUF2zNQA+NT/e+ISXlAXDbJNrQhISQ7R9PmT7iWzRMcio33NB8MeqMkPZ+gwWduImWkic61BHN7RA7Bt8MDzcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com;
 dkim=pass header.d=mellanox.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3AY5vOUMG2MPw6NgFHJvKpIupWUu5gAC7Suv25mnL78=;
 b=pgkIZYgqUkcc3XvCBUBBFXdvhvev1AlY9kfgyhEpZF8RSVA7Q4gZVz9Cv1c+r0R3/Hmsk5o8wGLr7dLvlXJQah6wC4HdyQXLrYagwK6tsUOFjnD58CvxPTn9lhgfPcoYQ40zMKaA2Ol0cN/CaCMimFSTly7oh4Vg046hXA2mDX0=
Received: from AM0PR05MB6610.eurprd05.prod.outlook.com (20.178.202.18) by
 AM0PR05MB5764.eurprd05.prod.outlook.com (20.178.115.95) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.2835.20; Mon, 23 Mar 2020 13:09:53 +0000
Received: from AM0PR05MB6610.eurprd05.prod.outlook.com
 ([fe80::f9b0:5b27:21a3:c758]) by AM0PR05MB6610.eurprd05.prod.outlook.com
 ([fe80::f9b0:5b27:21a3:c758%3]) with mapi id 15.20.2835.021; Mon, 23 Mar 2020
 13:09:52 +0000
From: Wisam Monther <wisamm@mellanox.com>
To: Thomas Monjalon <thomas@monjalon.net>, Jerin Jacob <jerinjacobk@gmail.com>
CC: dpdk-dev <dev@dpdk.org>, Matan Azrad <matan@mellanox.com>, Raslan
 Darawsheh <rasland@mellanox.com>
Thread-Topic: [dpdk-dev] [RFC] app/test-flow-perf: add rte_flow perf app
Thread-Index: AQHV/GJxxUsI2uww30mzzX9+tgZjqqhRDp6AgABUe4CAAAdoAIAEjGPwgAAZLoCAAAVp4IAAF7wAgAAAXoA=
Date: Mon, 23 Mar 2020 13:09:52 +0000
Message-ID: <AM0PR05MB66109CEC87A86A506CEC8835A9F00@AM0PR05MB6610.eurprd05.prod.outlook.com>
References: <1584452772-31147-1-git-send-email-wisamm@mellanox.com>
 <CALBAE1P4T65HkOKmhPDrh4B=SCr7St0_ffj0RFfX4yvwv_=cZg@mail.gmail.com>
 <AM0PR05MB6610309D0D7E2529786E1414A9F00@AM0PR05MB6610.eurprd05.prod.outlook.com>
 <2643636.88bMQJbFj6@xps>
In-Reply-To: <2643636.88bMQJbFj6@xps>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=wisamm@mellanox.com; 
x-originating-ip: [188.161.229.199]
x-ms-publictraffictype: Email
x-ms-office365-filtering-ht: Tenant
x-ms-office365-filtering-correlation-id: 3ee08a67-41f0-4249-d65f-08d7cf2b79c7
x-ms-traffictypediagnostic: AM0PR05MB5764:|AM0PR05MB5764:
x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtFwd,ExtAddr
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <AM0PR05MB5764613F12C64B5258B5E205A9F00@AM0PR05MB5764.eurprd05.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0351D213B3
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(4636009)(346002)(39860400002)(366004)(396003)(136003)(376002)(199004)(110136005)(107886003)(54906003)(478600001)(76116006)(52536014)(33656002)(4326008)(9686003)(55016002)(2906002)(5660300002)(186003)(26005)(86362001)(81166006)(81156014)(6506007)(53546011)(8676002)(8936002)(7696005)(66556008)(316002)(66946007)(71200400001)(66476007)(66446008)(64756008);
 DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR05MB5764;
 H:AM0PR05MB6610.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; A:1; 
received-spf: None (protection.outlook.com: mellanox.com does not designate
 permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: FmTL1yGoc66/YSyKS4tXdiqhATQZn6IJntsEIWGqBN5b4q7p9bTFMfiypiWgD+FTyfOHZk3Uyh3bFJ+mAcvzgaJ0tJtr+a432DhF8nEIjGoh1/qwroQgvnxSkcm1jWNyZK8A9MS7u34wl8m1PxZrFRmuozQCEbj1RGGrTa5J6XHK57RKGARho9sVWS5GYFMGuqhhsZLJt31OI+7sdHfdvmteKQxdYqkcB4IO6BKncUzm7dF3gjEoRQwc1pf2s8/w8GZ40Urkohpb2KGUWr5wNw8Y+gCXVcPr7VEYEODG06WRAFwc+84wDCv5czj2WeOr6Y3SYOuZy8ZeTIspJ5DB+N1upSmL+H1yQVvortF8K5YMzNK97ko3tQw/PoOkmKQP+I/B2hJ8l8XyXyOplyS9gzaaP3adm6eePdN7nDWEeHvnPLZtet9JCUzRpEkQyC/V
x-ms-exchange-antispam-messagedata: boOoNygi24nRLtYpWsVT500nrZ+nsWyNR2bwNqIb+mR4uC2jnyqLoPV2vxZfDj27JgSFxppkVnn9OkMtsUXtU9uh7i4s4hohjWHvbObNozZgL1//tDayI9PSqvSuu6Dij826cnIVT8USuc9wQdGYOw==
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: Mellanox.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ee08a67-41f0-4249-d65f-08d7cf2b79c7
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2020 13:09:52.8588 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FMYkwmHwM0iOMd6HyTFPexlMqBGOwBR6uiDcgDm41/ttGegllEXGH0alj20BOqcE4DASzVSyslcgzFdUAi+W0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB5764
Subject: Re: [dpdk-dev] [RFC] app/test-flow-perf: add rte_flow perf app
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
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>



> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Monday, March 23, 2020 3:00 PM
> To: Jerin Jacob <jerinjacobk@gmail.com>; Wisam Monther
> <wisamm@mellanox.com>
> Cc: dpdk-dev <dev@dpdk.org>; Matan Azrad <matan@mellanox.com>;
> Raslan Darawsheh <rasland@mellanox.com>
> Subject: Re: [dpdk-dev] [RFC] app/test-flow-perf: add rte_flow perf app
>=20
> 23/03/2020 12:41, Wisam Monther:
> > From: Jerin Jacob <jerinjacobk@gmail.com>
> > > On Mon, Mar 23, 2020 at 3:23 PM Wisam Monther wrote:
> > > > From: Jerin Jacob <jerinjacobk@gmail.com>
> > > > > On Fri, Mar 20, 2020 at 5:21 PM Thomas Monjalon wrote:
> > > > > > 20/03/2020 07:49, Jerin Jacob:
> > > > > > > On Tue, Mar 17, 2020 at 7:16 PM Wisam Jaddo wrote:
> > > > > > >
> > > > > > > Thanks for this application. Useful stuff.
> > > > > > >
> > > > > > > >
> > > > > > > > Introducing new application for rte_flow performance testin=
g.
> > > > > > > > The application provide the ability to test insertion rate
> > > > > > > > of specific rte_flow rule, by stressing it to the NIC, and
> > > > > > > > calculate the insertion rate.
> > > > > > > >
> > > > > > > > It also provides packet per second measurements after the
> > > > > > > > insertion operation is done.
> > > > > > > >
> > > > > > > > The application offers some options in the command line,
> > > > > > > > to configure which rule to apply.
> > > > > > > >
> > > > > > > > After that the application will start producing rules with
> > > > > > > > same pattern but increasing the outer IP source address by
> > > > > > > > 1 each time, thus it will give different flow each time,
> > > > > > > > and all other items will have open masks.
> > > > > > > >
> > > > > > > > The current design have single core insertion rate.
> > > > > > > > In the future we may have a multi core insertion rate
> > > > > > > > measurement support in the app.
> > > > > > >
> > > > > > > If I understand correctly,
> > > > > > > # On the main thread, this  application first check the flow
> > > > > > > insertion performance # and then start the worker thread for
> > > > > > > packet forwarding.
> > > > > > > Why this application testing the packet forwarding?, We
> > > > > > > already have testpmd for that.
> > > > > >
> > > > > > I think it is interesting to measure forwarding performance
> > > > > > when million of flow rules are in effect.
> > > > >
> > > > > The rules are applied to the HW CAM, Right?
> > > > > Do you see any performance difference?
> > > > >
> > > >
> > > > Yes, there are applied to HW,
> > >
> > >
> > > OK.IMO, it is better to introduce the command-line argument to
> > > disable/enable packet forwarding.
> > > That will enable if someone needs to test only flow insertion
> > > performance to avoid the IO setup.
> > >
> >
> > Sure, we can have the forwarding enabled by default, and I'll add
> > --disable-fwd To command line options, it looks reasonable to have it,
> > I agree
>=20
> In general I prefer things disabled by default.
> Option --test-fwd makes more sense and can accept some forwarding
> options.

sure

>=20
>=20
> > > > No not really, I still didn't test the impact of performance yet.
> > > > Moreover it's interesting to see such results and the impact on
> > > > performance, Also to see the rules are still matching after all
> > > > Millions of insertion and millions of packets Sending/receiving.
> > >
> > >
> > > > > > > IMO, This application needs to focus only on
> > > > > > > - Insertion performance
> > > > > > > - Deletion performance
> > > > > > > - IMO, it is better to add a framework for the profile where
> > > > > > > the first version of this application can define common a
> > > > > > > set of ITEMS and set of ACTION and later others can extend it=
.
> > > > > > > And the framework can run over all the profiles and spit out
> > > > > > > the insertion and deletion performance.
> > > > > >
> > > > > > What do you call a profile? Is it a set of rules?
> > > > >
> > > > > set of rules and/or actions.
> > > > >
> > > > > > I think this first version is proposing rules customization
> > > > > > with
> > > parameters.
> > > > >
> > > > > Just that it better to have a framework where one can easily add
> > > > > new profiles and test various combos. IMO, Cascade rules take
> > > > > more insertion time.
> > > > >
> > > > > > Note: I prefer a non-interactive application for performance te=
sting.
> > > > >
> > > > > Me too. Command-line is fine.
> > > > >
> > > >
> > > > For this version I'm aiming to have the command line options to
> > > > decide the
> > > profile.
> > > > For example:
> > > > . /flow-perf -n 4 -w 0000:03:00.1,dv_flow_en=3D1 -- --ingress
> > > > --ether
> > > > --ipv4 --udp --vxlan-gpe --queue --mark Will mean 4 Million rules o=
f:
> > > > Flow create 0 ingress pattern eth / ipv4 src is <X> / udp /
> > > > vxlan-gpe / end actions mark id 1 / queue < QUEUE _ID> / end
> > >
> > > Ok. The syntax looks good. I think we can add a number of rules as
> > > well in command like instead of hardcoding to 4Millon.
> >
> > Sure we can have it also
> > BTW, I'm planning to have a file under "user_paramters.h"
> > This file for other specific fields such as:
> > /** Flows count & iteration size **/
> > #define FLOWS_COUNT      4000000
> > #define ITERATION_SIZE  100000
>=20
> Please make flows count a variable which can be changed with option.

Sure

>=20
>=20
> > > And what about the flow deletion performance case?
> >
> > I agree we should have it as well in this application, I plan it to do
> > it as well
>=20
> Great, thanks
>=20

Thanks,