* [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
* Re: [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, 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: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
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:16 [dpdk-users] Checksum offloading on gre outer-ip in dpdk-16.11 Eyal Leshem
2017-02-22 7:18 Eyal Leshem
2017-02-22 13:27 ` 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).