DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] Checksum offloading on gre outer-ip in dpdk-16.11
@ 2017-02-22  7:18 Eyal Leshem
  2017-02-22 13:27 ` Eyal Leshem
  0 siblings, 1 reply; 3+ messages in thread
From: Eyal Leshem @ 2017-02-22  7:18 UTC (permalink / raw)
  To: users

Hi all,

I use checksum-offloading for calculating the checksum of packets that i
change/create inside my app.
I use it for regular packets and for gre packets (checksum is calculated on
the outer-header).

On dpdk-16.07 everything works fine , But when i try to use that with
DPDK-16.11 it seems that the offloading on GRE packets does not work (while
on the regular packets it still works fine).

In dpdk-16.07 I use the following flags on my mbuf to mark to the NIC that
the packets need checksum calculation (m is the "struct rte_mbuf"):
 "m->ol_flags |=  PKT_TX_OUTER_IPV4|PKT_TX_OUTER_IP_CKSUM;"

On 16.11 I tried to add also the PKT_TX_TUNNEL_GRE (As i saw that addition
in "csumonly.c" in the 16.11 version in the "pmd-test" app) - but that also
didn't help.

My NIC is : "Intel Corporation Ethernet Controller X710 for 10Gbe
backplane"
And i run my app in Ubuntu-14.0.4.

Any Ideas?

Thanks in advance -
Eyal

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-users] Checksum offloading on gre outer-ip in dpdk-16.11
  2017-02-22  7:18 [dpdk-users] Checksum offloading on gre outer-ip in dpdk-16.11 Eyal Leshem
@ 2017-02-22 13:27 ` Eyal Leshem
  0 siblings, 0 replies; 3+ messages in thread
From: Eyal Leshem @ 2017-02-22 13:27 UTC (permalink / raw)
  To: users

Hi ,



After some digging in the i40e driver code in 16.11 I found  the problem -



For checksum offloading on GRE packets  in 16.11  there are 2 more
parameters that need to be set on the mbuf (parameters that are not
required in 16.07):

   1.  The  mbuf->ol_flags  PKT_TX_TUNNEL_GRE  - must be set.
   2.  The mbuf->l2_len  - must  be set to gre header size (4 bytes).

That's in addition to the parmas that should be defined in 16.07 -

   1. mbuf->ol_flags -PKT_TX_OUTER_IPV4| PKT_TX_OUTER_IP_CKSUM
   2. m->outer_l2_len -  (The real L2 header size).
   3. m->outer_l3_len -  (The real L3 header size).



It was much more helpful if those changes were documented  in the
release-notes and not just in a comment inside the driver-code (see
 i40e_parse_tunneling_params function at i40e_rxtx.c).



Thanks

Eyal



On Wed, Feb 22, 2017 at 9:18 AM, Eyal Leshem <leyal@incapsula.com> wrote:

> Hi all,
>
> I use checksum-offloading for calculating the checksum of packets that i
> change/create inside my app.
> I use it for regular packets and for gre packets (checksum is calculated
> on the outer-header).
>
> On dpdk-16.07 everything works fine , But when i try to use that with
> DPDK-16.11 it seems that the offloading on GRE packets does not work (while
> on the regular packets it still works fine).
>
> In dpdk-16.07 I use the following flags on my mbuf to mark to the NIC that
> the packets need checksum calculation (m is the "struct rte_mbuf"):
>  "m->ol_flags |=  PKT_TX_OUTER_IPV4|PKT_TX_OUTER_IP_CKSUM;"
>
> On 16.11 I tried to add also the PKT_TX_TUNNEL_GRE (As i saw that addition
> in "csumonly.c" in the 16.11 version in the "pmd-test" app) - but that also
> didn't help.
>
> My NIC is : "Intel Corporation Ethernet Controller X710 for 10Gbe
> backplane"
> And i run my app in Ubuntu-14.0.4.
>
> Any Ideas?
>
> Thanks in advance -
> Eyal
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [dpdk-users] Checksum offloading on gre outer-ip in dpdk-16.11
@ 2017-02-22  7:16 Eyal Leshem
  0 siblings, 0 replies; 3+ messages in thread
From: Eyal Leshem @ 2017-02-22  7:16 UTC (permalink / raw)
  To: users

Hi all,

I use checksum-offloading for calculating the checksum of packets that i change/create inside my app.
I use it for regular packets and for gre packets (on gre - the checksum is calculated on the outer-header).

On dpdk-16.07 everything works fine , But when i try to use that with DPDK-16.11 it seems that the offloading on GRE packets does not work (while on the regular packets it still works fine).

In dpdk-16.07 I use the following flags on my mbuf to mark to the NIC that the packets need checksum calculation (m is the "struct rte_mbuf"):
 "m->ol_flags |=  PKT_TX_OUTER_IPV4|PKT_TX_OUTER_IP_CKSUM;"

On 16.11 I tried to add also the PKT_TX_TUNNEL_GRE (As i saw that addition in "csumonly.c" in the 16.11 version in the "pmd-test" app) - but that also didn't help.

My NIC is : "Intel Corporation Ethernet Controller X710 for 10Gbe backplane"
And i run my app in Ubuntu-14.0.4.

Any Ideas?

Thanks in advance -
Eyal

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-02-22 13:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-22  7:18 [dpdk-users] Checksum offloading on gre outer-ip in dpdk-16.11 Eyal Leshem
2017-02-22 13:27 ` Eyal Leshem
  -- strict thread matches above, loose matches on Subject: below --
2017-02-22  7:16 Eyal Leshem

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).