From: Joseph Gasparakis <joseph.gasparakis@intel•com>
To: Or Gerlitz <or.gerlitz@gmail•com>
Cc: Pravin Shelar <pshelar@nicira•com>,
Or Gerlitz <ogerlitz@mellanox•com>,
Joseph Gasparakis <joseph.gasparakis@intel•com>,
netdev <netdev@vger•kernel.org>
Subject: Re: issues with vxlan RX checksum offload under OVS datapath
Date: Tue, 21 Jan 2014 13:47:33 -0800 (PST) [thread overview]
Message-ID: <alpine.LFD.2.03.1401211336550.16080@intel.com> (raw)
In-Reply-To: <CAJZOPZJ6xj=fOAY9rkXZZs99ONkHwcW8RMXb+H2FjJzV3eoAPg@mail.gmail.com>
On Tue, 21 Jan 2014, Or Gerlitz wrote:
> On Tue, Jan 21, 2014 at 7:30 PM, Pravin Shelar <pshelar@nicira•com> wrote:
> > On Sun, Jan 19, 2014 at 2:05 PM, Or Gerlitz <ogerlitz@mellanox•com> wrote:
>
> >> While testing the gro udp patches over a setup with openvswitch I noted that
> >> the RX checksum offload support introduced by Joseph's commit 0afb166
> >> "vxlan: Add capability of Rx checksum offload for inner packet" works fine
> >> when you use a setup made of
> >> NIC --> IP stack --> vxlan device --> bridge --> tap
> >> but not when its
> >> NIC --> IP stack --> ovs vxlan port --> OVS DP --> tap
> >> I narrowed it down to the fact the when going the OVS pathskb->encapsulation
> >> remains true also after the decap is done. Basically, this is the original hunk
> [...]
> >>> + skb->encapsulation = 0;
> [...]
>
> >> Moving this to shared code (while removing the check for
> >> vxlan->dev->features) made things to work on my setup, but this misses one
> >> of the original conditions, ideas?
>
> > I kept csum check in vxlan-device recv path for same reason. As of now
> > there is no efficient way to get ovs-dev features.
> > May be we can cache device features in struct datapath from datapath-netdev.
>
> To be a bit more precise/concrete here, do we agree that the both paths must do
>
> skb->encapsulation = 0;
>
> which is done now only by the non-ovs path
Originally skb->encapsulation had (and still has) the meaning of "does
this skb have outer *and* (valid) inner headers? If so, it is an
encapsulated packet".
So based on this skb->encapsulation should be set as soon an (inner)
packet gets encapsulated and unset when decapsulation takes place, and
ideally this should happen in the ovs path too. Together with
skb->encapsulation the inner headers should be correctly set.
>
> Or.
>
next prev parent reply other threads:[~2014-01-21 21:29 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-19 22:05 issues with vxlan RX checksum offload under OVS datapath Or Gerlitz
2014-01-21 17:30 ` Pravin Shelar
2014-01-21 17:37 ` Jesse Gross
2014-01-21 20:55 ` Or Gerlitz
2014-01-21 21:47 ` Joseph Gasparakis [this message]
2014-01-21 21:43 ` Or Gerlitz
2014-01-21 22:35 ` Joseph Gasparakis
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=alpine.LFD.2.03.1401211336550.16080@intel.com \
--to=joseph.gasparakis@intel$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=ogerlitz@mellanox$(echo .)com \
--cc=or.gerlitz@gmail$(echo .)com \
--cc=pshelar@nicira$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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