lkml.org 
[lkml]   [2013]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/2] ixgbe: fix gso type
From
Date
On Thu, 2013-02-07 at 01:02 +0200, Michael S. Tsirkin wrote:
> ixgbe set gso_size but not gso_type. This leads to
> crashes in macvtap.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>
> I tested that this fixes the crash for me. I am told on ixgbe LRO only
> triggers with TCP so checking protocol should be enough?
>
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> index 396e280..9d01673 100644
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> @@ -1399,6 +1399,10 @@ static void ixgbe_set_rsc_gso_size(struct ixgbe_ring *ring,
> /* set gso_size to avoid messing up TCP MSS */
> skb_shinfo(skb)->gso_size = DIV_ROUND_UP((skb->len - hdr_len),
> IXGBE_CB(skb)->append_cnt);
> + if (skb->protocol == ETH_P_IPV6)

Same problem here (skb->protocol == htons(ETH_P_IPV6))

> + skb_shinfo(skb)->gso_type = SKB_GSO_TCPV6;
> + else
> + skb_shinfo(skb)->gso_type = SKB_GSO_TCPV4;
> }
>



\
 
 \ /
  Last update: 2013-02-07 04:41    [W:0.086 / U:0.644 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site