From nobody Thu Oct 29 06:49:04 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 4jFZZm5dFsz6xvZX for ; Thu, 29 Oct 2026 06:49:04 +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) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jFZZm3978z4BGG for ; Thu, 29 Oct 2026 06:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793256544; 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=c7YpjU9XT+RH9vwNE5+3Q6ew9xpS+vn5DmMSNIwKKu8=; b=geKrxoP6DOKj7POpgmQuww6M65W8GBJbiLkDlo4MMsjHTm1sD/adHXq8KUCY4bydU0MIsn hB6TEH/1WAdvhtV+8uAVHRNj2y1icLBObq5AeT6McApYMC+4TuuB7OSuudR1q96HJ5NZbB dQ8kbhqFXrXY5b87DotWL0tgSIabenFr+SY5dqrzr/Z2PK0Ww5lSJJUMJHpJ91PeQPkV2/ EEDXrQsoo1yBazJd34GplkQk0n7K6j+H8OiuflKAabv771u3C0F3KCOgkZS+rFIx5b0xT1 1dzoOxTxF0LnClyxetXhMOdBV33HMcahCZmXJynxpk7tEvhPZmpCVOyg0DDQEw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793256544; b=erhIvhP/LfycqJB2R5jHbPYVZWCAlAsvFnNSgtP3I99bor5TBypIaWValQCTHq/UJ5t6AN FZpd/iFwC+2p37el5AB/TvRqbWz4yqSBnHqK0jzV5SdTNqzCDMseYCNuDRBdryfuOunSNN 5Ev4l1lMX6lvGSEf5VpeF/OmW7BNJ4a7I5tPFnAk6rbvm7FEJtevViT0WAoej535AybQmQ 1uS9p3RDdrVrUl0JMMV/wOaUhtWsEyqsryS78nAveMJ4JmRmwjGTz8RBirtV3MtML6yJQ9 cJT1I1bNCHBiAcnvM1MwVncBDRPEP8272ECgA3J8xY8vDB2I8CQmeJY48VY62g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793256544; 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=c7YpjU9XT+RH9vwNE5+3Q6ew9xpS+vn5DmMSNIwKKu8=; b=rYY7DcBiPmw5NqbkJuwQLXt+frDeCyR0iOarEC1/phyCHG1AUfE8XNW6JvXNocgCIdRX4W CKdsWytQisfOgnqR3oB6EbNFu+qxnOIuYmjTT9Z0SGY6YZi02gavuj8btEekcm1NSg42Za t9T/vtRvY09SldJO/b6ueuAZk3Ume28SdJ4g3GfIB9OMZK1fQUkhMbJ8vU7XQNHjwX5unS CdIMGtXGSiOdb/kJ3NcSEQ0oM4ykVj8HFLh3c8EIilA13sdfGOSWRqdP1ufX8MZyIJmYYK +cVlbW2KeQFJvsk1wNy9e3LWMhfY8sZlFMZX1NEGVzFuHIo1HX4lOECCfJu2Ig== 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 4jFZZm2Wt0zRqy for ; Thu, 29 Oct 2026 06:49:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ea55 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 06:49:04 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: eae583d6c280 - stable/15 - qlxgbe: Derive the mailbox RSS key from the common key List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: Commit messages for all branches of the src repository 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/15 X-Git-Reftype: branch X-Git-Commit: eae583d6c2809e45ee456c7067b6049a2544bbb9 Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 06:49:04 +0000 Message-Id: <6ae2ec60.3ea55.709fabe0@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=eae583d6c2809e45ee456c7067b6049a2544bbb9 commit eae583d6c2809e45ee456c7067b6049a2544bbb9 Author: Kevin Bowling AuthorDate: 2026-09-18 08:29:21 +0000 Commit: Kevin Bowling CommitDate: 2026-10-29 06:47:29 +0000 qlxgbe: Derive the mailbox RSS key from the common key Replace the embedded key with rss_getkey(), retaining the firmware's reversed 64-bit word-pair order and low-word-first layout within each pair. The common default produces the same mailbox key as the existing constants, while configured common keys no longer get ignored. Leave the RSS enable flags, hash types, and indirection policy unchanged. Reviewed by: gallatin Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59801 (cherry picked from commit 30fdef26de87516dbdd1dd5e3031a57ba8759437) --- sys/dev/qlxgbe/ql_hw.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/sys/dev/qlxgbe/ql_hw.c b/sys/dev/qlxgbe/ql_hw.c index 92044822e99f..e5c4a611670f 100644 --- a/sys/dev/qlxgbe/ql_hw.c +++ b/sys/dev/qlxgbe/ql_hw.c @@ -35,6 +35,7 @@ #include #include "ql_os.h" +#include #include "ql_hw.h" #include "ql_def.h" #include "ql_inline.h" @@ -1612,14 +1613,10 @@ qla_config_intr_cntxt(qla_host_t *ha, uint32_t start_idx, uint32_t num_intrs, * Name: qla_config_rss * Function: Configure RSS for the context/interface. */ -static const uint64_t rss_key[] = { 0xbeac01fa6a42b73bULL, - 0x8030f20c77cb2da3ULL, - 0xae7b30b4d0ca2bcbULL, 0x43a38fb04167253dULL, - 0x255b0ec26d5a56daULL }; - static int qla_config_rss(qla_host_t *ha, uint16_t cntxt_id) { + uint8_t rss_key[RSS_KEYSIZE]; q80_config_rss_t *c_rss; q80_config_rss_rsp_t *c_rss_rsp; uint32_t err, i; @@ -1648,8 +1645,16 @@ qla_config_rss(qla_host_t *ha, uint16_t cntxt_id) c_rss->cntxt_id = cntxt_id; - for (i = 0; i < 5; i++) { - c_rss->rss_key[i] = rss_key[i]; + _Static_assert(sizeof(c_rss->rss_key) == RSS_KEYSIZE, + "RSS key size mismatch"); + rss_getkey(rss_key); + /* Reverse the word pairs, retaining low-word-first mailbox ordering. */ + for (i = 0; i < nitems(c_rss->rss_key); i++) { + const uint8_t *key = rss_key + sizeof(rss_key) - + (i + 1) * sizeof(uint64_t); + + c_rss->rss_key[i] = (uint64_t)be32dec(key + sizeof(uint32_t)) + << 32 | be32dec(key); } if (qla_mbx_cmd(ha, (uint32_t *)c_rss,