提交 d51711c0 编写于 作者: X Xin Long 提交者: David S. Miller

ip_gre: ipgre_tap device should keep dst

Without keeping dst, the tunnel will not update any mtu/pmtu info,
since it does not have a dst on the skb.

Reproducer:
  client(ipgre_tap1 - eth1) <-----> (eth1 - ipgre_tap1)server

After reducing eth1's mtu on client, then perforamnce became 0.

This patch is to netif_keep_dst in gre_tap_init, as ipgre does.
Reported-by: NJianlin Shi <jishi@redhat.com>
Signed-off-by: NXin Long <lucien.xin@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 fef0035c
...@@ -1223,6 +1223,7 @@ static int gre_tap_init(struct net_device *dev) ...@@ -1223,6 +1223,7 @@ static int gre_tap_init(struct net_device *dev)
{ {
__gre_tunnel_init(dev); __gre_tunnel_init(dev);
dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; dev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
netif_keep_dst(dev);
return ip_tunnel_init(dev); return ip_tunnel_init(dev);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册