From nobody Fri Sep 18 22:27:18 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 4hmnLH2d9nz6t4QB for ; Fri, 18 Sep 2026 22:27:19 +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 4hmnLG5yR6z537w for ; Fri, 18 Sep 2026 22:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789770438; 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=71hEFslamRXrX47dWNDn5e4fh1fvYh5E0bQ4LGiR29U=; b=YBW1Pkm4CMiSBcjQIsi1DLgzl7qEFJAak5n90HrwM1/AC0S/eykf23FqoVJtGzF08zHWhq KIcCGNdDyoF5vCo533OhtGZVPbQYJHPELeVe3aeTwGouNvIuX31wkF8dQMYUtiKNM5xC+g iZzhIXYsonz5E+ZZBUUsqPRofSM+ygFiWx/1NxF4wZT8p9IdEOcGW5rJU2tsfJENdoRHux yFiZvTOaoL+X7Hf5GcergGnxxmf4SA1uR+9rLXlSptEqKP+zehQ0mUqi3/dvwEaRFwwzny pSK25BYOp0bzdo24ifptCfLLj0HZu/SVKBOlH/a0fMnWmqYyENjc/4YuuBt2/w== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789770438; b=KhVBd0kzdsAS7LGIds1Mj+FGvYgFiKmAps/EHKl8oZYiTFRJZPozjo+eMYCOjxfBT1WdgL zImRWC48EZSbr3y44Tn+yF91jpGwlUAde1yQUseJk2JM+0kZybMP5z12j7ZL6QKd7k8NYD h4FW2yJj3ulJHmkH1znqJkTmPk81b7KrRleNcqbvpFVVvzCNnfjIc5SFzfJcgUBXVBwdrf uSEEaCl3JVQtxF6s5Y7oyv8reJqSgANzU8nm1y0idorcgHdl9sSTxGiDXC/GqELrAa1/qa aXd2O9pSDpZjYI72a7HwJesOgvO2m1QpHdB9vCbD0yLPodw8ehS6pgzEDQ4/lg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789770438; 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=71hEFslamRXrX47dWNDn5e4fh1fvYh5E0bQ4LGiR29U=; b=BzvBAxTRcqjU0SfQwkIT+Cu6qggEKZ0549WAnAwv7gcvS1z+ytDA/hYuShOb41IElPMGJE pR6knMAVJO9R86evLwQ6aTW6xW6KbIdQIEebzHBmkpKuM8e2PLaY4TRhxYIKb5t+UdxN2e 1b6F/bp/M28X0LVcQ7ABkrfp0oY9Rr5YJfYdIFfTvsX1jnro1C6wXFnxLa1t8rT6VnWqyE NQmLVWhvlxjimsNE3UeZHitrwLHoQh3Ea25o30noPkS/wFWLOMpfK1nMLVQfOTaKl6TdsM fHrhQJfXt2nZm72cLAvKQQsKE7g3KYYY0oNMnS9kySO22ciKo7+TTc1AvTQ5NQ== 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 4hmnLG523PzfJY for ; Fri, 18 Sep 2026 22:27:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 20356 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 18 Sep 2026 22:27:18 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 001332bdc11e - main - hn: Handle unavailable VF RSS configuration 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: 001332bdc11e2d72408bb5b815dcc9ffe8b6f5d3 Auto-Submitted: auto-generated Date: Fri, 18 Sep 2026 22:27:18 +0000 Message-Id: <6aadbac6.20356.4cd868b0@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=001332bdc11e2d72408bb5b815dcc9ffe8b6f5d3 commit 001332bdc11e2d72408bb5b815dcc9ffe8b6f5d3 Author: Kevin Bowling AuthorDate: 2026-09-15 00:15:12 +0000 Commit: Kevin Bowling CommitDate: 2026-09-18 22:25:58 +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. MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59691 --- 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)); }