Commit 8d79266bc48c ("ip6_tunnel: add collect_md mode to IPv6 tunnels") introduced a check to avoid updating PMTU when collect_md mode is enabled.
Later, commit f15ca723c1eb ("net: don't call update_pmtu unconditionally") dropped this check, I guess inadvertently. Restore it. Fixes: f15ca723c1eb ("net: don't call update_pmtu unconditionally") Signed-off-by: Stefano Brivio <sbri...@redhat.com> --- net/ipv6/ip6_tunnel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index a0b6932c3afd..6f05e0f74bdf 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c @@ -1136,7 +1136,8 @@ int ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev, __u8 dsfield, mtu = max(mtu, skb->protocol == htons(ETH_P_IPV6) ? IPV6_MIN_MTU : IPV4_MIN_MTU); - skb_dst_update_pmtu(skb, mtu); + if (!t->parms.collect_md) + skb_dst_update_pmtu(skb, mtu); if (skb->len - t->tun_hlen - eth_hlen > mtu && !skb_is_gso(skb)) { *pmtu = mtu; err = -EMSGSIZE; -- 2.19.1