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

Reply via email to