From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 ; 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 To: "Ananyev, Konstantin" 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: 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" , Thomas Monjalon 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 > > > > > > >