From nobody Mon Aug 24 00:58:35 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 4hSswr2hz3z6q2YH for ; Mon, 24 Aug 2026 00:58:36 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hSswq6CPgz45fY for ; Mon, 24 Aug 2026 00:58:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787533115; 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=pAlRp/yCXluWbL0nYfaYs6xJXMB+zbAYJtnSIs+APJs=; b=vl8HxZFHPI5FhLciVPQ9Xuu648MNk1G8ymPHtsN5AHLLU4uuF7OoQTkGGiQGBMV9NFVsbE BXB3KjK3QVdHeLEBjwwGOdItP5hZnYY5UGSy8lJ6bBjWRP+fvi5pMItPS7njvXyxYUMgCu OQW4qSV3fQzFax1oSa5dBhWQ7EXJ+lihwUaZx2xn6LyKVRy+6GFlNhwS+5fTL5Z5wTehqc yI0B8ZxrfHq7iu0ePrDbNCef5s3A9blG82FIrmwbIAQoMtuOJW0xDgLvu9UDI061Bn9077 533bjhQAfahfkZntm5t04K53nDUG4VQESEaLFxcsPb8pZpZGXsww7RXxHxHqdw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787533115; a=rsa-sha256; cv=none; b=LpKVJb6hFpDmVnQnoYBo9aJaTEKbU7B/3LXa9OLWuAHNTDNguH/U6O6DO+jDMMg6uxb9Aq W/8VQ3tsyXo6ABDY4Ftz5BR9a3SPDn3f60Fm89sjdEs+4FJ9Xd+tC/BdBdn9hxbdOBtepd hTaZ6m8MUzcua5Cp2vpCwPOjEsiwYlHvU03i+un6p3JuU3F0GRbKK7jZF77M5sKBqJlZ6+ P6pO3X+Ar0LbIDTVfx2wOxgnVYUw81xGZ+IEftVB0Vm2C5ZuYBvv/x9IHaA2/Eqatzd8LB uIvlXKlfce2UskccZHMf0t4d4laxbAKejNhIrn+l3+w5y8LvRlGv8ZYAFDXzMw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787533115; 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=pAlRp/yCXluWbL0nYfaYs6xJXMB+zbAYJtnSIs+APJs=; b=MOojcsbOvohQdLm18aq/ajiSq0p9uwLapRL7VI0324g5KVH/fFuucnI0Z2Notoc1GK1pXk nGxL+nqgzJm3JnGVhePfFMiR9p++WvUgQCZPan9VQhH92jUE5JScN41qqPeuR5KSpxYKLo L7dhp6GM7qgfRsB4GlxORs2gRLfR7ciEvWrkiQhS9pnMKmYktVYVZ8E63AiOITpWbz8jgF VW93AGXaRqoTMvEpl+Xrh8K0MzZZlR4PSnTsILQEZFOaG6bmscOiqiByGCDOvufuajf2uL P1K2uOI2srY98mKlTQEftiGdNumCfNgVBMC1Yyv0ah3DCriM69dvwLf1YtBElA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hSswq54ghzh8M for ; Mon, 24 Aug 2026 00:58:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 32a44 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 24 Aug 2026 00:58:35 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: f336c4564391 - stable/14 - ixgbe: Enable PF RSS across queues with SR-IOV 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 List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f336c4564391f699317326cebed69b428d9e031b Auto-Submitted: auto-generated Date: Mon, 24 Aug 2026 00:58:35 +0000 Message-Id: <6a8b973b.32a44.1e6c9d76@gitrepo.freebsd.org> The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=f336c4564391f699317326cebed69b428d9e031b commit f336c4564391f699317326cebed69b428d9e031b Author: Kevin Bowling AuthorDate: 2026-08-09 11:34:58 +0000 Commit: Kevin Bowling CommitDate: 2026-08-24 00:55:29 +0000 ixgbe: Enable PF RSS across queues with SR-IOV PSRTYPE is indexed by pool in VMDq+RSS mode, and its RQPL field selects the number of receive queues available within the pool. The PF occupies the last pool, but the driver programmed pool zero and left the PF RQPL value at zero. As a result, all PF receive traffic was directed to its first queue while SR-IOV was enabled. Program PSRTYPE for the PF pool and encode its allocated receive queue count. (cherry picked from commit 49f9143d9a37a4646c9f4ddac53b97dde04e3fa3) --- sys/dev/ixgbe/if_ix.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 3aaee0905dad..b77d48569d88 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -847,7 +847,21 @@ ixgbe_initialize_receive_units(if_ctx_t ctx) IXGBE_PSRTYPE_UDPHDR | IXGBE_PSRTYPE_IPV4HDR | IXGBE_PSRTYPE_IPV6HDR; - IXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(0), psrtype); + + /* + * In VMDq+RSS mode PSRTYPE is per pool, and RQPL controls + * how many receive queues RSS may select within that pool. + * The PF occupies the last pool rather than pool zero. + */ +#ifdef PCI_IOV + if (sc->iov_mode != IXGBE_NO_VM) { + if (sc->num_rx_queues > 3) + psrtype |= 2u << IXGBE_PSRTYPE_RQPL_SHIFT; + else if (sc->num_rx_queues > 1) + psrtype |= 1u << IXGBE_PSRTYPE_RQPL_SHIFT; + } +#endif + IXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(sc->pool), psrtype); } rxcsum = IXGBE_READ_REG(hw, IXGBE_RXCSUM);