From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk0-f171.google.com (mail-qk0-f171.google.com [209.85.220.171]) by dpdk.org (Postfix) with ESMTP id 491655592 for ; Wed, 30 Nov 2016 20:38:22 +0100 (CET) Received: by mail-qk0-f171.google.com with SMTP id n21so221147217qka.3 for ; Wed, 30 Nov 2016 11:38:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=1K2yJ8FkWxFfcxjRTYO45Yzx8FX4NDzXvgwj5SKzODw=; b=L99pqtt0Tm+7bxW2nqmYhuw8YNJ6mLYUptOhMw6HEUgeddJtiDq5tbnnBfxKOSC+nB HXP+8V115DAmvUsuRniegc6lkLmk0Dq1c8skKpZZ51494JnPEYgB9qNcTM7CZBkziSk3 7XN5krbJ8VMYwzuBhBYjFJ35iFw8UaI57EbcE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=1K2yJ8FkWxFfcxjRTYO45Yzx8FX4NDzXvgwj5SKzODw=; b=KKema9J6vNWeLfMHyp0inkTj6YEuzHN4PcGCfF1cd1JGO6oqIsQFJfQokEDO89iJ8H HFurW1JyLGNUBA/FtmyXleMmaH1A1BtALnlIF10/+kKgYR5WNYOFmU5fYePFbO1nqCQW 46o7gVmi9gN2ia9NJINMsB6N3MiSmwa0iYp4Xbhe1xCROMWTkCs0g55QIyNXC7kRSanJ YxcPRqHZKzB79LMKk1hAtrrr+TiMlJngI++aL3u+PYfaRro7/ZsZjNajsEHtaxjIs4d+ mudPkhsanh593esow9ue6RBQOXJr5+Px/J49KTFerS3igyyIxEDj/ezgQ4eJVtYrMkd4 rJuw== X-Gm-Message-State: AKaTC038l68XgHkC1nU+7FYXvC8+3bUZt+zpSGkPGAz/w8Dd+Le3223QT1himblfD9OYue1jFZYkDuL3Q4n7mfze X-Received: by 10.55.12.2 with SMTP id 2mr30229770qkm.68.1480534701176; Wed, 30 Nov 2016 11:38:21 -0800 (PST) MIME-Version: 1.0 Received: by 10.237.62.47 with HTTP; Wed, 30 Nov 2016 11:37:40 -0800 (PST) In-Reply-To: <8317180.L80Qf11uiu@xps13> References: <1477486575-25148-1-git-send-email-tomaszx.kulasek@intel.com> <1479922585-8640-1-git-send-email-tomaszx.kulasek@intel.com> <8317180.L80Qf11uiu@xps13> From: Ajit Khaparde Date: Wed, 30 Nov 2016 13:37:40 -0600 Message-ID: To: Thomas Monjalon Cc: dev@dpdk.org, Rahul Lakkireddy , Stephen Hurd , Jan Medala , Jakub Palider , John Daley , Adrien Mazarguil , Alejandro Lucero , Harish Patil , Rasesh Mody , Jerin Jacob , Yuanhan Liu , Yong Wang , Tomasz Kulasek , konstantin.ananyev@intel.com, olivier.matz@6wind.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH v12 0/6] 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: Wed, 30 Nov 2016 19:38:22 -0000 On Mon, =E2=80=8B=E2=80=8B Nov 28, 2016 at 5:03 AM, Thomas Monjalon wrote: > We need attention of every PMD developers on this thread. > > Reminder of what Konstantin suggested: > " > - if the PMD supports TX offloads AND > - if to be able use any of these offloads the upper layer SW would have t= o: > * modify the contents of the packet OR > * obey HW specific restrictions > then it is a PMD developer responsibility to provide tx_prep() that would > implement > expected modifications of the packet contents and restriction checks. > Otherwise, tx_prep() implementation is not required and can be safely set > to NULL. > " > > I copy/paste also my previous conclusion: > > Before txprep, there is only one API: the application must prepare the > packets checksum itself (get_psd_sum in testpmd). > With txprep, the application have 2 choices: keep doing the job itself > or call txprep which calls a PMD-specific function. > The question is: does non-Intel drivers need a checksum preparation for > TSO? > Will it behave well if txprep does nothing in these drivers? > > When looking at the code, most of drivers handle the TSO flags. > But it is hard to know whether they rely on the pseudo checksum or not. > > git grep -l 'PKT_TX_UDP_CKSUM\|PKT_TX_TCP_CKSUM\|PKT_TX_TCP_SEG' > drivers/net/ > > drivers/net/bnxt/bnxt_txr.c > =E2=80=8B::: snip::: =E2=80=8B > > Please, we need a comment for each driver saying > "it is OK, we do not need any checksum preparation for TSO" > or > "yes we have to implement tx_prepare or TSO will not work in this mode" > =E2=80=8BThe bnxt devices don't need pse =E2=80=8B=E2=80=8B udo header checksum in the packet for TSO or TX checksum offload. =E2=80=8B So.. =E2=80=8B "it is OK, we do not need any checksum preparation for TSO"