On Fri, Jan 30, 2015 at 02:27:26PM -0500, Vladislav Yasevich wrote:
> This reverts commit 5188cd44c55db3e92cd9e77a40b5baa7ed4340f7.
> 
> Now that GSO layer can track if fragment id has been selected
> and can allocate one if necessary, we don't need to do this in
> tap and macvtap.  This reverts most of the code and only keeps
> the new ipv6 fragment id generation function that is still needed.
> 
> Fixes: 3d0ad09412ff (drivers/net: Disable UFO through virtio)
> Signed-off-by: Vladislav Yasevich <[email protected]>

Acked-by: Michael S. Tsirkin <[email protected]>

> ---
>  drivers/net/macvtap.c | 3 ---
>  drivers/net/tun.c     | 6 +-----
>  2 files changed, 1 insertion(+), 8 deletions(-)
> 
> diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
> index 7df2217..0b86e46 100644
> --- a/drivers/net/macvtap.c
> +++ b/drivers/net/macvtap.c
> @@ -17,7 +17,6 @@
>  #include <linux/fs.h>
>  #include <linux/uio.h>
>  
> -#include <net/ipv6.h>
>  #include <net/net_namespace.h>
>  #include <net/rtnetlink.h>
>  #include <net/sock.h>
> @@ -589,8 +588,6 @@ static int macvtap_skb_from_vnet_hdr(struct macvtap_queue 
> *q,
>                       pr_warn_once("macvtap: %s: using disabled UFO feature; 
> please fix this program\n",
>                                    current->comm);
>                       gso_type = SKB_GSO_UDP;
> -                     if (skb->protocol == htons(ETH_P_IPV6))
> -                             ipv6_proxy_select_ident(skb);
>                       break;
>               default:
>                       return -EINVAL;
> diff --git a/drivers/net/tun.c b/drivers/net/tun.c
> index 8c8dc16..5ca42b7 100644
> --- a/drivers/net/tun.c
> +++ b/drivers/net/tun.c
> @@ -65,7 +65,6 @@
>  #include <linux/nsproxy.h>
>  #include <linux/virtio_net.h>
>  #include <linux/rcupdate.h>
> -#include <net/ipv6.h>
>  #include <net/net_namespace.h>
>  #include <net/netns/generic.h>
>  #include <net/rtnetlink.h>
> @@ -1167,8 +1166,6 @@ static ssize_t tun_get_user(struct tun_struct *tun, 
> struct tun_file *tfile,
>               break;
>       }
>  
> -     skb_reset_network_header(skb);
> -
>       if (gso.gso_type != VIRTIO_NET_HDR_GSO_NONE) {
>               pr_debug("GSO!\n");
>               switch (gso.gso_type & ~VIRTIO_NET_HDR_GSO_ECN) {
> @@ -1189,8 +1186,6 @@ static ssize_t tun_get_user(struct tun_struct *tun, 
> struct tun_file *tfile,
>                                           current->comm);
>                       }
>                       skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
> -                     if (skb->protocol == htons(ETH_P_IPV6))
> -                             ipv6_proxy_select_ident(skb);
>                       break;
>               }
>               default:
> @@ -1221,6 +1216,7 @@ static ssize_t tun_get_user(struct tun_struct *tun, 
> struct tun_file *tfile,
>               skb_shinfo(skb)->tx_flags |= SKBTX_SHARED_FRAG;
>       }
>  
> +     skb_reset_network_header(skb);
>       skb_probe_transport_header(skb, 0);
>  
>       rxhash = skb_get_hash(skb);
> -- 
> 1.9.3
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to