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. Vladislav Yasevich (10): core: Split out UFO6 support net: Correctly mark IPv6 UFO offload type. ovs: Enable handling of UFO6 packets. loopback: Turn on UFO6 support. veth: Enable UFO6 support. macvlan: Enable UFO6 support. s2io: Enable UFO6 support. tun: Re-uanble UFO support. macvtap: Re-enable UFO support Revert "drivers/net: Disable UFO through virtio" drivers/net/ethernet/neterion/s2io.c | 6 +++--- drivers/net/loopback.c | 4 ++-- drivers/net/macvlan.c | 2 +- drivers/net/macvtap.c | 20 ++++++++++++++------ drivers/net/tun.c | 26 ++++++++++++++------------ drivers/net/veth.c | 2 +- drivers/net/virtio_net.c | 24 ++++++++++-------------- include/linux/netdev_features.h | 7 +++++-- include/linux/netdevice.h | 1 + include/linux/skbuff.h | 1 + net/core/dev.c | 35 +++++++++++++++++++---------------- net/core/ethtool.c | 2 +- net/ipv6/ip6_offload.c | 1 + net/ipv6/ip6_output.c | 4 ++-- net/ipv6/udp_offload.c | 3 ++- net/mpls/mpls_gso.c | 1 + net/openvswitch/datapath.c | 3 ++- net/openvswitch/flow.c | 2 +- 18 files changed, 81 insertions(+), 63 deletions(-) -- 1.9.3 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization