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;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to