svn commit: r331061 - head/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Fri Mar 16 15:26:08 UTC 2018
Author: tuexen
Date: Fri Mar 16 15:26:07 2018
New Revision: 331061
URL: https://svnweb.freebsd.org/changeset/base/331061
Log:
Set the inp_vflag consistently for accepted TCP/IPv6 connections when
net.inet6.ip6.v6only=0.
Without this patch, the inp_vflag would have INP_IPV4 and the
INP_IPV6 flags for accepted TCP/IPv6 connections if the sysctl
variable net.inet6.ip6.v6only is 0. This resulted in netstat
to report the source and destination addresses as IPv4 addresses,
even they are IPv6 addresses.
PR: 226421
Reviewed by: bz, hiren, kib
MFC after: 3 days
Sponsored by: Netflix, Inc.
Differential Revision: https://reviews.freebsd.org/D13514
Modified:
head/sys/netinet/tcp_syncache.c
Modified: head/sys/netinet/tcp_syncache.c
==============================================================================
--- head/sys/netinet/tcp_syncache.c Fri Mar 16 15:15:25 2018 (r331060)
+++ head/sys/netinet/tcp_syncache.c Fri Mar 16 15:26:07 2018 (r331061)
@@ -695,6 +695,8 @@ syncache_socket(struct syncache *sc, struct socket *ls
inp->inp_inc.inc_flags = sc->sc_inc.inc_flags;
#ifdef INET6
if (sc->sc_inc.inc_flags & INC_ISIPV6) {
+ inp->inp_vflag &= ~INP_IPV4;
+ inp->inp_vflag |= INP_IPV6;
inp->in6p_laddr = sc->sc_inc.inc6_laddr;
} else {
inp->inp_vflag &= ~INP_IPV6;
More information about the svn-src-all
mailing list