From: Jason Wang <jasowang@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: netdev@vger.kernel.org, Vladislav Yasevich <vyasevich@gmail.com>,
Ben Hutchings <ben@decadent.org.uk>,
stefanha@redhat.com, virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 00/10] Split UFO into v4 and v6 versions.
Date: Thu, 25 Dec 2014 09:58:25 +0008 [thread overview]
Message-ID: <1419501025.27992.5@smtp.corp.redhat.com> (raw)
In-Reply-To: <20141225071435.GA6687@redhat.com>
On Thu, Dec 25, 2014 at 3:14 PM, Michael S. Tsirkin <mst@redhat.com>
wrote:
> On Thu, Dec 25, 2014 at 03:10:01AM +0008, Jason Wang wrote:
>>
>>
>> On Thu, Dec 25, 2014 at 2:59 AM, Michael S. Tsirkin
>> <mst@redhat.com> wrote:
>> >On Wed, Dec 24, 2014 at 07:11:20PM +0100, Ben Hutchings wrote:
>> >> On Thu, 2014-12-18 at 00:28 -0500, Jason Wang wrote:
>> >> > > ----- Original Message -----
>> >> > > UFO support in the kernel applies to both IPv4 and IPv6
>> protocols
>> >> > > with the same device feature. However some devices may not
>> be able
>> >> > > to support one of the offloads. For this we split the UFO
>> offload
>> >> > > feature into 2 pieces. NETIF_F_UFO now controlls the IPv4
>> part and
>> >> > > this series introduces NETIF_F_UFO6.
>> >> > > > > As a result of this work, we can now re-enable
>> NETIF_F_UFO on
>> >> > > virtio_net devices and restore UDP over IPv4 performance for
>> >>guests.
>> >> > > We also continue to support legacy guests that assume that
>> UFO6
>> >> > > support included into UFO(4).
>> >> > > > > Without this work, migrating a guest to a 3.18 kernel
>> fails.
>> >> > > > > This series eliminate the ambiguous NETIF_F_UFO.
>> >> > > But VIRTIO_NET_F_{HOST|GUEST}_UFO and
>> VIRTIO_NET_F_HDR_GSO_UDP is
>> >>still
>> >> > ambigious. I know it was used to keep compatibility for legacy
>> guest.
>> >>But
>> >> > what's the future plan? Differentiate UFOv4 and UFOv6 in virtio
>> >>features and
>> >> > gso type in vnet header looks sufficient?
>> >> [...]
>> >> The IPv6 fragmentation ID needs to be added to the vnet
>> header, to do
>> >> UFOv6 properly. If it wasn't for that lack, we wouldn't have to
>> split
>> >> the feature flag.
>> >> Ben.
>> >
>> >
>> >Right.
>> >
>> >I think a good plan is as follows:
>> >
>> >1. add code generating IDs on rx path for virtio,
>> > and re-enable UFO (4+6).
>> >
>> >2. Ben's patch doing similar things for tun/macvtap
>>
>> I wonder whether or not we can do this lazily.
>>
>> E.g during UFO6 software segment for dodgy packets?
>>
>> And this can eliminate the effort of duplicating it in all untrusted
>> sources?
>
> But then we'll need to then change it again in step 5,
> probably by setting some flag?
The idea is if no segmentation (either software or hardware), no need
for an id.
So looks like dodgy is sufficient since we are sure kernel should set
id in all other cases. And we can add the id only when we see it was
not set for the ufo packet(legacy guest). This seems not conflict with
step 5.
>
> Might as well do it directly.
>
>> >
>> >3. similarly for packet sockets
>> >
>> >
>> >above seem appropriate for stable
>> >
>> >4. 4+6 split, to make it easier for drivers
>> > to identify when fragment ID is needed
>> >
>> >5. extend vnet header, and add ways to enable it,
>> > when enabled, use that to pass
>> > fragment ID for tun/virtio/vhost/macvtap/packet socket
>> >
>> >4 is what this patchset does.
>> >
>> >
>> >> -- Ben Hutchings
>> >> If more than one person is responsible for a bug, no one is at
>> fault.
>> >
>> >
>> >--
>> >To unsubscribe from this list: send the line "unsubscribe netdev"
>> in
>> >the body of a message to majordomo@vger.kernel.org
>> >More majordomo info at http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2014-12-25 9:50 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-17 18:20 [PATCH 00/10] Split UFO into v4 and v6 versions Vladislav Yasevich
2014-12-17 18:20 ` [PATCH 01/10] core: Split out UFO6 support Vladislav Yasevich
2014-12-17 20:10 ` Ben Hutchings
2014-12-17 20:43 ` Vlad Yasevich
2014-12-17 22:45 ` Michael S. Tsirkin
2014-12-17 23:31 ` Vlad Yasevich
2014-12-18 7:54 ` Michael S. Tsirkin
2014-12-18 15:01 ` Vlad Yasevich
2014-12-18 17:35 ` Michael S. Tsirkin
2014-12-18 17:50 ` Michael S. Tsirkin
2014-12-19 20:13 ` Vlad Yasevich
2014-12-20 21:03 ` Michael S. Tsirkin
2014-12-22 4:06 ` Vlad Yasevich
2014-12-19 19:55 ` Vlad Yasevich
2014-12-17 18:20 ` [PATCH 02/10] net: Correctly mark IPv6 UFO offload type Vladislav Yasevich
2014-12-17 18:20 ` [PATCH 03/10] ovs: Enable handling of UFO6 packets Vladislav Yasevich
2014-12-17 20:17 ` Sergei Shtylyov
2014-12-17 20:44 ` Vlad Yasevich
2014-12-17 22:26 ` Michael S. Tsirkin
2014-12-17 18:20 ` [PATCH 04/10] loopback: Turn on UFO6 support Vladislav Yasevich
2014-12-17 18:20 ` [PATCH 05/10] veth: Enable " Vladislav Yasevich
2014-12-17 18:20 ` [PATCH 06/10] macvlan: " Vladislav Yasevich
2014-12-17 18:20 ` [PATCH 07/10] s2io: " Vladislav Yasevich
2014-12-17 18:20 ` [PATCH 08/10] tun: Re-uanble UFO support Vladislav Yasevich
2014-12-17 22:33 ` Michael S. Tsirkin
2014-12-18 5:51 ` Jason Wang
2014-12-18 15:12 ` Vlad Yasevich
2014-12-19 4:37 ` Jason Wang
2014-12-17 18:20 ` [PATCH 09/10] macvtap: Re-enable " Vladislav Yasevich
2014-12-17 22:41 ` Michael S. Tsirkin
2014-12-18 2:43 ` Vlad Yasevich
2014-12-18 7:55 ` Michael S. Tsirkin
2014-12-18 15:15 ` Vlad Yasevich
2014-12-17 18:20 ` [PATCH 10/10] Revert "drivers/net: Disable UFO through virtio" Vladislav Yasevich
2014-12-17 22:44 ` Michael S. Tsirkin
2014-12-18 5:28 ` [PATCH 00/10] Split UFO into v4 and v6 versions Jason Wang
2014-12-24 18:11 ` Ben Hutchings
2014-12-24 18:59 ` Michael S. Tsirkin
2014-12-25 3:02 ` Jason Wang
2014-12-25 7:14 ` Michael S. Tsirkin
2014-12-25 9:50 ` Jason Wang [this message]
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=1419501025.27992.5@smtp.corp.redhat.com \
--to=jasowang@redhat.com \
--cc=ben@decadent.org.uk \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=stefanha@redhat.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=vyasevich@gmail.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).