From nobody Thu Oct 29 06:43:21 2026 X-Original-To: dev-commits-src-branches@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 4jFZSB14FGz6xty2 for ; Thu, 29 Oct 2026 06:43:22 +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 4jFZS95jrnz3Nt3 for ; Thu, 29 Oct 2026 06:43:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793256201; 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=yqLZtXB+Oe3bgVbabCQf+lXUXNY0EprWQR/wCgjr0Mc=; b=jg0eknkl/7KSx/8JG3rLnIVUCuDKa3Uv3eEJJq9ZBrIcCT15HWQelJgZ1G0nU/4rqPcSnj 6QmlSbRxgoQkAyDZksLWPd7KjZr4gBZHrnAGm9y6ALq5hDUCA2zo7w0kREifAV0phbhTrJ QVBq7ulrKOyQ578kipRDun45Zthu80T2pRZWd4iFslwmMhC9GXrOeL0A4O192D5X2ufMH6 oppz7fSSQ5rAZgGGceWn3lfB+CBPuS/PJEgHmOV2YleWeYh5W/FB5rOWaJDlm9C2s+2y+o m0JNELGB/vvdIDS8QJldDRZPc3oLTKUeDPkoKNWfYRLGdDmMopID4tMm6CeIEA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793256201; b=siHDVnjVzkK0ZagDqskamPKL5GkC6/RAeSNS8daPcL50wFftSlGY0p3+LGkKVSX8o1tZjP IgLy6wRz0gM9fBvV7NTFdm+YmWC9itfx9vaOCGQucf+kwWYv1Rvg+DZyjMcK3Is7uGKtqE weL40koYYwEDKKezee60EZIzGjm5fQrJ8gXAKzwUyx3tEUkyQFy5iUnActCdbmANXFINg/ iF3/YaCfYkxuYVllpxmEQzFVnJsG/r99srKsG9Tq2YtG+wFmj/+39xCsQmZLSDS5XqJoao dx2ft4ti19pKS4tXDHJD6C3AqAaC4MlHUiDBezIUtNJMbDhp6Htc/psD773naQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793256201; 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=yqLZtXB+Oe3bgVbabCQf+lXUXNY0EprWQR/wCgjr0Mc=; b=ihIXxJR3Y40Dukc4f8BpoxWI2LdwEvLCewAcQlMms8qyMKwSsRyE+ZQawRZJWkrpGxM/7k PLiAJIvMSShlwyYFB5edjwsb9Ijlw95u5DwCLdBH40mxstwfEzr3Nna96k/KY37PnXw/AD t1l4gmau4Lc2ut3+3+lLLB1XsDNOeIvRXucoG59/aB+W0s6qPu0WG6bS/34EnT11PatxUL kcyIuV+Nhx/q1ouHPqynvERepYiqFJ5PCIPSkQqCQCmyUtb66YADQ1Z8NuAxwqGD0rJ2ae ay4ZP3j+HFr8pHcmmClRKlCvQxMC7DPBvzgGlIEkqNqU2B3dyor5Qz2yQbk+GQ== 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 4jFZS91nmFzRjL for ; Thu, 29 Oct 2026 06:43:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3f459 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 06:43:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 973c1b8ccdca - stable/15 - hn: Handle unavailable VF RSS configuration List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: Commits to the stable branches of the FreeBSD 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: 973c1b8ccdcacd0b1b3fa6d8f01eb4304c96dc0d Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 06:43:21 +0000 Message-Id: <6ae2eb09.3f459.93c2532@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=973c1b8ccdcacd0b1b3fa6d8f01eb4304c96dc0d commit 973c1b8ccdcacd0b1b3fa6d8f01eb4304c96dc0d Author: Kevin Bowling AuthorDate: 2026-09-15 00:15:12 +0000 Commit: Kevin Bowling CommitDate: 2026-10-29 06:42:24 +0000 hn: Handle unavailable VF RSS configuration Treat unsupported RSS queries and RSS_FUNC_NONE as normal reasons to suppress synthetic receive hash metadata. Keep diagnostics for other errors and invalid configurations. Also suppress hash metadata when reconfiguring synthetic RSS fails, since the VF and synthetic settings cannot then be assumed to agree. Correct the hash-query diagnostic name. Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59691 (cherry picked from commit 001332bdc11e2d72408bb5b815dcc9ffe8b6f5d3) --- sys/dev/hyperv/netvsc/if_hn.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/dev/hyperv/netvsc/if_hn.c b/sys/dev/hyperv/netvsc/if_hn.c index 6d9953dd2217..08551ea02ab1 100644 --- a/sys/dev/hyperv/netvsc/if_hn.c +++ b/sys/dev/hyperv/netvsc/if_hn.c @@ -1590,10 +1590,13 @@ hn_vf_rss_fixup(struct hn_softc *sc, bool reconf) strlcpy(ifrk.ifrk_name, if_name(vf_ifp), sizeof(ifrk.ifrk_name)); error = ifhwioctl(SIOCGIFRSSKEY, vf_ifp, (caddr_t)&ifrk, curthread); if (error) { - if_printf(ifp, "%s SIOCGIFRSSKEY failed: %d\n", - if_name(vf_ifp), error); + if (error != EOPNOTSUPP) + if_printf(ifp, "%s SIOCGIFRSSKEY failed: %d\n", + if_name(vf_ifp), error); goto done; } + if (ifrk.ifrk_func == RSS_FUNC_NONE) + goto done; if (ifrk.ifrk_func != RSS_FUNC_TOEPLITZ) { if_printf(ifp, "%s RSS function %u is not Toeplitz\n", if_name(vf_ifp), ifrk.ifrk_func); @@ -1612,10 +1615,13 @@ hn_vf_rss_fixup(struct hn_softc *sc, bool reconf) strlcpy(ifrh.ifrh_name, if_name(vf_ifp), sizeof(ifrh.ifrh_name)); error = ifhwioctl(SIOCGIFRSSHASH, vf_ifp, (caddr_t)&ifrh, curthread); if (error) { - if_printf(ifp, "%s SIOCGRSSHASH failed: %d\n", - if_name(vf_ifp), error); + if (error != EOPNOTSUPP) + if_printf(ifp, "%s SIOCGIFRSSHASH failed: %d\n", + if_name(vf_ifp), error); goto done; } + if (ifrh.ifrh_func == RSS_FUNC_NONE) + goto done; if (ifrh.ifrh_func != RSS_FUNC_TOEPLITZ) { if_printf(ifp, "%s RSS function %u is not Toeplitz\n", if_name(vf_ifp), ifrh.ifrh_func); @@ -1713,11 +1719,11 @@ hn_vf_rss_fixup(struct hn_softc *sc, bool reconf) if (error) { /* XXX roll-back? */ if_printf(ifp, "hn_rss_reconfig failed: %d\n", error); - /* XXX keep going. */ + mbuf_types = 0; } } done: - /* Hash deliverability for mbufs. */ + /* Do not expose hashes unless the VF and synthetic settings agree. */ hn_rss_mbuf_hash(sc, hn_rss_type_tondis(mbuf_types)); }