Author: ae
Date: Mon Oct  1 09:40:41 2018
New Revision: 339037
URL: https://svnweb.freebsd.org/changeset/base/339037

Log:
  MFC r313168 (by pkelsey):
    Fix VIMAGE-related bugs in TFO.  The autokey callout vnet context was
    not being initialized, and the per-vnet fastopen context was only
    being initialized for the default vnet.
  
    PR:         216613

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

Modified: stable/11/sys/netinet/tcp_fastopen.c
==============================================================================
--- stable/11/sys/netinet/tcp_fastopen.c        Mon Oct  1 08:49:47 2018        
(r339036)
+++ stable/11/sys/netinet/tcp_fastopen.c        Mon Oct  1 09:40:41 2018        
(r339037)
@@ -209,6 +209,7 @@ tcp_fastopen_init(void)
        rm_init(&V_tcp_fastopen_keylock, "tfo_keylock");
        callout_init_rm(&V_tcp_fastopen_autokey_ctx.c,
            &V_tcp_fastopen_keylock, 0);
+       V_tcp_fastopen_autokey_ctx.v = curvnet;
        V_tcp_fastopen_keys.newest = TCP_FASTOPEN_MAX_KEYS - 1;
 }
 

Modified: stable/11/sys/netinet/tcp_subr.c
==============================================================================
--- stable/11/sys/netinet/tcp_subr.c    Mon Oct  1 08:49:47 2018        
(r339036)
+++ stable/11/sys/netinet/tcp_subr.c    Mon Oct  1 09:40:41 2018        
(r339037)
@@ -655,6 +655,10 @@ tcp_init(void)
        V_sack_hole_zone = uma_zcreate("sackhole", sizeof(struct sackhole),
            NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
 
+#ifdef TCP_RFC7413
+       tcp_fastopen_init();
+#endif
+
        /* Skip initialization of globals for non-default instances. */
        if (!IS_DEFAULT_VNET(curvnet))
                return;
@@ -707,10 +711,6 @@ tcp_init(void)
                EVENTHANDLER_PRI_ANY);
 #ifdef TCPPCAP
        tcp_pcap_init();
-#endif
-
-#ifdef TCP_RFC7413
-       tcp_fastopen_init();
 #endif
 }
 
_______________________________________________
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