2002-03-18 20:33:08

by Charles-Edouard Ruault

[permalink] [raw]
Subject: [PATCH] fix for /usr/src/linux/net/ipv4/ip_default_ttl usage

--- icmp.c.sav Mon Mar 18 10:43:24 2002
+++ icmp.c Mon Mar 18 12:29:48 2002
@@ -139,6 +139,8 @@
{ 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;
@@ -354,6 +356,7 @@
icmp_out_count(icmp_param->data.icmph.type);

sk->protinfo.af_inet.tos = skb->nh.iph->tos;
+ sk->protinfo.af_inet.ttl = sysctl_ip_default_ttl;
daddr = ipc.addr = rt->rt_src;
ipc.opt = NULL;
if (icmp_param->replyopts.optlen) {
--- tcp_ipv4.c.sav Mon Mar 18 10:43:03 2002
+++ tcp_ipv4.c Mon Mar 18 11:54:16 2002
@@ -64,7 +64,7 @@
#include <linux/ipsec.h>

extern int sysctl_ip_dynaddr;
-
+extern int sysctl_ip_default_ttl;
/* Check TCP sequence numbers in ICMP packets. */
#define ICMP_MIN_LENGTH 8

@@ -1072,6 +1072,7 @@
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);


Attachments:
default_ttl.patch (1.06 kB)