On 07.06.2016 22:42, Philip Prindeville wrote: > On 06/07/2016 02:23 PM, Hannes Frederic Sowa wrote: >> >> On Tue, Jun 7, 2016, at 21:48, Philip Prindeville wrote: >>> static struct rtnl_link_ops ipgre_link_ops __read_mostly = { >>> diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c >>> index d8f5e0a..95649eb 100644 >>> --- a/net/ipv4/ip_tunnel.c >>> +++ b/net/ipv4/ip_tunnel.c >>> @@ -682,7 +682,7 @@ void ip_tunnel_xmit(struct sk_buff *skb, struct >>> net_device *dev, >>> } >>> df = tnl_params->frag_off; >>> - if (skb->protocol == htons(ETH_P_IP)) >>> + if (skb->protocol == htons(ETH_P_IP) && !tunnel->ignore_df) >>> df |= (inner_iph->frag_off&htons(IP_DF)); >>> max_headroom = LL_RESERVED_SPACE(rt->dst.dev) + sizeof(struct >>> iphdr) >> Is still enforce that we inherit the ttl from the inner header to the >> outer header if we don't set df bit? >> >> Thanks, >> Hannes > > That's correct. That happens a few lines above and we don't change that > behavior with this patch.
It should be discouraged to use this feature, but I have to admit that I already used stripping of DF bit, too. Acked-by: Hannes Frederic Sowa <han...@stressinduktion.org> Thanks, Hannes