From: Hannes Frederic Sowa <hannes@stressinduktion.org>
To: Ben Hutchings <ben@decadent.org.uk>
Cc: netdev <netdev@vger.kernel.org>,
virtualization@lists.linux-foundation.org
Subject: Re: IPv6 UFO for VMs
Date: Wed, 22 Oct 2014 11:35:41 +0200 [thread overview]
Message-ID: <1413970541.2337.16.camel@localhost> (raw)
In-Reply-To: <1413935045.5994.2.camel@decadent.org.uk>
On Mi, 2014-10-22 at 00:44 +0100, Ben Hutchings wrote:
> There are several ways that VMs can take advantage of UFO and get the
> host to do fragmentation for them:
>
> drivers/net/macvtap.c: gso_type = SKB_GSO_UDP;
> drivers/net/tun.c: skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
> drivers/net/virtio_net.c: skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
>
> Our implementation of UFO for IPv6 does:
>
> fptr = (struct frag_hdr *)(skb_network_header(skb) + unfrag_ip6hlen);
> fptr->nexthdr = nexthdr;
> fptr->reserved = 0;
> fptr->identification = skb_shinfo(skb)->ip6_frag_id;
>
> which assumes ip6_frag_id has been set. That's only true if the local
> stack constructed the skb; otherwise it appears we get zero.
>
> This seems to be a regression as a result of:
>
> commit 916e4cf46d0204806c062c8c6c4d1f633852c5b6
> Author: Hannes Frederic Sowa <hannes@stressinduktion.org>
> Date: Fri Feb 21 02:55:35 2014 +0100
>
> ipv6: reuse ip6_frag_id from ip6_ufo_append_data
>
> However, that change seems reasonable - we *shouldn't* be choosing IDs
> for any other stack. Any paravirt net driver that can use IPv6 UFO
> needs to have some way of passing a fragmentation ID to put in
> skb_shared_info::ip6_frag_id.
Do we really gain a lot of performance by enabling UFO on those devices
or would it make sense to just drop support? It only helps fragmenting
large UDP packets, so I don't think it is worth it.
Otherwise I agree with Ben, we need to pass a fragmentation id from the
host over to the system segmenting the gso frame. Fragmentation ids must
be generated by the end system.
Hmm...
Bye,
Hannes
next prev parent reply other threads:[~2014-10-22 9:35 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-21 23:44 IPv6 UFO for VMs Ben Hutchings
2014-10-22 9:35 ` Hannes Frederic Sowa [this message]
2014-10-27 3:21 ` Ben Hutchings
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=1413970541.2337.16.camel@localhost \
--to=hannes@stressinduktion.org \
--cc=ben@decadent.org.uk \
--cc=netdev@vger.kernel.org \
--cc=virtualization@lists.linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox