From nobody Mon Jan 5 19:11:09 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dlP66485qz6MvX2 for ; Mon, 05 Jan 2026 19:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dlP660Fvmz4LlB for ; Mon, 05 Jan 2026 19:11:10 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767640270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nm5Hvs0RW9s5vOF2h2uSDKTOG+q/+38mWrQ/LKojlSI=; b=DtbbIP3WOF6hmkT7MbwBY7TkN1pORXjfVnQwNPTLw+41S/HxDK03BtptW/t37PwMUD50+9 8KOHAibQfUZeFYF5UIDZVAlQ2gK/nDIdzZw7ncIhBbSIVlwLk0IwoeeJjPOZxY2VX+x+Fe huV15o1acbCOZ7KPK2QH/+/31E4SAdZ3FBsx+1bOc5KByCAwACIn8uD0Omi4G+VxyolX3O vjolEh2NW0rQXPBJ1XYlRxXDLXEOZ6FGCCPIFG+23RtGLq5kDfCW0P5xNGDkf5dcW5jM3Y M/xixR2areuPtaOUO6FmQN3lnUK605qRQF6m7NVWUrNaDiLBQkFaxo3AtdT5nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767640270; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Nm5Hvs0RW9s5vOF2h2uSDKTOG+q/+38mWrQ/LKojlSI=; b=TV6wxD5NrkVpcHT9dQhmM/aQjXp2KfaKi7PaKKIWxS2iNvWa1i5x7ierQ8RDuJSkzecmBI ZQHWdyU5BqOR+ml04luogTWVlEjcGh1YPtdJKzgcUF0wbTsEy7cfdfNiy/FPhMFvfZLPn/ M39w7Ci1GmN2gyGbfTx1vah9iij9id9htWzbqQer+WuSZb89qwQkRt+xgTVeMpapfA0/aB 2N/2zFG9aOT//f3TLREaTUsan7sWf1pLhfbd2VJzwlQvHBXAmxLZT5qm1uAwQhXctObnNh qUhKhm5wuM50AqddWzI7uEGz9bm8izADf4whyvYbxzh6KbZuJ+cDInb0C17vsg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1767640270; a=rsa-sha256; cv=none; b=J/Jlb5Vgd8JQ62u5IRqseBgA84u6VI+74zwp/UehL9qjHa9sj/yDG6f7v936YrbHke0EKH d3TaKm+zCblY8O0mBqmhxC9AyigPtvRgYyjeBNbJqMc5XG+bCmbhiFaFSBkr2B4S4chFny /rxanVMSj6mxe2HcugRMHvnse+nILI2E/pK8Eo1OYF1HNQc7dfObCqDK4VUYLDTfqb8uG9 ABBFMdKZ9HxtolAfda/HcgZIjgc8TNf860QtDU2GPFa+ajVgt9mmGXGBO1eiGlnRr0SfiQ lMOt2NnEHhoQeVFh8TwRTE+Bjg+n4BtRH0lxNnPWEM7CJUQWkTO6OLkU8y4jZA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dlP656hfVzZ9Y for ; Mon, 05 Jan 2026 19:11:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 394d8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 05 Jan 2026 19:11:09 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Gallatin Subject: git: ac1cd655f647 - main - ixl: verify flowid is valid before setting rsstype & flowid List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gallatin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: ac1cd655f647cfd8e8d8c08da00f41abfce212a1 Auto-Submitted: auto-generated Date: Mon, 05 Jan 2026 19:11:09 +0000 Message-Id: <695c0ccd.394d8.1c17f2db@gitrepo.freebsd.org> The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=ac1cd655f647cfd8e8d8c08da00f41abfce212a1 commit ac1cd655f647cfd8e8d8c08da00f41abfce212a1 Author: Andrew Gallatin AuthorDate: 2026-01-05 17:02:23 +0000 Commit: Andrew Gallatin CommitDate: 2026-01-05 19:10:17 +0000 ixl: verify flowid is valid before setting rsstype & flowid According to section 8.3.2.2.1 of the XL710 datasheet, FLTSTAT indicates if RSS hashing was used (or flow director or nothing) to arrive at the flowid it is reporting. We need to check this before reporting the flowid and setting the rss type. Not checking this allows invalid flowids (0s) to be reported for some TCP traffic (it seems to mostly impact incoming connections). This leads to the inp flowid being 0, and egress traffic being unbalanced (going to tx queue 0, and NIC 0 of an lacp bundle). Differential Revision: https://reviews.freebsd.org/D54442 Reviewed by: adrian, kbowling Sponsored by: Netflix MFC after: 2 weeks --- sys/dev/ixl/ixl_txrx.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/sys/dev/ixl/ixl_txrx.c b/sys/dev/ixl/ixl_txrx.c index f971a3073265..04b8279bdc59 100644 --- a/sys/dev/ixl/ixl_txrx.c +++ b/sys/dev/ixl/ixl_txrx.c @@ -661,7 +661,7 @@ ixl_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri) struct ixl_rx_queue *que = &vsi->rx_queues[ri->iri_qsidx]; struct rx_ring *rxr = &que->rxr; union i40e_rx_desc *cur; - u32 status, error; + u32 status, error, fltstat; u16 plen; u64 qword; u8 ptype; @@ -717,8 +717,12 @@ ixl_isc_rxd_pkt_get(void *arg, if_rxd_info_t ri) if ((scctx->isc_capenable & IFCAP_RXCSUM) != 0) rxr->csum_errs += ixl_rx_checksum(ri, status, error, ptype); - ri->iri_flowid = le32toh(cur->wb.qword0.hi_dword.rss); - ri->iri_rsstype = ixl_ptype_to_hash(ptype); + fltstat = (status >> I40E_RX_DESC_STATUS_FLTSTAT_SHIFT); + if ((fltstat & I40E_RX_DESC_FLTSTAT_RSS_HASH) == + I40E_RX_DESC_FLTSTAT_RSS_HASH) { + ri->iri_flowid = le32toh(cur->wb.qword0.hi_dword.rss); + ri->iri_rsstype = ixl_ptype_to_hash(ptype); + } if (status & (1 << I40E_RX_DESC_STATUS_L2TAG1P_SHIFT)) { ri->iri_vtag = le16toh(cur->wb.qword0.lo_dword.l2tag1); ri->iri_flags |= M_VLANTAG;