From nobody Mon Aug 24 09:14:23 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 4hT4ww2BMXz6p6KS for ; Mon, 24 Aug 2026 09:14: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 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 4hT4ww0mfhz3vlx for ; Mon, 24 Aug 2026 09:14:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787562864; 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=KiesyMfHQojXSoDjbI+6N3hB3s/8WfDCI6nO8tA3/jM=; b=wl2Tp/F+03xf3+Q8LlSWD5NyUa2YeiLi7YnMU/ClRuXjB8D0Vlgrv01+KAQrLRGb9owUOE Qw3AVsYh0h2pto84EDp+IpULsqdWzBzKrue1GeJdNWBcstGnLrLw87LPfVzHhO3Z/haKG1 uicVRUjDDBEZxRpJ3hBisXm1BBrpMwe1wgrq+uRsiQs9z9hwH9kQ8jaHOmtd+W7Ng7Eb0o GB7ITqCUm2ihUoxKGX2cyu6mXX611nW7N18lZBMmNFuOHWl+23W78LrDULhFEibmWQ2VDS ZJNQkLRWVu7hNRDn7j7t7m9KRP0rk/Et/vXVcoYnGFNaIdB5UOhOBQQIZWq/tQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787562864; a=rsa-sha256; cv=none; b=taR+XwZfXWgnMA2+ld7GC7cHwZN3JOCxk580oIMQQkK2Qd7yVYomh+SXM8EmBqqgWJspNX 7bVJYGGGxAIqHp+x8awYLP6PfulfhL647y2641G3qZwyfSn6qsArpTW3mdXPkxnwSOhafR gBDdCdpSHkMWyHSnP6/IRhcIRP8GbIy97RcOqsQqvLBiR7Om9q/KGQk7fcW9Evut0b5X7u RqVeNEfglfbN81FS7EwlpkK6lghx0r96uWpYlyzTF4v/gDBjjFd3RnSB5kfQrXTR+yUoG3 1c9MHUPtH2KdozY3x5++diLlDNy4AsGRvyZf/ZlKBJ0IcT4wfxoKFunnzvj2qA== 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=1787562864; 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=KiesyMfHQojXSoDjbI+6N3hB3s/8WfDCI6nO8tA3/jM=; b=oaZk2KYlktCMSbWHz6jdeRl+CzEsXp4VjMwwnD14EGcgbw/F8Skh7IwDCeyNdTXGJ+DFSM yhLdivHz6kx7iFmJvtIrv6FT0pjpbn8S4oEciK/lqZLEVwQhrO9mQVCK5l+Hd8grumk1x+ gC/IfDHOnU3v3trzLZhXb2BmtQTphKIbd9vQ5Jy1ymAtca47+CiJ3t0CrH4PJNn/TPnizo mrugI8P3mwKwrSkngrkPJC/qSjgZmGmTDZ0EkhzV0MkeWunOvvGbl0XkDGwMhJMaXB8Wqp QspwrJSBLQ+e5ZVC4nJzu9RGmJalq/shgEL5Ss9KE3P/k64U2Ebl8FQvt8cggg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hT4wv6S4Tzyf7 for ; Mon, 24 Aug 2026 09:14:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 47075 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 24 Aug 2026 09:14:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: d7e118471d10 - stable/14 - 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/14 X-Git-Reftype: branch X-Git-Commit: d7e118471d10179f10e9f27c38709de3cd35799a Auto-Submitted: auto-generated Date: Mon, 24 Aug 2026 09:14:23 +0000 Message-Id: <6a8c0b6f.47075.741c093@gitrepo.freebsd.org> The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=d7e118471d10179f10e9f27c38709de3cd35799a commit d7e118471d10179f10e9f27c38709de3cd35799a Author: Kevin Bowling AuthorDate: 2026-08-10 15:09:29 +0000 Commit: Kevin Bowling CommitDate: 2026-08-24 09:12:22 +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",