From nobody Fri Aug 7 14:35:34 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 4hGmsS1Fxhz6nBqd for ; Fri, 07 Aug 2026 14:35:40 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hGmsS0c6Kz3WX6 for ; Fri, 07 Aug 2026 14:35:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786113340; 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=0hwdI8nvK8f3Uv1KRrROjy1nhFuoPjiJ48PMhxWY1Ps=; b=GBf/c9sH9G54DdiRsHa4DrCZEuyP20WoueU/hypMmA4aIRaIi3lYKmojdMX4+6vgwjmbKr ixvM1PZWmaTwPWjLD6rqebJZfnYVyh2l0ryQEwVakwx5O1dwH4SmELvREvXOYidBYPkxxf alONocwUmxz0/NHAPdPRYZ+vy+/XhmpanbjJx7k1wWH0y/BwcBOgG61y9D3l2Aw4FfGPRc kzCKubPdTzO3EdjY1qgBXAh6qVKJyLnqw0QQVy5u0j5ikUye5RoBSa4ALiqxl7RZp/FwDg 75vBb+Q8mF7TKrL4PZJk0HKfLl6o6HGnsSPeA7FEjHV2iF1orgXbUK2XFSuyMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786113340; a=rsa-sha256; cv=none; b=TW54Qlh6faIZdJBiO1Hq4M0SZ2BL7ydyzszgZwfUtgsGvY1j71HC1qdBKBhvHMllK4BgI0 3+5vlqkbGcqgT7Vn/pXDck8YiJy1myf6NCJbyQ5SBAAZj5lh9Fz/y/sQubIwVKNie24A3i bOucubaqCs5Lyk52UYbdPSNeIwqOq8SQj3Osr8ITqDRZRmhxqJt9dmcUQ7yh40fNZYMWAL VKYavsVHwS3TSOjVsqR7X2jgTV+PgrnwXePi3UUYgZIj4S+0FTec7PFgqJOzaS4Uepa12W OQJsy9A1wE7omX6cUsFUnJKy+jMKYeEl9VT98cfYu+MueNvS93uVl7myafSSdA== 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=1786113340; 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=0hwdI8nvK8f3Uv1KRrROjy1nhFuoPjiJ48PMhxWY1Ps=; b=U4zvDdf8YeCgIU+5eI0G08Dg1+UQNj8Q/o2EnAI/UjJ2Ke+EjSblr6i/52FEsfzPAZhbUT FmvKgaKOD7Cbn5gMskVypBgbNiJ1DqNj1Abaj8M0ouSOBJ+YWDr7lf07rqGm2u0Ad9shcs tkz4G6yi53cXaMOhirMJjQZkmMXomlSxHqaCDPkS3YwzqepMMWWYEWlJNcZ3c1zDNBQWdl unQelb/Cz/GzQSLV4m3LRpFrMQqyaV9yV4pwR2T1jMarzqsvUcDTFNbSOqrAQFuK22g8tw KvV3rFxRay2+5QQ7crxIhx2sPL71z3XVEXhGmGhCTcqRJ3D1IYB5Bv6qH8QDzQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hGmsR6km9z1B1l for ; Fri, 07 Aug 2026 14:35:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 45a1d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 07 Aug 2026 14:35:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 2a803e6f349c - main - ixgbe: Use PF MTU for 82599 VF jumbo policy 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: 2a803e6f349c3d6cf770089f8a71bc5139308465 Auto-Submitted: auto-generated Date: Fri, 07 Aug 2026 14:35:34 +0000 Message-Id: <6a75ed36.45a1d.f1d997d@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=2a803e6f349c3d6cf770089f8a71bc5139308465 commit 2a803e6f349c3d6cf770089f8a71bc5139308465 Author: Kevin Bowling AuthorDate: 2026-08-05 14:14:44 +0000 Commit: Kevin Bowling CommitDate: 2026-08-07 14:29:42 +0000 ixgbe: Use PF MTU for 82599 VF jumbo policy The shared maximum frame size is raised by VF LPE requests, so it cannot describe the PF MTU when enforcing the 82599 PF/VF jumbo restriction. Consult the PF ifnet MTU instead. Also correct the API 1.1 and later comparison so a jumbo VF is enabled when, and only when, the PF itself uses a jumbo MTU. This matches the policy implemented by DPDK. MFC after: 2 weeks --- sys/dev/ixgbe/if_sriov.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/sys/dev/ixgbe/if_sriov.c b/sys/dev/ixgbe/if_sriov.c index 32b4935e3b44..af0027a073c8 100644 --- a/sys/dev/ixgbe/if_sriov.c +++ b/sys/dev/ixgbe/if_sriov.c @@ -491,6 +491,9 @@ ixgbe_vf_clear_mac_filters(struct ixgbe_softc *sc, struct ixgbe_vf *vf, static boolean_t ixgbe_vf_frame_size_compatible(struct ixgbe_softc *sc, struct ixgbe_vf *vf) { + if_t ifp; + bool pf_jumbo; + /* * Frame size compatibility between PF and VF is only a problem on * 82599-based cards. X540 and later support any combination of jumbo @@ -499,6 +502,10 @@ ixgbe_vf_frame_size_compatible(struct ixgbe_softc *sc, struct ixgbe_vf *vf) if (sc->hw.mac.type != ixgbe_mac_82599EB) return (true); + /* sc->max_frame_size includes VF requests; use the PF's actual MTU. */ + ifp = iflib_get_ifp(sc->ctx); + pf_jumbo = if_getmtu(ifp) > ETHERMTU; + switch (vf->api_ver) { case IXGBE_API_VER_1_0: case IXGBE_API_VER_UNKNOWN: @@ -506,8 +513,7 @@ ixgbe_vf_frame_size_compatible(struct ixgbe_softc *sc, struct ixgbe_vf *vf) * On legacy (1.0 and older) VF versions, we don't support * jumbo frames on either the PF or the VF. */ - if (sc->max_frame_size > ETHER_MAX_LEN || - vf->maximum_frame_size > ETHER_MAX_LEN) + if (pf_jumbo || vf->maximum_frame_size > ETHER_MAX_LEN) return (false); return (true); @@ -526,10 +532,7 @@ ixgbe_vf_frame_size_compatible(struct ixgbe_softc *sc, struct ixgbe_vf *vf) * Jumbo frames only work with VFs if the PF is also using * jumbo frames. */ - if (sc->max_frame_size <= ETHER_MAX_LEN) - return (true); - - return (false); + return (pf_jumbo); } } /* ixgbe_vf_frame_size_compatible */