svn commit: r357474 - head/sys/dev/cxgbe

Navdeep Parhar np at FreeBSD.org
Mon Feb 3 23:06:43 UTC 2020


Author: np
Date: Mon Feb  3 23:06:42 2020
New Revision: 357474
URL: https://svnweb.freebsd.org/changeset/base/357474

Log:
  cxgbe(4): Only checksummed TCP should be considered for LRO.
  
  This avoids the per-packet nanouptime in tcp_lro_rx for traffic that's
  not even TCP.
  
  MFC after:	1 week
  Sponsored by:	Chelsio Communications

Modified:
  head/sys/dev/cxgbe/t4_sge.c

Modified: head/sys/dev/cxgbe/t4_sge.c
==============================================================================
--- head/sys/dev/cxgbe/t4_sge.c	Mon Feb  3 22:49:05 2020	(r357473)
+++ head/sys/dev/cxgbe/t4_sge.c	Mon Feb  3 23:06:42 2020	(r357474)
@@ -2040,7 +2040,9 @@ t4_eth_rx(struct sge_iq *iq, const struct rss_header *
 	m0->m_pkthdr.numa_domain = ifp->if_numa_domain;
 #endif
 #if defined(INET) || defined(INET6)
-	if (iq->flags & IQ_LRO_ENABLED) {
+	if (iq->flags & IQ_LRO_ENABLED &&
+	    (M_HASHTYPE_GET(m0) == M_HASHTYPE_RSS_TCP_IPV4 ||
+	    M_HASHTYPE_GET(m0) == M_HASHTYPE_RSS_TCP_IPV6)) {
 		if (sort_before_lro(lro)) {
 			tcp_lro_queue_mbuf(lro, m0);
 			return (0); /* queued for sort, then LRO */


More information about the svn-src-all mailing list