From: Xin Long <lucien....@gmail.com> Date: Tue, 5 Sep 2017 17:26:33 +0800
> Now when probessing ICMPV6_PKT_TOOBIG, ip6gre_err only subtracts the > offset of gre header from mtu info. The expected mtu of gre device > should also subtract gre header. Otherwise, the next packets still > can't be sent out. > > Jianlin found this issue when using the topo: > client(ip6gre)<---->(nic1)route(nic2)<----->(ip6gre)server > > and reducing nic2's mtu, then both tcp and sctp's performance with > big size data became 0. > > This patch is to fix it by also subtracting grehdr (tun->tun_hlen) > from mtu info when updating gre device's mtu in ip6gre_err(). It > also needs to subtract ETH_HLEN if gre dev'type is ARPHRD_ETHER. > > Reported-by: Jianlin Shi <ji...@redhat.com> > Signed-off-by: Xin Long <lucien....@gmail.com> Applied and queued up for -stable, thanks.