From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.Jacob@cavium.com>
Received: from NAM01-BN3-obe.outbound.protection.outlook.com
 (mail-bn3nam01on0071.outbound.protection.outlook.com [104.47.33.71])
 by dpdk.org (Postfix) with ESMTP id E05892C4D
 for <dev@dpdk.org>; Fri, 28 Oct 2016 13:15:20 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=6bPSklkWvqDU9xE8x+QiG6GAEPS8tkj5pLRRWeLXmJ0=;
 b=Oj1UbxdgSissU65a7Myq07itVF9XYz6xjXmDo3d1K38yt2fNv3FfZNBxFZkBBoMACYEjSs56jaQf10w1og+Vm2bLaJKl5t8NXaF1bYmF4AY2/G/bSdxwaeDNzofpHj0/iTS8PhNVGcHN/kPe/hwCMV2hgrbrm0TUwcv2gpGFmjI=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Jerin.Jacob@cavium.com; 
Received: from localhost.localdomain (122.167.34.239) by
 BY1PR0701MB1723.namprd07.prod.outlook.com (10.162.111.142) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.693.12; Fri, 28
 Oct 2016 11:15:17 +0000
Date: Fri, 28 Oct 2016 16:44:48 +0530
From: Jerin Jacob <jerin.jacob@caviumnetworks.com>
To: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>
Message-ID: <20161028111446.GA4005@localhost.localdomain>
References: <1477327917-18564-1-git-send-email-tomaszx.kulasek@intel.com>
 <1499338.8Le0ABsxDG@xps13>
 <2601191342CEEE43887BDE71AB9772583F0CD83D@irsmsx105.ger.corp.intel.com>
 <2078955.d1Aiqtukxu@xps13>
 <2601191342CEEE43887BDE71AB9772583F0CE8E3@irsmsx105.ger.corp.intel.com>
 <3042915272161B4EB253DA4D77EB373A14F45162@IRSMSX102.ger.corp.intel.com>
 <2601191342CEEE43887BDE71AB9772583F0CEAEE@irsmsx105.ger.corp.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <2601191342CEEE43887BDE71AB9772583F0CEAEE@irsmsx105.ger.corp.intel.com>
User-Agent: Mutt/1.7.1 (2016-10-04)
X-Originating-IP: [122.167.34.239]
X-ClientProxiedBy: PN1PR01CA0020.INDPRD01.PROD.OUTLOOK.COM (10.164.137.27) To
 BY1PR0701MB1723.namprd07.prod.outlook.com (10.162.111.142)
X-MS-Office365-Filtering-Correlation-Id: 272e1254-ea9c-4b2e-7e75-08d3ff23b3b7
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723;
 2:Y5kY/DCfI3C7SFnWRTxqnv8VJvSJnIi7Pqn7+JROxGNtvGg6cbKbFz1NQB8kRVPxbS7qdR0hZ5cg8h5Z16Gb9l30TyEHsYUB5xlt5b6Lu7NEY5Nt1MlMPt/LUylJYTax6zIxYJHIf8bDGSzCW18QZasUKiy6M3BrJf+VCvKlWok4Ct2u2zQFx3EOPfgf2oBhS8sCmZTzSiLKUXMSr77f5w==;
 3:KpqRS9GQgMXTbNnRd7S1LriRdQkO7h9VMS7wTW5tYiCCceAO0WVffJthdxqV0Kg597LHTVj9AW1OQFOFiTSadUJmf2XWx1c5daUJz2TKIVB5RFzgLcSJn9yO9Wg+oYL50nHJGTYBDPsET9IVrmtcJQ==
X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR0701MB1723;
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723;
 25:kbLDC2eteBWJDeZvT5Ahv8mBIKc4vdP5gS5k/3hgCw5udivX+19hFNvbWPXOKsRC3YJxTzTJMCPjy3JsmetBl5mmNHMg13mUEw3wC3MEe5BJzhckFVG3I4Alns19oREiIMBR+sVIWDVtD6Zs39l/vuQEEnvutzxDwqUHSURCTOPJZzg85O4cgqFHPe8ULEqh30MIaQIH1GaIM6TGOcr33s1o1zV5bwh9OEmvQQZi4eT9UJ7LJiyYh2BhxM/lVuuhZ8z38StXqsA/fX6Ge0KOiITtlN490NgZ2fS37tiFJlRfL/stQCePxbLOSwsim0j6dQwvxsFRD96+sv8kPyasBBx2FyKSY5flE91IcMQvFieV2EIWbe/B9f3xr8LjkX5TRonmCtwCLOD9lD0HcU1MExD70mUtJXw8mcCDei/kvf3lql10uEn8najlZR4LUXll9pr5mhiIuRx/FB1kRwaFxmZNFrHat2ygeXroFNU7FfES2ZhmimAWC2Nm3aEdXrV2K4QB4Hthr4lPhJtV1aBghvCKhwhUSuE4XpQ1AmkbGKLfW1B59trrrl3W9R4jBzxAeD5VKo0YIr1+NbodldQ1gIeSS789LiU6CnM+KoSeW3M7A8eR0Sc5n4tT61iwybHsJTKJ2cxWAGkUS2DmoZ6rmDLHIHCdL0ys2ZKZXFL3vArajnLabq4XPMHtEhzRLlT6948d75VBjoK2WUr5nxjwsfUkBFxuA4HtgL+c5iL1JqE02IUm1saYUJduEMPS0CqGkaz58ZUETJ4XVWZKiGA0Ty/nnOAvv+5xFolkunPRg1r8mQpC0CKpKZHulX7YSKVf8VM1tUTeYZOfB46rdqclvLlkpxVm43HJheUtc/SCyhm2zg2fV4aJjBag1n8TnitN
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723;
 31:RNkZhVfIkwOWOhI1TC5XtmOVzdSAqGJ7Yk03LrrFJe7VwfYBoTgR9vsVL/iRcOYammWjCmLhZxCXfDlUh4sIoKX3b6haNd+gS/RRTCYvpR1ELr8Bm/x5NMajvYl+aByNl70ZPDSjB8pa7TXs/ALRAR1osh/1LUog9VDkR+SC00gj9+pC1VUCv0jLmb18fhhJfcnH82MivN1DFDPGJf+1LnDXD+GIYx/fa7JBzDI/Bt99zexj58k4fw9e1BlYBnksrAg9F5n9U691BRzYd1XbmQ==;
 20:fKels8SZi0jtIGb3jjzfXFuhFCfYQFPOCjD6ffRMpUvbMfTpI+1RTr+9QeEX6QY16pFTkiew9WtCFlGAh8krL4rO2c04KpnGku/yxKSQc1aNjvQgBf9Sq0Q1Y67lAhjwyNrFdJB6Yn5mp70wdgWBu4OwUdDNHZ+Q//8ydgbViB9eaTJ6BpiGGQ2SWi2GRCedL2GqaDfBj5PO16TLD4lK3qJGhSBuBZ7AMbO6BAr7gsKjnYiSk3B+IG4fMIhdUkj9Cpjmitw+2CGHHpnM5rq4bfHHT7AGnslOuuXNd7a6FHXYgtu+6awnvUzrXCeKUkCHupfhdICBldmK7XIhnwhPJTj+An2IBDK7S2F3CEBpIh/C9CCocEtL006OacWtp4vS1xj1mRNdK9OAXEi04VVwtjgYCR3dYmx2eJBUmGjjr5AJX7Q2NHoNVxBneKkeuOI6WObnFUvdYCTpgTvqYs0JgrIQucu9Y1mCGCD6XZfVWP46+wOoG+cAoTg8WLbz0w4c0FOiG9bstPQQGAnvjPweHEfbLIc0WKZoRfssKKZI7MShBh/QHvZL/KUQU18zJ4peqVFzdfphJO5LCZoA4X+MNutVwnp2ZzJWUJEhDZC7dUg=
X-Microsoft-Antispam-PRVS: <BY1PR0701MB172344C6AD817A7E88436A1E81AD0@BY1PR0701MB1723.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:;
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046);
 SRVR:BY1PR0701MB1723; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1723; 
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723;
 4:Q4kD7L9Mj4RoHcYeOB8xYu/sVk2POwMpwMsxy9+/Mh+/GHiXYzfd6xp8eQE/mp6K3mGBCM1fTwF8tryXypzZ45VADgsYe0YCEumo9uw7dxustpHHnyKfdukYjRK0AIavZCv3euqND+gLTQR0znw9CmSskhs866qUAKi5OVCiUOPAfeEgYvIDLrlrh78AlHrJINGDxJKyH466l7rZ3QvQzLsWXv3VQNeCU6dYKETSu/YXJyREooNf778pAl2awBT+K1sNqGTj31552/jB7yPGstcHg0oQNM0yV8wBOUu8RL3lKbaFDBOycC5zxAPW+iMUSBVKEWHuoaaJMOdmN6IoPMBcFo13GG11H17lEz0/hCay/Hgo46fFxEAz2/b65XwctyrPlaFY3Vu/7CMr+6VeuQ==
X-Forefront-PRVS: 0109D382B0
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(76104003)(199003)(24454002)(189002)(105586002)(110136003)(189998001)(93886004)(106356001)(6666003)(97736004)(4001350100001)(42186005)(15975445007)(92566002)(83506001)(77096005)(5660300001)(61506002)(33656002)(81156014)(101416001)(81166006)(68736007)(8676002)(76176999)(50986999)(9686002)(6116002)(1076002)(97756001)(54356999)(586003)(23726003)(46406003)(3846002)(6916009)(2950100002)(42882006)(2906002)(19580395003)(50466002)(4326007)(66066001)(7846002)(305945005)(7736002)(47776003)(15395725005)(7099028)(18370500001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1723; H:localhost.localdomain; FPR:;
 SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; 
Received-SPF: None (protection.outlook.com: cavium.com does not designate
 permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0701MB1723;
 23:36YxfUGZU4iu4gUhP6dox/TEziSF+T7WiLNRCCR?=
 =?us-ascii?Q?uPXQFnj9udXUd6xDy14A7YVnxbLH0k9fJfVISSu8FZSYtsRXMGvoLkH80+Ts?=
 =?us-ascii?Q?rk0skGd6Onb9wv62ckoFzPTXP0mJfo/3w+PImaNqap1x6BmEo6EWGYsI+PfV?=
 =?us-ascii?Q?QRhPSkDvelTXmqeuXlDmc7VY8vVpcsPI4Nbb/GJDpuhgfm99yud+3NjeeYb7?=
 =?us-ascii?Q?puqJUtAJjFxDa3vAi1fYvzTaau8kFWwe94KKF2Lb8w+PQWvFabeMNwPfIk+1?=
 =?us-ascii?Q?NdHVPMaNUaI8zNkdj+JW0um6BcXgnx5SvrhMhJJSy8S36IAyms99bEFDLRZs?=
 =?us-ascii?Q?UjryKcpahdKufjnulHmrzjvnwDMkDmmxPbhdKWwjHfFuldPqZlyNkIsIu971?=
 =?us-ascii?Q?PKcmdxKhudgpYlvfYvZHJ6EcHfwacTG+tIzHu7M5rebtOhkasj22F/Yn7/0m?=
 =?us-ascii?Q?v9kQXsANttGr8GwsYP7imrEUAeroKNxufdZ3m1jRircMbBu5YKfkiDigzdc5?=
 =?us-ascii?Q?lR0M101/QEynW+Qh61CkKNNk63IO39dHlRPSBy8VMutaPkC4ofuYgmz7Y1wI?=
 =?us-ascii?Q?MbizYPDqMx0I5/lUbfbFmKxft1/x2TLzGvLFP62u+xM1V2xRzzZe5HBzT4Ed?=
 =?us-ascii?Q?B7XHShpbiu3U11z8mLCnlDXN/+bdj1SrNC1yDii6OgJ66qlpZyZ4HX1sPb8i?=
 =?us-ascii?Q?y99JWmcWupP9UsxiB38YmkD4HO+UoOQUYOTIvmkNyTYmCpTHhlpp8GDISgNc?=
 =?us-ascii?Q?oCB+pJbIDGwBp63zFq9HG+Nz6XwzOjCEE2005sRbC4xqfSGvV/EP8WeGzps9?=
 =?us-ascii?Q?WD6ng4EqoFolcz6/hNtQKn5nkytrlbedEm9nxPTY5YKpIfnPaUsV6YIUFqoz?=
 =?us-ascii?Q?BPO+euJF9dFed21BKQoHOywBzZKzOqv4ADwHda071Ld7QpSREbgtCf8Q0qpV?=
 =?us-ascii?Q?Tjk7cLIJ6zQuuVrFoDlsN7UbVrLSYBeegC45zWEZtR51YXdogf5uYfN3lMsP?=
 =?us-ascii?Q?l9t9qLFrMTXhkh8cH5Os9qDf+uuUhZTD1caKPZF5p+fOv7CyGZ+tLzvpACeu?=
 =?us-ascii?Q?7v2Ebn9d6Na2+5HciaSpPY+OiMiuaC+E9FuzAAOubBDdY7DYeIdsAnotzmNs?=
 =?us-ascii?Q?waK+EOY5Yhkh1v2cWGxdfAJZOPhtq2c9gtLE0j6ljLApUZhDl4eFzJQnTa+r?=
 =?us-ascii?Q?qhM0XauzeFsTNm+djVcea1DgG4BuPImyF0OaPKznni1kqxi4uDuJnbJsP91b?=
 =?us-ascii?Q?nwb6qOPFoow2bBy8ld71sOlbgTmFdxGFmlKJccddnCxfbV+PZvfD+Ae/WM50?=
 =?us-ascii?Q?0efal3JqErsTJFMbGn5g7kVP0o/Qoz6X+BcLOC0r5YvksJErWtlE+SZaSf/8?=
 =?us-ascii?Q?7pOBmZQ=3D=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723;
 6:fMjAeEFgmCwFYSqYee8kINe8LPazS+m/dOiFBhCVmjUy9xOe4udKbVtwMdbVzdS3SY6dfnTFICq4KSUECvuFwN7C7mb+D7iMqKGTJAm3pjkvxfK5Wq/3YH2a0X4etu0id1Q9SF1qwkamZ6G47jVp4Y6p9ag54RP69ngn2FfFqyFb+RXqBBK3eUccGL3lnD1ahnrPgG/1LQjpA8m8I6Mpa5FMaV75q8hYr+01swbrTMxnOGpc1LPaHlvqNZNS66fb00YFRwPngdftXisxuBQvGgFdTVf7nbzKyS6qzHqYyliKr61xtzeEky0bPi7DtNeC;
 5:NwRE+hzP+3m7k0rBfQjbn62Q+7HRt2BRRzRgYCA/D2129ZZt4ZcscefIXpCZbQS7dSFbP+Fx9LvaL53HO6P5jl60nUP0AFOOHaYQpA7zAlYK2sGrBSWhXmNGBUu9G2YPv+ihfwqdXUMYO1NAHqrpSQ==;
 24:IezSSTxGvroiLZUTdkmarOvwOn/R0p9jXPSo15081bTDPkIUuyqBUCNQi2/gxlxgiOi93EcevYtNsh6pBiLcuLevZqZlXaQFjxEJ0o38cJs=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1723;
 7:dten3uS/pKtywbNOLCrvamsCD7TObgKBEsTIlLpy+4MtwfTMCs7JEUaWg9YX1JF3vtXMqqS+h13mSF6rL70OHzHXGse/s+GbI1P3v3Mg5/Yzxi1pTLAunrEP/syBfHccUoBSpBUfnQy4TKl2kuPZ+qCCgeXpQ2G1jJp23xuF8/Wmf3eQ6UE0ilDTg9tyTQoa2dAQxk+TJs/fpZr9Chn0IXM5irViOWDdovnk1FHGIVZMoDvhPAc0sYFkKTsMj1lkso3TfP6fMdyGZ1ya56E/3rkHm47y6r1JS4Z8feTxFIuHlehz6Myv/vUSPx8XSAVGw5Mvd592OL6KSBRD6CyYBvTZZJB4dFjKNxhLdjfj22g=
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2016 11:15:17.3228 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1723
Cc: "dev@dpdk.org" <dev@dpdk.org>, Thomas Monjalon <thomas.monjalon@6wind.com>
Subject: Re: [dpdk-dev] [PATCH v11 1/6] ethdev: add Tx preparation
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 28 Oct 2016 11:15:21 -0000

On Fri, Oct 28, 2016 at 10:15:47AM +0000, Ananyev, Konstantin wrote:
> Hi Tomasz,
> 
> > > > > Not sure why?
> > > > > If tx_pkt_prep == NULL, then rte_eth_tx_prep() would just act as noop.
> > > > > Right now it is not mandatory for the PMD to implement it.
> > > >
> > > > If it is not implemented, the application must do the preparation by
> > > itself.
> > > > From patch 6:
> > > > "
> > > > Removed pseudo header calculation for udp/tcp/tso packets from
> > > > application and used Tx preparation API for packet preparation and
> > > > verification.
> > > > "
> > > > So how does it behave with other drivers?
> > >
> > > Hmm so it seems that we broke testpmd csumonly mode for non-intel
> > > drivers..
> > > My bad, missed that part completely.
> > > Yes, then I suppose for now we'll need to support both (with and without)
> > > code paths for testpmd.
> > > Probably a new fwd mode or just extra parameter for the existing one?
> > > Any other suggestions?
> > >
> > 
> > I had sent txprep engine in v2 (http://dpdk.org/dev/patchwork/patch/15775/), but I'm opened on the suggestions. If you like it I can resent
> > it in place of csumonly modification.
> 
> I still not sure it is worth to have another version of csum...
> Can we introduce a new global variable in testpmd and a new command:
> testpmd> csum tx_prep

Just my 2 cents, As "tx_prep" is a generic API and if PMD tries to
fix-up some other limitation(not csum) then in that case it is difficult for
the application to know in which PMD&application combination it needs be used.

> or so? 
> Looking at current testpmd patch, I suppose the changes will be minimal.
> What do you think?
> Konstantin 
> 
> > 
> > Tomasz
> > 
> > > >
> > > > > > >  struct rte_eth_dev {
> > > > > > >  	eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive
> > > function. */
> > > > > > >  	eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit
> > > > > > > function. */
> > > > > > > +	eth_tx_prep_t tx_pkt_prep; /**< Pointer to PMD transmit
> > > > > > > +prepare function. */
> > > > > > >  	struct rte_eth_dev_data *data;  /**< Pointer to device data */
> > > > > > >  	const struct eth_driver *driver;/**< Driver for this device */
> > > > > > >  	const struct eth_dev_ops *dev_ops; /**< Functions exported by
> > > > > > > PMD */
> > > > > >
> > > > > > Could you confirm why tx_pkt_prep is not in dev_ops?
> > > > > > I guess we want to have several implementations?
> > > > >
> > > > > Yes, it depends on configuration options, same as tx_pkt_burst.
> > > > >
> > > > > >
> > > > > > Shouldn't we have a const struct control_dev_ops and a struct
> > > datapath_dev_ops?
> > > > >
> > > > > That's probably a good idea, but I suppose it is out of scope for that
> > > patch.
> > > >
> > > > No it's not out of scope.
> > > > It answers to the question "why is it added in this structure and not
> > > dev_ops".
> > > > We won't do this change when nothing else is changed in the struct.
> > >
> > > Not sure I understood you here:
> > > Are you saying datapath_dev_ops/controlpath_dev_ops have to be introduced
> > > as part of that patch?
> > > But that's a lot of  changes all over rte_ethdev.[h,c].
> > > It definitely worse a separate patch (might be some discussion) for me.
> > > Konstantin
> > >
> > >
>