ip6_tunnel: fix setting hop_limit value for ipv6 tunnel
authorHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
Thu, 7 Sep 2017 06:08:35 +0000 (14:08 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 9 Sep 2017 03:47:10 +0000 (20:47 -0700)
Similar to vxlan/geneve tunnel, if hop_limit is zero, it should fall
back to ip6_dst_hoplimt().

Signed-off-by: Haishuang Yan <yanhaishuang@cmss.chinamobile.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_tunnel.c

index 3a0ba2ae4b0f69659638b3e5521dcf9d4393dc75..10a693a19323a947a9cb36b407421243c17a8009 100644 (file)
@@ -1184,6 +1184,7 @@ route_lookup:
                init_tel_txopt(&opt, encap_limit);
                ipv6_push_frag_opts(skb, &opt.ops, &proto);
        }
+       hop_limit = hop_limit ? : ip6_dst_hoplimit(dst);
 
        /* Calculate max headroom for all the headers and adjust
         * needed_headroom if necessary.