{ EHOSTUNREACH, 1 } /* ICMP_PREC_CUTOFF */
};
+extern int sysctl_ip_default_ttl;
+
/* Control parameters for ECHO replies. */
int sysctl_icmp_echo_ignore_all;
int sysctl_icmp_echo_ignore_broadcasts;
icmp_out_count(icmp_param->data.icmph.type);
inet->tos = skb->nh.iph->tos;
+ inet->ttl = sysctl_ip_default_ttl;
daddr = ipc.addr = rt->rt_src;
ipc.opt = NULL;
if (icmp_param->replyopts.optlen) {
icmp_param.offset=skb_in->nh.raw - skb_in->data;
icmp_out_count(icmp_param.data.icmph.type);
inet_sk(icmp_socket->sk)->tos = tos;
+ inet_sk(icmp_socket->sk)->ttl = sysctl_ip_default_ttl;
ipc.addr = iph->saddr;
ipc.opt = &icmp_param.replyopts;
if (icmp_param.replyopts.srr) {
#include <linux/ipsec.h>
extern int sysctl_ip_dynaddr;
+extern int sysctl_ip_default_ttl;
int sysctl_tcp_tw_reuse = 0;
/* Check TCP sequence numbers in ICMP packets. */
arg.n_iov = 1;
arg.csumoffset = offsetof(struct tcphdr, check) / 2;
+ tcp_socket->sk->protinfo.af_inet.ttl = sysctl_ip_default_ttl;
ip_send_reply(tcp_socket->sk, skb, &arg, sizeof rth);
TCP_INC_STATS_BH(TcpOutSegs);