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 */
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to