From nobody Fri Sep 18 22:50:54 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 4hmnsf4D4Jz6t5Xt for ; Fri, 18 Sep 2026 22:51:02 +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 4hmnsX4l4wz57kt for ; Fri, 18 Sep 2026 22:50:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789771862; 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=vkhxzkeY8OyOXu2VG1MSam/XXGb6kucHTCyJrXJWhss=; b=vbLOVKNGgcLWSrNwkmdXEFa7rBYdHBBPrbaWA/1Oy+gYJwAWt7TU218qnFamZl5VEfz1im xg2vf+JNFoEDnWGaXxSz0fteuKwkbnL93spxGbgAxLV8f4qJJT9v0abf4UxygAIApKtKr6 kFdTELD+ittL4A47QATVgbsRP+t/xwVGEOYy6Oafw/sOEkGuGpO0ss4McvTr5dtKt7kfq1 TSLpd+wPeB6UKl77FUYQBzLAcQDqgtixt9AK5LVz9DWOmn73vk8bXptb5SV5ne3P75efqQ 1oPfXqAz2mukWbRgdIgcQ5kASGcrv+wCV2ppkh2vAX8oWFf6DowIST3snk1eQw== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789771861; b=nHFQESBGauEWrWQHHnIu4OrOlaqiOWw9ct37nPzZMGHhhBAzQeMuxp2cQw1gCPk8NxIR76 a+Xtrs5wu12yUGT7qmZHgGclh2EwVl3GZ2CNsCI2BniC+MWjpRiARiZagw1lhWcjW/AF20 /cxcUyxG1MMmilh2lk+Gk7QJBRICez1+VC6T0k4qAcEdyJOVBZtjEX3CBH9is0/5Su1ODJ khM22eJTvtlhyjbrwZy21W4fv8wgwqxktdDGArVU1iVrDZnVCxydPxxmkjYBMpFxk7wxzR INxMQBp/nneBmKL1+dnPt+3DH7qFwdyhpCdkWdUDof91P7WaNSuKrk1AQaZhYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789771861; 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=vkhxzkeY8OyOXu2VG1MSam/XXGb6kucHTCyJrXJWhss=; b=HZS9PyYsl20NSRcj8eYIEgJV0kRf8EWaN/z3bVG7coEm4MNmUhQ+JY5VCNOSy96iO1VHOK tIQfq7YeAD0VYZUN1IIP21vhBzQxeQ6Mn2PG2DHNzF4AIMNkBQAhGRUePrZbf5GwAhkgfI qxMdLthmFbQMiGUo3wLUsJe7y3TBkYR287rdThjLAE7ZkPaBdIatqL2kH8Z89RGKdXj44S 0cnCoFetEF9wuX4xJZcEPNqzE0YVqrgxf2m6QqOj/ey0FI5dQGBrVCMbZJ5wMmt8ncdcjE ZfpputBkVgWcslUiQERMkr6wYfPtKkhcGuK/vdRtEt+EsMd+YQMngsoTIZ33tw== 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 4hmnsV4W9XzfrF for ; Fri, 18 Sep 2026 22:50:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 24888 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 18 Sep 2026 22:50:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: a666f1564501 - main - e1000: Use the common RSS key for 82574 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/main X-Git-Reftype: branch X-Git-Commit: a666f1564501734d3d7ec05ab516e40309e81454 Auto-Submitted: auto-generated Date: Fri, 18 Sep 2026 22:50:54 +0000 Message-Id: <6aadc04e.24888.688e41b8@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=a666f1564501734d3d7ec05ab516e40309e81454 commit a666f1564501734d3d7ec05ab516e40309e81454 Author: Kevin Bowling AuthorDate: 2026-09-18 08:29:16 +0000 Commit: Kevin Bowling CommitDate: 2026-09-18 22:50:45 +0000 e1000: Use the common RSS key for 82574 Use rss_getkey() in the older em multi-queue RSS path, which is reached by 82574 with two receive queues. This replaces a private key generated on each initialization and matches the common-key policy already used by the igb path. Decode each register word with le32dec() and remove the private assembly macro, avoiding signed integer shifts while preserving the register byte order. Leave the redirection table and hash fields unchanged. This does not change single-queue em devices or PF-owned igb VF RSS settings. Reviewed by: erj, gallatin MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59792 --- sys/dev/e1000/if_em.c | 6 ++++-- sys/dev/e1000/if_em.h | 5 ----- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 9e4d3e8cfda2..eac1798c9d25 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -5231,11 +5231,13 @@ em_initialize_rss_mapping(struct e1000_softc *sc) /* * Configure RSS key */ - arc4rand(rss_key, sizeof(rss_key), 0); + _Static_assert(sizeof(rss_key) == RSS_KEYSIZE, + "RSS key size mismatch"); + rss_getkey(rss_key); for (i = 0; i < RSSKEYLEN; ++i) { uint32_t rssrk = 0; - rssrk = EM_RSSRK_VAL(rss_key, i); + rssrk = le32dec(rss_key + i * sizeof(rssrk)); E1000_WRITE_REG(hw,E1000_RSSRK(i), rssrk); } diff --git a/sys/dev/e1000/if_em.h b/sys/dev/e1000/if_em.h index e73d359de19a..c0934b65cb1f 100644 --- a/sys/dev/e1000/if_em.h +++ b/sys/dev/e1000/if_em.h @@ -791,9 +791,4 @@ typedef struct _em_vendor_info_t { void em_dump_rs(struct e1000_softc *); -#define EM_RSSRK_SIZE 4 -#define EM_RSSRK_VAL(key, i) (key[(i) * EM_RSSRK_SIZE] | \ - key[(i) * EM_RSSRK_SIZE + 1] << 8 | \ - key[(i) * EM_RSSRK_SIZE + 2] << 16 | \ - key[(i) * EM_RSSRK_SIZE + 3] << 24) #endif /* _EM_H_DEFINED_ */