From nobody Mon Aug 24 00:53:45 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 4hSsqG1MClz6q2PQ for ; Mon, 24 Aug 2026 00:53:46 +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 4hSsqF5pCRz3vp7 for ; Mon, 24 Aug 2026 00:53:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787532825; 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=6MfHYtk0TGN21EwvjgiA+3P3NHvLw/TOS/BtuW6h6yU=; b=ln+tKiaR0a+UP2XPdJLB/ATOfdNwSKSmp2fdTZMiaBxqR3LSxrf3uPosqhYhPWCsTs+3Ii zwv1uix/lv9ONveV2ijXmBmzARsqP4i+CDSVtOjzfMdGbYy049V0JSh4Hha4PdXDM9LtfX bevNNQRtvo6W7Q59/LMMqg4M8PNkEwQzCITx0ViZHC3eZ9SX7yeObIsZWdBNpiOeulXBhR Qtw0vpfZDA0FsxnV5c3Ly/3yz8yx6GpeXIhv16kAAuuneetDwbOKWA9jA9w6dPzPlBCWVg 6/ze5nNbT4G936oreytgygnpcQU0r/v3jeO4aAI7r6a+oF6NIknoB2fFiCZZiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787532825; a=rsa-sha256; cv=none; b=riAuOv8Bi6UkRkIEtNDuhe/PEGD5DZMN3dEGnzQuKklwKgrML9ekUdqjkFM2GLEzsiiUFF FmliIMN7Sf0LUhCUwb6Oriq69PFWp4J9FAampmRBo2k3MDhNo4mcimNbPqkqxMY2zdutvZ YtCEfUO1aVqnZvJjWSQnRaAVHoq9HQ7zpXcJ7/RtagZeAjXr+BOYPsH2N+rtSteNEHrNHI 3nXJWC+jz/7Me97CVcwJePGt8+y3dOcy//EF2Yi6FFXqzYyynBN05GyPeJAY0RxnKG5mSQ 2K79NAvELdclh0yNZGErEtGOEEyc67v/0MUTVI//6rXr5USL6TE5sRizJSS9FA== 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=1787532825; 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=6MfHYtk0TGN21EwvjgiA+3P3NHvLw/TOS/BtuW6h6yU=; b=wyQeAs+hxM64/SHea8nSM1PuZ9rr4hSIk6UKV4M9RzG/FNW617uBUaLgj1GZcChP+a7Z4b MZ5s5y0eG98lqS5G1yJBhidYRc/6b6l6IJBUOTLCdnU8FsXkJm6qkRimB3cEnx9c7XPf9r 6dT1hF9lZqcR01Tx1nYLUCGB5eCzuDEDUH9YlTXWBmUZxLvKGhEvZYt29AX4u4OGWs5+Vm i8WRh7rSTZ1lhozUHirUG7pFWLCVj5d5/OJ3mjpQD3Zt4dHPWFsrFwTSbkJITpjyP1pMsK nNUKQTgXoTChEimZuA0nYHTFPROO2TXAKK3ueU+INAwIAiFzc8K8vKF1YUkfhA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hSsqF4f1Qzj3q for ; Mon, 24 Aug 2026 00:53:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 31c34 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 24 Aug 2026 00:53:45 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 7ea168178477 - stable/15 - ixgbe: Restore missed packet accounting 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 7ea168178477c211dc288e7e04165dca53f6a307 Auto-Submitted: auto-generated Date: Mon, 24 Aug 2026 00:53:45 +0000 Message-Id: <6a8b9619.31c34.6f45c9c5@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=7ea168178477c211dc288e7e04165dca53f6a307 commit 7ea168178477c211dc288e7e04165dca53f6a307 Author: Kevin Bowling AuthorDate: 2026-08-10 15:09:29 +0000 Commit: Kevin Bowling CommitDate: 2026-08-24 00:50:20 +0000 ixgbe: Restore missed packet accounting missed_rx and total_missed_rx are never populated. As a result, the GPRC erratum workaround does not remove missed packets and iqdrops always remains zero. The rx_missed_packets sysctl and input-error total also expose only MPC bank zero. Read and accumulate all eight MPC banks. Use the interval total to correct GPRC and the cumulative total for iqdrops, input errors, and the aggregate sysctl. This matches DPDK's coverage of the hardware banks. (cherry picked from commit 660099c985e8bfc931b01398715441c90cf0d4db) --- sys/dev/ixgbe/if_ix.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 83848f4d1bd6..8c3bb0c790af 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -1911,7 +1911,7 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc) { struct ixgbe_hw *hw = &sc->hw; struct ixgbe_hw_stats *stats = &sc->stats.pf; - u32 missed_rx = 0, bprc, lxon, lxoff; + u32 missed_rx = 0, mpc, bprc, lxon, lxoff; u32 lxoffrxc; u64 total_missed_rx = 0, total; @@ -1919,7 +1919,13 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc) stats->illerrc += IXGBE_READ_REG(hw, IXGBE_ILLERRC); stats->errbc += IXGBE_READ_REG(hw, IXGBE_ERRBC); stats->mspdc += IXGBE_READ_REG(hw, IXGBE_MSPDC); - stats->mpc[0] += IXGBE_READ_REG(hw, IXGBE_MPC(0)); + for (int i = 0; i < nitems(stats->mpc); i++) { + mpc = IXGBE_READ_REG(hw, IXGBE_MPC(i)); + missed_rx += mpc; + stats->mpc[i] += mpc; + total_missed_rx += stats->mpc[i]; + } + stats->mpctotal = total_missed_rx; for (int i = 0; i < 16; i++) { stats->qprc[i] += IXGBE_READ_REG(hw, IXGBE_QPRC(i)); @@ -2041,7 +2047,7 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc) * - jabber count. */ IXGBE_SET_IERRORS(sc, stats->crcerrs + stats->illerrc + - stats->mpc[0] + stats->rlec + stats->ruc + stats->rfc + + stats->mpctotal + stats->rlec + stats->ruc + stats->rfc + stats->roc + stats->rjc); } /* ixgbe_update_stats_counters */ @@ -2154,7 +2160,7 @@ ixgbe_add_hw_stats(struct ixgbe_softc *sc) SYSCTL_ADD_UQUAD(ctx, stat_list, OID_AUTO, "rec_len_errs", CTLFLAG_RD, &stats->rlec, "Receive Length Errors"); SYSCTL_ADD_UQUAD(ctx, stat_list, OID_AUTO, "rx_missed_packets", - CTLFLAG_RD, &stats->mpc[0], "RX Missed Packet Count"); + CTLFLAG_RD, &stats->mpctotal, "RX Missed Packet Count"); /* Flow Control stats */ SYSCTL_ADD_UQUAD(ctx, stat_list, OID_AUTO, "xon_txd",