From 91ac8e99a3d839c7abc32acd383807779b2ab56d Mon Sep 17 00:00:00 2001 From: itojun Date: Thu, 22 Jun 2000 16:48:59 +0000 Subject: [PATCH] correct bad TTL with packets generated by v4 mapped udp. from kame --- sys/netinet6/udp6_usrreq.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index abcac276ece0..b42bc1817202 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -647,6 +647,13 @@ udp6_attach(struct socket *so, int proto, struct proc *p) inp->inp_vflag |= INP_IPV6; inp->in6p_hops = -1; /* use kernel default */ inp->in6p_cksum = -1; /* just to be sure */ + /* + * XXX: ugly!! + * IPv4 TTL initialization is necessary for an IPv6 socket as well, + * because the socket may be bound to an IPv6 wildcard address, + * which may match an IPv4-mapped IPv6 address. + */ + inp->inp_ip_ttl = ip_defttl; #ifdef IPSEC error = ipsec_init_policy(so, &inp->in6p_sp); if (error != 0) {