===== net/ipv4/xfrm4_output.c 1.4 vs edited ===== --- 1.4/net/ipv4/xfrm4_output.c 2004-08-20 20:39:43 +10:00 +++ edited/net/ipv4/xfrm4_output.c 2004-08-24 20:03:26 +10:00 @@ -58,8 +58,7 @@ if (!top_iph->frag_off) __ip_select_ident(top_iph, dst, 0); - /* TTL disclosed */ - top_iph->ttl = iph->ttl; + top_iph->ttl = dst_path_metric(dst, RTAX_HOPLIMIT); top_iph->saddr = x->props.saddr.a4; top_iph->daddr = x->id.daddr.a4; ===== net/ipv6/xfrm6_output.c 1.4 vs edited ===== --- 1.4/net/ipv6/xfrm6_output.c 2004-08-20 20:39:43 +10:00 +++ edited/net/ipv6/xfrm6_output.c 2004-08-24 20:52:19 +10:00 @@ -64,7 +64,7 @@ top_iph->flow_lbl[1] = iph->flow_lbl[1]; top_iph->flow_lbl[2] = iph->flow_lbl[2]; top_iph->nexthdr = IPPROTO_IPV6; - top_iph->hop_limit = iph->hop_limit; + top_iph->hop_limit = dst_path_metric(dst, RTAX_HOPLIMIT); ipv6_addr_copy(&top_iph->saddr, (struct in6_addr *)&x->props.saddr); ipv6_addr_copy(&top_iph->daddr, (struct in6_addr *)&x->id.daddr); }