From nobody Mon Apr 20 09:56:18 2026 X-Original-To: dev-commits-src-main@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 4fzgqT2zsHz6bRfW; Mon, 20 Apr 2026 09:56:21 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (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 "smtp.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fzgqT281Tz3Tv6; Mon, 20 Apr 2026 09:56:21 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776678981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RUM8gY82nEbey+u8sSLjlHZtCfQPt6WIaFGX3L8qqQI=; b=jJq19GZyrtR84YtUagNVbGtHWfbODqqlqyQdw9GaMOFDKMQe7Fr8zeAJvZenA694k0eM+/ c264STcQQG3iMnrB0fDDTO7JnnyfPZen2G/ELwFXqltG7Jg0RPM5q1f3XeEJ5c3dsb/m5s RtXtJeCJI72CAwRhx1OWHuwgu9LePAZWJYLQLAfxfO4qEtrUUy/f4ei2lns/pcLhskGxPL 3vakDwg7qBbHJ4pFfJgj4MzeCPAl8vk1lKejyQJ+cLkbHUeyVAFuHx2zLKwyrW+Sd8FuBV TeB1RL2NJzcURpTz+bNHf9BcLPXdFoGYnrHUjr7fwoSoMwwPzgBFMOuggytFoQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776678981; a=rsa-sha256; cv=none; b=LrMBlygn/RCIx224MMlCrqF49KQxd1giE+WSVTyErqtDtXSwKqKbhblZngE5p1CV3H1XDs 02Ra4Vj7Z/o0jVF6BG+QcTGxUX4PKmBmM7oEd0cGObu10Kv+MptKij4p7e9RxSIlbnbuRX v20Ym7N8O7bP3cBEeA4slv/a+OD5zdYZ7XQ7ppM0Kt/AFwLR1O6xt4a4+2EonMTld3pvUl Wf3vYKlSkygvVBEXndQ4W0A9tqX67zGRlxPcksKzMJl2JMpKREDK98HY9tgG3ydGlf2bFW Z8Efk8hmnDdzGdvHYgKilTxNwg5Ircl5yLr1TTVscbho/oYF8iARC3dm3t5uiQ== 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=1776678981; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RUM8gY82nEbey+u8sSLjlHZtCfQPt6WIaFGX3L8qqQI=; b=hj5QVGzhBB+Xhcw5P/9AOm5vfh7ZxwEpwFCPSkx+riVLM7aaoYpZILBHMU5eKUoYzFigtt aeMuFA9G3xBIQ40UajM26HROOLdE46i3+RMWc+F2Bu2nim+T9S8lHfVXgU9/PU0IZtgO5h 5vBpM5rTFqMP7nCKoTgoRQD4Ptq0zfQ/vnNU9lUNsrIc2mZMM9WSunZOusqCPW8vjkta6s sHfB/aWwVKS5VGNuUGNkAaPdLaQ8wR9Thl7FjcEc0PGhtSmFy7LA/QlkhojsI7I7h7JM5d 5fcbm2lNPYAyuoLSD6CBOtgGkAXsjVSa74XvReMr3jznTl0vtC1dGKHZEfO8eA== Received: from smtpclient.apple (unknown [IPv6:2a02:8109:1101:be00:20d5:f9e5:4c4d:84b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) (Authenticated sender: tuexen) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fzgqS3X5Kz9WM; Mon, 20 Apr 2026 09:56:20 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Content-Type: text/plain; charset=utf-8 List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.500.181\)) Subject: Re: git: 3fade68cfdf9 - main - iflib: accurately count bytes/segments for TSO From: Michael Tuexen In-Reply-To: Date: Mon, 20 Apr 2026 11:56:18 +0200 Cc: Andrew Gallatin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: References: <69e26f4a.346e1.31c510c2@gitrepo.freebsd.org> To: =?utf-8?Q?Roger_Pau_Monn=C3=A9?= X-Mailer: Apple Mail (2.3864.500.181) > On 20. Apr 2026, at 10:26, Roger Pau Monn=C3=A9 = wrote: >=20 > On Fri, Apr 17, 2026 at 05:35:06PM +0000, Andrew Gallatin wrote: >> The branch main has been updated by gallatin: >>=20 >> URL: = https://cgit.FreeBSD.org/src/commit/?id=3D3fade68cfdf95ee0b517b5d69b270bd8= da633404 >>=20 >> commit 3fade68cfdf95ee0b517b5d69b270bd8da633404 >> Author: Andrew Gallatin >> AuthorDate: 2026-04-17 15:45:22 +0000 >> Commit: Andrew Gallatin >> CommitDate: 2026-04-17 17:34:27 +0000 >>=20 >> iflib: accurately count bytes/segments for TSO >>=20 >> When using software based ifnet counters, iflib has not factored >> TSO into account when reporting the segments and bytes sent. >> So it will underreport NIC bandwidth by a small percent, >> and will undercount sent segments by a large factor. >> Fix this by calculating the number of added segments the NIC >> will send, and add header size multiplied by that number >> to arrive at a correct accounting of segments and bytes sent. >> This makes these software counters directly comparable to >> hardware counters. >>=20 >> Doing this requires moving the calculation into iflib_encap() = where >> we have already parsed the packet and know the header size, MSS, = etc. >=20 > Hello, >=20 > This causes a reliable crash on my box when I attempt to ssh into it: >=20 > panic: Assertion mp !=3D NULL && *mp !=3D NULL failed at = /usr/src/sys/net/iflib.c:3922 > cpuid =3D 11 > time =3D 1776673321 > KDB: stack backtrace: > db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame = 0xfffffe0115bbf3e0 > vpanic() at vpanic+0x136/frame 0xfffffe0115bbf510 > panic() at panic+0x43/frame 0xfffffe0115bbf570 > iflib_txq_drain() at iflib_txq_drain+0x429/frame 0xfffffe0115bbf5f0 > drain_ring_lockless() at drain_ring_lockless+0x8a/frame = 0xfffffe0115bbf640 > ifmp_ring_enqueue() at ifmp_ring_enqueue+0x332/frame = 0xfffffe0115bbf690 > iflib_if_transmit() at iflib_if_transmit+0x273/frame = 0xfffffe0115bbf710 > bridge_enqueue() at bridge_enqueue+0x214/frame 0xfffffe0115bbf760 > bridge_output() at bridge_output+0x10a/frame 0xfffffe0115bbf7b0 > ether_output() at ether_output+0x689/frame 0xfffffe0115bbf840 > ip_output() at ip_output+0x183d/frame 0xfffffe0115bbf960 > tcp_default_output() at tcp_default_output+0x21d8/frame = 0xfffffe0115bbfb30 > tcp_usr_send() at tcp_usr_send+0x5d0/frame 0xfffffe0115bbfbe0 > sosend_generic_locked() at sosend_generic_locked+0x59b/frame = 0xfffffe0115bbfc90 > sosend_generic() at sosend_generic+0x61/frame 0xfffffe0115bbfce0 > sousrsend() at sousrsend+0x79/frame 0xfffffe0115bbfd40 > dofilewrite() at dofilewrite+0x81/frame 0xfffffe0115bbfd90 > sys_write() at sys_write+0x127/frame 0xfffffe0115bbfe00 > amd64_syscall() at amd64_syscall+0x169/frame 0xfffffe0115bbff30 > fast_syscall_common() at fast_syscall_common+0xf8/frame = 0xfffffe0115bbff30 > --- syscall (4, FreeBSD ELF64, write), rip =3D 0x297fd795023a, rsp =3D = 0x297fccb77d98, rbp =3D 0x297fccb77dc0 --- > KDB: enter: panic > [ thread pid 3093 tid 100634 ] > Stopped at kdb_enter+0x33: movq $0,0x15dd302(%rip) > db> >=20 > My network config is: >=20 > ifconfig_igc0=3D"DHCP" > cloned_interfaces=3D"bridge0" > ifconfig_bridge0=3D"addm igc0" Can you check if = https://cgit.FreeBSD.org/src/commit/?id=3Dcca22c36c306dfabe13b1d1de10e8d27= ef3c3bce = fixes the issue for you? Best regards Michael >=20 > Thanks, Roger. >=20