| From foo@baz Wed Nov 21 13:17:56 CET 2018 |
| From: Sabrina Dubroca <sd@queasysnail.net> |
| Date: Fri, 16 Nov 2018 16:58:19 +0100 |
| Subject: ip_tunnel: don't force DF when MTU is locked |
| |
| From: Sabrina Dubroca <sd@queasysnail.net> |
| |
| [ Upstream commit 16f7eb2b77b55da816c4e207f3f9440a8cafc00a ] |
| |
| The various types of tunnels running over IPv4 can ask to set the DF |
| bit to do PMTU discovery. However, PMTU discovery is subject to the |
| threshold set by the net.ipv4.route.min_pmtu sysctl, and is also |
| disabled on routes with "mtu lock". In those cases, we shouldn't set |
| the DF bit. |
| |
| This patch makes setting the DF bit conditional on the route's MTU |
| locking state. |
| |
| This issue seems to be older than git history. |
| |
| Signed-off-by: Sabrina Dubroca <sd@queasysnail.net> |
| Reviewed-by: Stefano Brivio <sbrivio@redhat.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/ipv4/ip_tunnel_core.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/ipv4/ip_tunnel_core.c |
| +++ b/net/ipv4/ip_tunnel_core.c |
| @@ -80,7 +80,7 @@ void iptunnel_xmit(struct sock *sk, stru |
| |
| iph->version = 4; |
| iph->ihl = sizeof(struct iphdr) >> 2; |
| - iph->frag_off = df; |
| + iph->frag_off = ip_mtu_locked(&rt->dst) ? 0 : df; |
| iph->protocol = proto; |
| iph->tos = tos; |
| iph->daddr = dst; |