From: "Liu, Jijiang" <jijiang.liu@intel.com>
To: Olivier MATZ <olivier.matz@6wind.com>,
"Ananyev, Konstantin" <konstantin.ananyev@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and csum forwarding engine
Date: Mon, 12 Jan 2015 03:41:42 +0000 [thread overview]
Message-ID: <1ED644BD7E0A5F4091CF203DAFB8E4CC01DA85A1@SHSMSX101.ccr.corp.intel.com> (raw)
In-Reply-To: <54AFB13E.2080200@6wind.com>
Hi,
> -----Original Message-----
> From: Olivier MATZ [mailto:olivier.matz@6wind.com]
> Sent: Friday, January 9, 2015 6:45 PM
> To: Ananyev, Konstantin; Liu, Jijiang
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v3 0/3] enhance TX checksum command and
> csum forwarding engine
>
> Hi,
>
> Thank you Jijiang for taking the time to get back on this.
>
> On 01/08/2015 11:54 AM, Ananyev, Konstantin wrote:
> >> And we are able to test all of cases in
> >> http://dpdk.org/ml/archives/dev/2014-December/009213.html
> >>
> >> Test case A:
> >>
> >> tx_checksum set sw-tunnel-mode off
> >> tx_checksum set hw-tunnel-mode off
> >> tx_checksum set ip hw
> >>
> >> test case B.1:
> >>
> >> tx_checksum set sw-tunnel-mode on
> >> tx_checksum set hw-tunnel-mode on
> >> tx_checksum set ip hw
> >> tx_checksum set tcp hw
> >>
> >> test case B.2:
> >>
> >> tx_checksum set sw-tunnel-mode on
> >> tx_checksum set hw-tunnel-mode off
> >> tx_checksum set ip hw
> >>
> >> test case C:
> >>
> >> tx_checksum set sw-tunnel-mode on
> >> tx_checksum set hw-tunnel-mode on
> >> tx_checksum set outer-ip hw
> >> tx_checksum set ip hw
> >> tx_checksum set tcp hw
>
> There is something I don't understand. A forward engine takes any packet in input
> and output. Packets can be of any kind (eth/arp, eth/ip/tcp,
> eth/vlan/ip/udp/vxlan/eth/ip/tcp, ...)
Yes.
> Today, the behavior of csum forward engine is defined for any kind of packet. See
> the description and the table in http://dpdk.org/ml/archives/dev/2014-
> December/009886.html
>
> All packets that are not "Ether[/vlan]/(IP|IP6)/(UDP|TCP|SCTP)" or
> "Ether[/vlan]/(IP|IP6)/UDP/VxLAN/Ether[/vlan]/(IP|IP6)/UDP|TCP|SCTP"
> are forwarded without beeing modified.
Yes
> In my understanding, the use-case you are describing correspond to specific
> packet types. So a configuration would work only for one packet format only. Is it
> correct?
The use-cases I described correspond to all tunneling packet type, not just for "Ether[/vlan]/(IP|IP6)/UDP/VxLAN/Ether[/vlan]/(IP|IP6)/UDP|TCP|SCTP" packet format.
Our goal is to have TX checksum framework that can cover all the case in the http://dpdk.org/ml/archives/dev/2014-December/009213.html and all packet types in csum fwd engine.
If so, it is easy to support other tunneling type in csum fwd engine in the future.
There are some examples for the different packet types:
1. For L2 Packet types:
MAC, ARP
MAC, PAY2
...
They are forwarded without beeing modified no matter if these above commands are set.
2. For Non Tunneled IPv4/6 packet
MAC, IPV4, UDP, PAY4
MAC, IPV6, UDP, PAY4
...
Ipv4:
tx_checksum set ip hw
tx_checksum set udp hw
IPv6:
tx_checksum set udp hw
They are forwarded with TX checksum offload if these above commands are set.
3. For Tunneled IPv4/6 packet
See the above test cases:
Test case A
test case B.1
test case B.2
test case C
They are forwarded with TX checksum offload if these above commands are set.
> I think that the test-pmd command API should define a behavior for the csum
> forward engine for any packet. What do you think?
Agree.
Let me explain the checksum offload behavior of different packet type below,
1. For L2 Packet types:
Checksum offload behavior definition:
tx_checksum set sw-tunnel-mode on : NONE
tx_checksum set hw-tunnel-mode on: NONE
tx_checksum set outer-ip|ip|tcp|udp|sctp hw: NONE
2. For Non Tunneled IPv4/6 packet
Checksum offload behavior definition:
tx_checksum set sw-tunnel-mode on : NONE
tx_checksum set hw-tunnel-mode on: NONE
tx_checksum set outer-ip|ip|tcp|udp|sctp hw: ip|tcp|udp|sctp options are VALID
3. For Tunneled IPv4/6 packet
Checksum offload behavior definition:
tx_checksum set sw-tunnel-mode on : VALID
tx_checksum set hw-tunnel-mode on: VALID
tx_checksum set outer-ip|ip|tcp|udp|sctp hw: VALID
It is very welcome if you have better solution that is able to cover all the case in the http://dpdk.org/ml/archives/dev/2014-December/009213.html and all packet types in csum fwd engine.
>
> Regards,
> Olivier
next prev parent reply other threads:[~2015-01-12 3:41 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-10 1:03 Jijiang Liu
2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 1/3] librte_ether:add outer IP offload capability flag Jijiang Liu
2014-12-11 10:33 ` Olivier MATZ
2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 2/3] i40e:support outer IPv4 checksum capability Jijiang Liu
2014-12-11 10:34 ` Olivier MATZ
2014-12-10 1:03 ` [dpdk-dev] [PATCH v3 3/3] app/testpmd:change tx_checksum command and csum forwarding engine Jijiang Liu
2014-12-11 10:52 ` Olivier MATZ
2014-12-12 4:06 ` Liu, Jijiang
2014-12-11 10:17 ` [dpdk-dev] [PATCH v3 0/3] enhance TX checksum " Olivier MATZ
2014-12-12 3:48 ` Liu, Jijiang
2014-12-12 16:33 ` Olivier MATZ
2015-01-07 2:03 ` Liu, Jijiang
2015-01-07 9:59 ` Ananyev, Konstantin
2015-01-07 11:39 ` Liu, Jijiang
2015-01-07 12:07 ` Ananyev, Konstantin
2015-01-08 8:51 ` Liu, Jijiang
2015-01-08 10:54 ` Ananyev, Konstantin
2015-01-09 10:45 ` Olivier MATZ
2015-01-12 3:41 ` Liu, Jijiang [this message]
2015-01-12 11:43 ` Olivier MATZ
2015-01-13 3:04 ` Liu, Jijiang
2015-01-13 9:55 ` Olivier MATZ
2015-01-14 3:01 ` Liu, Jijiang
2015-01-15 13:31 ` Ananyev, Konstantin
2015-01-16 17:27 ` Olivier MATZ
2015-01-19 13:04 ` Ananyev, Konstantin
2015-01-19 14:38 ` Olivier MATZ
2015-01-20 1:12 ` Ananyev, Konstantin
2015-01-20 12:39 ` Olivier MATZ
2015-01-20 15:18 ` Thomas Monjalon
2015-01-20 17:10 ` Stephen Hemminger
2015-01-20 17:23 ` Ananyev, Konstantin
2015-01-20 18:15 ` Olivier MATZ
2015-01-21 3:12 ` Liu, Jijiang
2015-01-21 15:25 ` Olivier MATZ
2015-01-21 16:28 ` Ananyev, Konstantin
2015-01-21 17:13 ` Olivier MATZ
2015-01-26 4:13 ` Ananyev, Konstantin
2015-01-26 6:02 ` Liu, Jijiang
2015-01-26 14:07 ` Olivier MATZ
2015-01-26 14:15 ` Ananyev, Konstantin
2015-01-27 8:34 ` Olivier MATZ
2015-01-27 15:26 ` Ananyev, Konstantin
2015-01-21 19:44 ` Stephen Hemminger
2015-01-22 1:40 ` Liu, Jijiang
2015-01-21 8:01 ` Liu, Jijiang
2015-01-21 9:10 ` Olivier MATZ
2015-01-21 11:52 ` Ananyev, Konstantin
2015-01-07 13:06 ` Qiu, Michael
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=1ED644BD7E0A5F4091CF203DAFB8E4CC01DA85A1@SHSMSX101.ccr.corp.intel.com \
--to=jijiang.liu@intel.com \
--cc=dev@dpdk.org \
--cc=konstantin.ananyev@intel.com \
--cc=olivier.matz@6wind.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).