On 3/7/17 5:46 PM, Robert Shearman wrote: > @@ -78,6 +70,29 @@ static int mpls_xmit(struct sk_buff *skb) > > tun_encap_info = mpls_lwtunnel_encap(dst->lwtstate); > > + /* Obtain the ttl */ > + if (dst->ops->family == AF_INET) { > + if (tun_encap_info->ttl_propagate == MPLS_TTL_PROP_DISABLED) > + ttl = tun_encap_info->default_ttl; > + else if (tun_encap_info->ttl_propagate == MPLS_TTL_PROP_DEFAULT > && > + !net->mpls.ip_ttl_propagate) > + ttl = net->mpls.default_ttl; > + else > + ttl = ip_hdr(skb)->ttl;
After staring at that for a while, an explanation above this if {} else {} section on the ttl selection will be very helpful.