Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Apr 2018 20:47:25 +0000 (UTC)
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r332238 - stable/11/sys/netinet
Message-ID:  <201804072047.w37KlPBl098943@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tuexen
Date: Sat Apr  7 20:47:25 2018
New Revision: 332238
URL: https://svnweb.freebsd.org/changeset/base/332238

Log:
  MFC r331061:
  
  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
  Sponsored by:		Netflix, Inc.
  Differential Revision:	https://reviews.freebsd.org/D13514

Modified:
  stable/11/sys/netinet/tcp_syncache.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/netinet/tcp_syncache.c
==============================================================================
--- stable/11/sys/netinet/tcp_syncache.c	Sat Apr  7 20:44:30 2018	(r332237)
+++ stable/11/sys/netinet/tcp_syncache.c	Sat Apr  7 20:47:25 2018	(r332238)
@@ -687,6 +687,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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804072047.w37KlPBl098943>