ipv6: sit: update mtu check to take care of gso packets
authorEric Dumazet <edumazet@google.com>
Mon, 16 Dec 2013 14:31:23 +0000 (06:31 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Dec 2013 22:55:24 +0000 (17:55 -0500)
commit58a4782449c5882f61882396ef18cc34c7dc1269
tree219549e74c14fecfc6af94a63cb1d91a71c19524
parent4df98e76cde7c64b5606d82584c65dda4151bd6a
ipv6: sit: update mtu check to take care of gso packets

While testing my changes for TSO support in SIT devices,
I was using sit0 tunnel which appears to include nopmtudisc flag.

But using :

ip tun add sittun mode sit remote $REMOTE_IPV4 local $LOCAL_IPV4 \
   dev $IFACE

We get a tunnel which rejects too long packets because of the mtu check
which is not yet GSO aware.

erd:~# ip tunnel
sittun: ipv6/ip  remote 10.246.17.84  local 10.246.17.83  ttl inherit  6rd-prefix 2002::/16
sit0: ipv6/ip  remote any  local any  ttl 64  nopmtudisc 6rd-prefix 2002::/16

This patch is based on an excellent report from
Michal Shmidt.

In the future, we probably want to extend the MTU check to do the
right thing for GSO packets...

Fixes: ("61c1db7fae21 ipv6: sit: add GSO/TSO support")
Reported-by: Michal Schmidt <mschmidt@redhat.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Tested-by: Michal Schmidt <mschmidt@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/sit.c