From nobody Mon Apr 20 10:43:35 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 4fzhtB0DsMz6bVw0; Mon, 20 Apr 2026 10:43:46 +0000 (UTC) (envelope-from royger@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (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 4fzht961XHz3Z7M; Mon, 20 Apr 2026 10:43:45 +0000 (UTC) (envelope-from royger@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776681825; 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=6VTq/Ps5dR16ByX2V/pdEtOx7IrOeZ/P26uLHoS6RpU=; b=TKDzYt4XtUmFrkukUmvK9PADfop6T6unrSdYWP10M4i/hM3CqmnxcVSvRDzWkJwGN3cBge GhyBLJfIIYBUo13Kii8h57WhAz2q5DXWfM5ccZyJ95Rt5WONf2Yq07j3RGbG/7xyYdpAUd OY1sQ8wWp4at8a1392G29geySnbunGyqr1KaUUqWMXty3vcwZm6qopddHimVF5VX9RRQ8h IZvp7JKQicQU+Ewj/RgmSsrwJh/Z06S7XyOAdIlYusQ+5m2utzqX+E4Oz4dtpCn3nTWIdq blEB+UVXJMAIsf+L7vaU37mlH+sylTc2yLyeKeLu/gtbEBQkpDb1qjCMojiN/A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776681825; a=rsa-sha256; cv=none; b=X/iR66F4CyN6xNuCUzQEcElDPNKI41SWNPXzc4BUO6Kg/4uL5bpXUj4UBkMd6CdUhvRp7n /E3v07gTO5O8A2EyX0YhcZmX8l3QBE6oPwuLyUwrASY40xwsEECRl82cddZphEzrqhHdJY 54TNCOSuZtLl5JXcA5AqZcjNL3VAUCn0Yj/+Hz99YNm8NPK8VUOSpfPiPz2XstUMftIdQM t0ytzegNrFGtyFCJnmB9YtwzesKOAvBgJgPqidSa1N8CKeZ8gt62Mtzj2oDijdFxbDA7FD Cee2XBSTqOrtf+HFQAgHJIezgPTWScXOfiFGqDjgfhUIAfor0L1mpPKckxf71A== 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=1776681825; 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=6VTq/Ps5dR16ByX2V/pdEtOx7IrOeZ/P26uLHoS6RpU=; b=NgYEY4WsAgQ15GW2YQ1bENuC9T4Hvq5JAfpq+8fBh0Y5FIjGf0gtN4yM/KiQNpUpAwSnO7 M/GN+AaxlHumDf7CvetMH8JTdaKgiwi50BdV1CBu83CM+jObiQc+U95FwgwBXkMzJ22V9Z g2nzwjYGIm5vPWkgHXmdxTJy2DLCF7ujYeCyp8FbZCYJAi1bLJZsSyvzTrqzHgVnOYhOgV j9MOfFImPpWo07IGTdFB2fW1vQx/+xo6+Gqf6VDU53aQpZ2wf65oXx/xBj738aIMhZGWPG 88GYYn//4DWK7wjgUmNK6+n82IrycdmKOrEiJCK07fTXb+CMJIw4kZlULhF2wA== Received: from localhost (112.pool92-178-7.dynamic.orange.es [92.178.7.112]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: royger) by smtp.freebsd.org (Postfix) with ESMTPSA id 4fzht92vWmzBpk; Mon, 20 Apr 2026 10:43:45 +0000 (UTC) (envelope-from royger@freebsd.org) Date: Mon, 20 Apr 2026 12:43:35 +0200 From: Roger Pau =?utf-8?B?TW9ubsOp?= To: Michael Tuexen Cc: Andrew Gallatin , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: 3fade68cfdf9 - main - iflib: accurately count bytes/segments for TSO Message-ID: References: <69e26f4a.346e1.31c510c2@gitrepo.freebsd.org> 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 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Mon, Apr 20, 2026 at 11:56:18AM +0200, Michael Tuexen wrote: > > > > On 20. Apr 2026, at 10:26, Roger Pau Monné wrote: > > > > On Fri, Apr 17, 2026 at 05:35:06PM +0000, Andrew Gallatin wrote: > >> The branch main has been updated by gallatin: > >> > >> URL: https://cgit.FreeBSD.org/src/commit/?id=3fade68cfdf95ee0b517b5d69b270bd8da633404 > >> > >> commit 3fade68cfdf95ee0b517b5d69b270bd8da633404 > >> Author: Andrew Gallatin > >> AuthorDate: 2026-04-17 15:45:22 +0000 > >> Commit: Andrew Gallatin > >> CommitDate: 2026-04-17 17:34:27 +0000 > >> > >> iflib: accurately count bytes/segments for TSO > >> > >> 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. > >> > >> Doing this requires moving the calculation into iflib_encap() where > >> we have already parsed the packet and know the header size, MSS, etc. > > > > Hello, > > > > This causes a reliable crash on my box when I attempt to ssh into it: > > > > panic: Assertion mp != NULL && *mp != NULL failed at /usr/src/sys/net/iflib.c:3922 > > cpuid = 11 > > time = 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 = 0x297fd795023a, rsp = 0x297fccb77d98, rbp = 0x297fccb77dc0 --- > > KDB: enter: panic > > [ thread pid 3093 tid 100634 ] > > Stopped at kdb_enter+0x33: movq $0,0x15dd302(%rip) > > db> > > > > My network config is: > > > > ifconfig_igc0="DHCP" > > cloned_interfaces="bridge0" > > ifconfig_bridge0="addm igc0" > Can you check if > https://cgit.FreeBSD.org/src/commit/?id=cca22c36c306dfabe13b1d1de10e8d27ef3c3bce > fixes the issue for you? Oh, yes it does. I could swear I've tested it (as I've fetched the repo this morning), but I clearly didn't. Sorry for the noise. Thanks, Roger.