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
This commit is contained in:
Navdeep Parhar 2020-02-03 23:06:42 +00:00
parent e489450589
commit 9087a3df60

View File

@ -2040,7 +2040,9 @@ t4_eth_rx(struct sge_iq *iq, const struct rss_header *rss, struct mbuf *m0)
m0->m_pkthdr.numa_domain = ifp->if_numa_domain; m0->m_pkthdr.numa_domain = ifp->if_numa_domain;
#endif #endif
#if defined(INET) || defined(INET6) #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)) { if (sort_before_lro(lro)) {
tcp_lro_queue_mbuf(lro, m0); tcp_lro_queue_mbuf(lro, m0);
return (0); /* queued for sort, then LRO */ return (0); /* queued for sort, then LRO */