diff options
author | itojun <itojun@FreeBSD.org> | 2000-06-22 16:48:59 +0000 |
---|---|---|
committer | itojun <itojun@FreeBSD.org> | 2000-06-22 16:48:59 +0000 |
commit | 91ac8e99a3d839c7abc32acd383807779b2ab56d (patch) | |
tree | 60b7fd3ef07c5c1f452047af3a9413ea71c70888 /sys/netinet6 | |
parent | 77729ceb43ab5503e7ad253493cf45995d695c40 (diff) | |
download | FreeBSD-src-91ac8e99a3d839c7abc32acd383807779b2ab56d.zip FreeBSD-src-91ac8e99a3d839c7abc32acd383807779b2ab56d.tar.gz |
correct bad TTL with packets generated by v4 mapped udp. from kame
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/udp6_usrreq.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index abcac27..b42bc18 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) { |