Am Donnerstag, 16. Juli 2015, 08:23:50 schrieb Herbert Xu: > On Wed, Jul 15, 2015 at 02:25:59PM +0200, Wolfgang Walter wrote: > > Yes. Switching TSO off and leaving GRO on works, too. > > OK, could you please try this patch?
Patch works here. Thanks, Wolfgang > > ---8<--- > We need to set the SKB_GSO_SIT bit if we detect a 6-in-4 tunnel > when doing GRO. Otherwise we may throw a packet at TSO hardware > that doesn't know what to do with it. > > Fixes: 19424e052fb4 ("sit: Add gro callbacks to sit_offload") > Reported-by: Wolfgang Walter <li...@stwm.de> > Signed-off-by: Herbert Xu <herb...@gondor.apana.org.au> > > diff --git a/net/ipv6/ip6_offload.c b/net/ipv6/ip6_offload.c > index e893cd1..1252eac 100644 > --- a/net/ipv6/ip6_offload.c > +++ b/net/ipv6/ip6_offload.c > @@ -289,11 +289,21 @@ static struct packet_offload ipv6_packet_offload > __read_mostly = { }, > }; > > +static int sit_gro_complete(struct sk_buff *skb, int nhoff) > +{ > + int err = ipv6_gro_complete(skb, nhoff); > + > + skb->encapsulation = 1; > + skb_shinfo(skb)->gso_type |= SKB_GSO_SIT; > + > + return err; > +} > + > static const struct net_offload sit_offload = { > .callbacks = { > .gso_segment = ipv6_gso_segment, > .gro_receive = ipv6_gro_receive, > - .gro_complete = ipv6_gro_complete, > + .gro_complete = sit_gro_complete, > }, > }; -- Wolfgang Walter Studentenwerk München Anstalt des öffentlichen Rechts -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html