From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: Re: [PATCH v2 0/3] Restore UFO support to virtio_net devices Date: Sat, 31 Jan 2015 19:17:43 +0200 Message-ID: <20150131171743.GE31871@redhat.com> References: <1422646047-13168-1-git-send-email-vyasevic@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: eric.dumazet@gmail.com, netdev@vger.kernel.org, virtualization@lists.linux-foundation.org, hannes@stressinduktion.org, ben@decadent.org.uk, David Miller To: Vladislav Yasevich Return-path: Content-Disposition: inline In-Reply-To: <1422646047-13168-1-git-send-email-vyasevic@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org List-Id: netdev.vger.kernel.org On Fri, Jan 30, 2015 at 02:27:24PM -0500, Vladislav Yasevich wrote: > commit 3d0ad09412ffe00c9afa201d01effdb6023d09b4 > Author: Ben Hutchings > Date: Thu Oct 30 18:27:12 2014 +0000 > > drivers/net: Disable UFO through virtio > > Turned off UFO support to virtio-net based devices due to issues > with IPv6 fragment id generation for UFO packets. The issue > was that IPv6 UFO/GSO implementation expects the fragment id > to be supplied in skb_shinfo(). However, for packets generated > by the VMs, the fragment id is not supplied which causes all > IPv6 fragments to have the id of 0. > > The problem is that turning off UFO support on tap/macvtap > as well as virtio devices caused issues with migrations. > Migrations would fail when moving a vm from a kernel supporting > expecting UFO to work to the newer kernels that disabled UFO. > > This series provides a partial solution to address the migration > issue. The series allows us to track whether skb_shinfo()->ip6_frag_id > has been set by treating value of 0 as unset. > This lets GSO code to generate fragment ids if they are necessary > (ex: packet was generated by VM or packet socket). > > Since v1: > - Removed the skb bit and use value of 0 as tracker. > - Used Eric's suggestion to set fragment id as 0x80000000 if id > generation procedure yeilded a 0 result. > - Consolidated ipv6 id genration code. Looks good to me Acked-by: Michael S. Tsirkin Seems appropriate for stable as well. > Vladislav Yasevich (3): > ipv6: Select fragment id during UFO segmentation if not set. > Revert "drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO > packets" > Revert "drivers/net: Disable UFO through virtio" > > drivers/net/macvtap.c | 16 ++++++++-------- > drivers/net/tun.c | 25 +++++++++---------------- > drivers/net/virtio_net.c | 24 ++++++++++-------------- > include/net/ipv6.h | 3 +++ > net/ipv6/ip6_output.c | 10 ++++------ > net/ipv6/output_core.c | 28 ++++++++++++++++++++++------ > net/ipv6/udp_offload.c | 10 +++++++++- > 7 files changed, 65 insertions(+), 51 deletions(-) > > -- > 1.9.3