From nobody Thu Oct 29 05:00:23 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 4jFX9N0xQkz6xm7J for ; Thu, 29 Oct 2026 05:00:24 +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 4jFX9N0K08z4dHD for ; Thu, 29 Oct 2026 05:00:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793250024; 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=zcSOo4PapahJoMzAqFr4Uqg6Se2w8/5zof8BwrEIUMs=; b=EMOjPOulLmOqD0yyTf2kf4yh8ob0ubiuyvaWiApgOV53l2HyK311rPtXcg0B5KoNHIZ2V0 EGWoFTmTwkM4uyJWo4dMNd2xIYT2CPOSQBEQ+gfHXYHLLdxkISsrX3yoB1qzZOm3tLSc6v pkCPgf6fuB3cgjsl73XuWTXJiRIcwuSuGjzLzGTkmUXBrpMftzNuxXvC6pBDAewyYwKMqb MX8Fg9aBso2mefUMDcwKwzhGtDdg8G+VlVfBTH177z2DqDVpszVSKQ69wwHijEtjdPxB2u EJk0tobBdDz0HeBWryWcyFXkMwwBSrH7uiNaHIkODlNThlQQrCNK/g8M+Po83w== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793250024; b=bpa8lYnhm+yfgeohOuZyZSpb38SoZ7kHnZMCBglyD/GnQlj3h60PJMnWEFBsuDEP0GDL31 Bp2iggDnl3jK8Gao1SjWr9IVqMBg/vx2mEbl2ntsEyAe+c5D2qt6+HGgDhzsuNtFP99S9g 4MDKmK0UDGKJP0aJ7JY0UzJHwFmMtMwMMUwFIxBp3aHlFaRw09+uN+meL9A/20My0l+3E2 SiDslOAg/CI3fKy7W5rmWZ9twEQpDdhwiT+hj6iBhMIP9n8aK5S4LnxlaiC6BpouQ6qyb7 0S1PQhhnY0AvdyWPSCPw8GJ48yZe3LANUJiYl07pQu+2hLXpMId0STXAW5SPhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793250024; 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=zcSOo4PapahJoMzAqFr4Uqg6Se2w8/5zof8BwrEIUMs=; b=nHbuVup1ZX/SptKXoZWQ07TXwvyF6sR+SpQaFWekSfvd39M6h8Mmnz5NG71aUH6VjJsGcl 5QP75Fah1u3qgg/LCW1qRg5Ftr5ncU7U1Xqc4iuuXpaHhhxAoR0hofFpmsvLt4dulu5HcV q07ld0XL+z0MkWovOpFYR45K4EN+P6/YoC/zOA+1GKuX2MlwGb12oXFwvmRWKVzVGaybO+ IUNF8vR/DO+CUp8aNd/Vm10KEnp9DnOwMCCReyhriHbnL4sr21MfoxPgKWztpsKK7qfchZ yK3kkTqqM5VzmdmTRf+0zzCY6luuvobjJvNDxZ73b+ei8OtimnpV/TinjxrXaw== 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 4jFX9M74k3zP08 for ; Thu, 29 Oct 2026 05:00:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3379f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 05:00:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 2adc1aee828b - stable/15 - ice: Use the mirror interface softc in PF callbacks 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: 2adc1aee828bfe74e83c672c933e12035daf7d3b Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 05:00:23 +0000 Message-Id: <6ae2d2e7.3379f.ae8578f@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=2adc1aee828bfe74e83c672c933e12035daf7d3b commit 2adc1aee828bfe74e83c672c933e12035daf7d3b Author: Kevin Bowling AuthorDate: 2026-09-07 13:43:20 +0000 Commit: Kevin Bowling CommitDate: 2026-10-29 05:00:12 +0000 ice: Use the mirror interface softc in PF callbacks PF iflib callbacks receive struct ice_softc, not struct ice_mirr_if. Resolve the mirror interface through sc->mirr_if before checking or resetting subinterface state. Use the same mirror softc when rebuilding its VSI. This records the required subinterface reset in the state consumed by the PF callback, rather than overlaying the PF softc and leaving rebuilt queues stopped. Sponsored by: BBOX.io (cherry picked from commit 33be59b660befb13cdcc38e52b1c9b4119a6a069) --- sys/dev/ice/if_ice_iflib.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sys/dev/ice/if_ice_iflib.c b/sys/dev/ice/if_ice_iflib.c index a507eea5ea4b..be4e45370f4b 100644 --- a/sys/dev/ice/if_ice_iflib.c +++ b/sys/dev/ice/if_ice_iflib.c @@ -2069,12 +2069,13 @@ ice_update_rx_mbuf_sz(struct ice_softc *sc) static void ice_if_init(if_ctx_t ctx) { - struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx); + struct ice_mirr_if *mif; struct ice_softc *sc = (struct ice_softc *)iflib_get_softc(ctx); device_t dev = sc->dev; int err; ASSERT_CTX_LOCKED(sc); + mif = sc->mirr_if; /* * We've seen an issue with 11.3/12.1 where sideband routines are @@ -2163,10 +2164,11 @@ ice_if_init(if_ctx_t ctx) ice_set_state(&sc->state, ICE_STATE_DRIVER_INITIALIZED); - if (sc->mirr_if && ice_testandclear_state(&mif->state, ICE_STATE_SUBIF_NEEDS_REINIT)) { + if (mif != NULL && ice_testandclear_state(&mif->state, + ICE_STATE_SUBIF_NEEDS_REINIT)) { ice_clear_state(&mif->state, ICE_STATE_DRIVER_INITIALIZED); - iflib_request_reset(sc->mirr_if->subctx); - iflib_admin_intr_deferred(sc->mirr_if->subctx); + iflib_request_reset(mif->subctx); + iflib_admin_intr_deferred(mif->subctx); } return; @@ -3144,10 +3146,11 @@ ice_if_vlan_unregister(if_ctx_t ctx, u16 vtag) static void ice_if_stop(if_ctx_t ctx) { - struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(ctx); + struct ice_mirr_if *mif; struct ice_softc *sc = (struct ice_softc *)iflib_get_softc(ctx); ASSERT_CTX_LOCKED(sc); + mif = sc->mirr_if; ice_led_restore(sc); /* @@ -3196,8 +3199,9 @@ ice_if_stop(if_ctx_t ctx) !(if_getflags(sc->ifp) & IFF_UP) && sc->link_up) ice_set_link(sc, false); - if (sc->mirr_if && ice_test_state(&mif->state, ICE_STATE_SUBIF_NEEDS_REINIT)) { - ice_subif_if_stop(sc->mirr_if->subctx); + if (mif != NULL && ice_test_state(&mif->state, + ICE_STATE_SUBIF_NEEDS_REINIT)) { + ice_subif_if_stop(mif->subctx); device_printf(sc->dev, "The subinterface also comes down and up after reset\n"); } } @@ -4036,7 +4040,7 @@ fail: static int ice_subif_rebuild(struct ice_softc *sc) { - struct ice_mirr_if *mif = (struct ice_mirr_if *)iflib_get_softc(sc->ctx); + struct ice_mirr_if *mif = sc->mirr_if; struct ice_vsi *vsi = sc->mirr_if->vsi; int err;