diff --git a/kernel-module/xt_RTPENGINE.c b/kernel-module/xt_RTPENGINE.c index 4b8537720..b00bf40fa 100644 --- a/kernel-module/xt_RTPENGINE.c +++ b/kernel-module/xt_RTPENGINE.c @@ -4988,6 +4988,9 @@ static int send_proxy_packet4(struct sk_buff *skb, struct re_address *src, struc if (!net) goto drop; + // honour the IPv4 TTL set via sysctl + ih->ttl = net->ipv4.sysctl_ip_default_ttl; + #if LINUX_VERSION_CODE >= KERNEL_VERSION(6,10,0) rt = ip_route_output(net, dst->u.ipv4, src->u.ipv4, tos, 0, 0); #else @@ -5078,6 +5081,9 @@ static int send_proxy_packet6(struct sk_buff *skb, struct re_address *src, struc if (!net) goto drop; + // honour the IPv6 hop limit set via sysctl + ih->hop_limit = net->ipv6.devconf_dflt->hop_limit; + memset(&fl6, 0, sizeof(fl6)); memcpy(&fl6.saddr, src->u.ipv6, sizeof(fl6.saddr)); memcpy(&fl6.daddr, dst->u.ipv6, sizeof(fl6.daddr));