From nobody Fri Sep 11 21:07: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 4hhRvz4z0dz6rJkJ for ; Fri, 11 Sep 2026 21:07:59 +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 4hhRvz3VPBz4RCl for ; Fri, 11 Sep 2026 21:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789160879; 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=qnvqfiTeTwJOD2iS668Jr1ud3k8ApbXRg4O+FHYY3aQ=; b=LBc9iEdiMuceWRLGOn2Ac3kOB3XsI/qb+rbLraoJLOubVTNQhVk8REO5H09nNUl6kBZjc3 OuCNcyWQ1W4U2siUQFyq6gQL63ORe10lA7RpvsU4uXuoNRb7WYfRTLYW65fotwoRrOLDK5 JLzn0VaF1S+BXrcJX2KRVThq6/bIEGdVp9y9makGGvin/PmtNduA9+H8KyXpXv7jX3JUxF lJtQdaiUgmaNRDOjEJzggBR43eQEcnUdoVrRJKDnuBvENxMN/oMT3KGFjjSPsX7sRMJ+w+ hYCVf6MaS0PxJT3FgcrR3dAEapbByr0lFQKK3bA3nvTopBq78qvjVgXj0Qrd0g== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789160879; b=xf8wO5lFPBCWOuujFiFX1ciNUqjMd7QHF250VPYfgdF2z1zqwIQlithcFXcB32IgScQ6lA aq7AgpHlsTewFb7NrwGquix7MU2jRMJhQJQ4qvReyZY2ulFN6DjhMgxdm3OtNtlCvPs/Uk sVSE3xo2AJQ/la8t6XJ1n9HHpbD/J2BFwZBtjrpuxjEb09fBvYFfh8D5j37AJrYIMAmm99 rFrzUIPa5m2fpuct26MAtOtWhSIre2izJcv2uMltINDfXk+ob106+/V6C87wsonFyHKo0k qlz1TdeJUISNNufrTxfdMil3zm3UYLu7bA+AO6sPHxPqePOcEtuuDynbv1Pwjw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789160879; 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=qnvqfiTeTwJOD2iS668Jr1ud3k8ApbXRg4O+FHYY3aQ=; b=G4bL45W+VxV+uD+On66fySzm2+c+Ih3TxRL+drl3K5Bx9O00ptLUWrZhVbp5OUXGIw1vx2 +YilWxPQI4TY38U4IoL2m1Duyxw4YWlvwQ/0uwwzGtl2mmSDsEhwqfKeQZKB4LfMoz5Pgp flGKGrHibj4Kqk6MrX0TqI4U1a50JshmlOItG2k9UA2awF+6L9lw6XcTMwsLTYV1zs+6JQ MrbuxXBFhqFhdl4PUT6bNGe6V0udkbHDb9ghC9464Q8rDnv2MeDvHE1s7AY1Ph1CH2qyiF 8LZ+I2El2N9pbA/3UWgF1d2KdLfZ3acq16gpkMjBQZiSsQnnzATa3FRQuLTkxw== 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 4hhRvz2Gp0zVJx for ; Fri, 11 Sep 2026 21:07:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3320d by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 11 Sep 2026 21:07:54 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 33be59b660be - main - ice: Use the mirror interface softc in PF callbacks 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: 33be59b660befb13cdcc38e52b1c9b4119a6a069 Auto-Submitted: auto-generated Date: Fri, 11 Sep 2026 21:07:54 +0000 Message-Id: <6aa46daa.3320d.a10df30@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=33be59b660befb13cdcc38e52b1c9b4119a6a069 commit 33be59b660befb13cdcc38e52b1c9b4119a6a069 Author: Kevin Bowling AuthorDate: 2026-09-07 13:43:20 +0000 Commit: Kevin Bowling CommitDate: 2026-09-11 20:58:35 +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. MFC after: 2 weeks Sponsored by: BBOX.io --- 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 2214be71f4de..41c34bcfc1e4 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"); } } @@ -4038,7 +4042,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;