From: Olivier MATZ <olivier.matz-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: "Ananyev,
Konstantin"
<konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
Yong Wang <yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>,
"Liu,
Jijiang" <jijiang.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: "dev-VfR2kkLFssw@public.gmane.org" <dev-VfR2kkLFssw@public.gmane.org>
Subject: Re: [PATCH v8 10/10] app/testpmd:test VxLAN Tx checksum offload
Date: Wed, 12 Nov 2014 15:56:33 +0100 [thread overview]
Message-ID: <54637521.9000709@6wind.com> (raw)
In-Reply-To: <2601191342CEEE43887BDE71AB977258213A40EB-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
Hi Konstantin,
On 11/12/2014 03:39 PM, Ananyev, Konstantin wrote:
>> I'm not sure having get_ipv4_udptcp_checksum() in librte_net would
>> help. The value we have to set in the TCP checksum field depends on the
>> PMD (altought only ixgbe is supported now). So, it would require
>> another parameter <portid> and a new PMD eth_ops... which looks very
>> similar to dev_prep_tx() (except that dev_prep_tx() can be bulked).
>> I think a stack will not be able to call get_udptcp_checksum(m ,port)
>> because it does not know the physical port at the time the packet is
>> built. Moreover, calling a function through a pointer is more efficient
>> when bulked. So I think the dev_prep_tx() you initially describe is
>> a better answer to the problem.
>
> Yes I understand that it might not be applicable for non-Intel NICs.
> Though I thought it is ok as a temporary measure as right now we
> support these offloads for Intel NICs only.
> Basically my thought was what you proposed as option 3 below.
> Why common function in librte_net?
> So people don't need to write their own each time.
> Plus as I remember all 3 Intel NIC types (ixgbe/igb/i40e) we support have similar
> requirements for what need to be set/calculated for these TX offloads.
> So my thought was that having a common function might help to avoid code duplication in future,
> If/when will implement dev_prep_tx().
OK, now I understand better what you suggest. I'll try to implement
the option 3 (below) with a common checksum function in librte_net
in the next version of the TSO patchset.
Regards,
Olivier
>
>>
>> I don't know what is the exact timeframe for 1.8, maybe Thomas can help
>> on this? Depending on it, we have several options:
>>
>> - implement dev_prep_tx() for 1.8 in the TSO series: this implies that
>> the community agrees on this new API. We need to check that it will
>> be faster in a pipeline model (I think this is obvious) but also that
>> it does not penalize the run-to-completion model: introducing another
>> function dev_prep_tx() can result in duplicated tests in the driver
>> (ex: test the offload flag values).
>>
>> - postpone dev_prep_tx() or similar to next version and push the current
>> TSO patchset (including the comments done on the list). It does not
>> modify the current offload API, it provides the TSO feature on ixgbe
>> based on a similar API concept (set the TCP phdr cksum). The drawback
>> is a potential performance loss when using a pipeline model.
>>
>> - another option that you may prefer is to bind the API behavior to
>> ixgbe (for 1.8): we can ask the application to set the pseudo-header
>> checksum without the IP len when doing TSO, as required by the ixgbe
>> driver. Then, for next release, we can think about dev_prep_tx(). The
>> drawback of this solution is that we may go back on this choice if the
>> dev_prep_tx() approach is not validated by the community.
next prev parent reply other threads:[~2014-11-12 14:56 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-27 2:13 [PATCH v8 00/10] Support VxLAN on Fortville Jijiang Liu
[not found] ` <1414376006-31402-1-git-send-email-jijiang.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-10-27 2:13 ` [PATCH v8 01/10] librte_mbuf:the rte_mbuf structure changes Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 02/10] librte_ether:add the basic data structures of VxLAN Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 03/10] librte_ether:add VxLAN packet identification API Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 04/10] i40e:support VxLAN packet identification in i40e Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 05/10] app/test-pmd:test VxLAN packet identification Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 06/10] librte_ether:add data structures of VxLAN filter Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 07/10] i40e:implement the API of VxLAN filter in librte_pmd_i40e Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 08/10] app/testpmd:test VxLAN packet filter Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 09/10] i40e:support VxLAN Tx checksum offload Jijiang Liu
2014-10-27 2:13 ` [PATCH v8 10/10] app/testpmd:test " Jijiang Liu
[not found] ` <1414376006-31402-11-git-send-email-jijiang.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-11-04 8:19 ` Olivier MATZ
[not found] ` <54588BF7.309-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-05 6:02 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D8510E-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-05 10:28 ` Olivier MATZ
[not found] ` <5459FBB2.1040408-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-06 11:24 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D858A1-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-06 13:08 ` Olivier MATZ
[not found] ` <545B72E5.9090002-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-06 14:27 ` Liu, Jijiang
2014-11-07 0:43 ` Yong Wang
[not found] ` <0c654d2c0d304b45a40af6ca38b70adf-kzjMWN3NnNA9Xh8A42242iWTkRzJkiQl@public.gmane.org>
2014-11-07 17:16 ` Olivier MATZ
[not found] ` <545CFE56.60605-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-10 11:39 ` Ananyev, Konstantin
[not found] ` <2601191342CEEE43887BDE71AB977258213A38D2-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-10 15:57 ` Olivier MATZ
[not found] ` <5460E07F.6060303-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-12 9:55 ` Ananyev, Konstantin
[not found] ` <2601191342CEEE43887BDE71AB977258213A3F5F-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-12 13:05 ` Olivier MATZ
[not found] ` <54635B2B.5040603-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-12 13:40 ` Thomas Monjalon
2014-11-12 23:14 ` Ananyev, Konstantin
2014-11-12 14:39 ` Ananyev, Konstantin
[not found] ` <2601191342CEEE43887BDE71AB977258213A40EB-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-12 14:56 ` Olivier MATZ [this message]
[not found] ` <D0868B54.24DBB%yongwang@vmware.com>
2014-11-11 0:07 ` FW: " Yong Wang
2014-11-10 6:03 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D8F399-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-10 16:17 ` Olivier MATZ
[not found] ` <5460E512.1050609-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-11 5:29 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D8F7A7-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-12 17:26 ` Thomas Monjalon
2014-11-13 5:35 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D99258-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-13 5:39 ` Liu, Jijiang
2014-11-13 6:51 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D992F8-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-13 9:10 ` Thomas Monjalon
2014-11-14 8:15 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D9B646-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-14 9:09 ` Olivier MATZ
[not found] ` <5465C6DD.4000000-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-17 6:52 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D9BAC0-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-17 11:21 ` Olivier MATZ
[not found] ` <5469DA40.7050107-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-20 7:28 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D9C383-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-20 16:36 ` Olivier MATZ
[not found] ` <546E1887.1020800-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-21 5:40 ` Liu, Jijiang
2014-10-27 2:20 ` [PATCH v8 00/10] Support VxLAN on Fortville Liu, Yong
2014-10-27 2:41 ` Zhang, Helin
[not found] ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7AB624-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-10-27 13:46 ` Thomas Monjalon
2014-10-27 14:34 ` Liu, Jijiang
[not found] ` <1ED644BD7E0A5F4091CF203DAFB8E4CC01D83857-0J0gbvR4kThpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-10-27 15:15 ` Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54637521.9000709@6wind.com \
--to=olivier.matz-pdr9zngts4eavxtiumwx3w@public.gmane.org \
--cc=dev-VfR2kkLFssw@public.gmane.org \
--cc=jijiang.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=konstantin.ananyev-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=yongwang-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.