git: 06aaca43fe05 - main - iflib: actually disable simple_tx when ALTQ is in use

From: Andrew Gallatin <gallatin_at_FreeBSD.org>
Date: Fri, 14 Aug 2026 22:57:08 UTC
The branch main has been updated by gallatin:

URL: https://cgit.FreeBSD.org/src/commit/?id=06aaca43fe05d22cd289af9b6fa751b9bd08b560

commit 06aaca43fe05d22cd289af9b6fa751b9bd08b560
Author:     Andrew Gallatin <gallatin@FreeBSD.org>
AuthorDate: 2026-08-14 22:54:21 +0000
Commit:     Andrew Gallatin <gallatin@FreeBSD.org>
CommitDate: 2026-08-14 22:56:35 +0000

    iflib: actually disable simple_tx when ALTQ is in use
    
    When getting some baseline ALTQ numbers, I noticed that
    if simlple_tx is enabled in kenv, we wind up re-setting the transmit
    routine, but I neglected to actually clear ctx->ifc_sysctl_simple_tx.
    That leads to many different panics as we run a mixture of mp_ring
    and simple_tx.
    
    Pointy-hat to: gallatin
    Sponsored by: Netflix
---
 sys/net/iflib.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/net/iflib.c b/sys/net/iflib.c
index d4e23a70d569..c8662b6b7e69 100644
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -5285,6 +5285,7 @@ iflib_device_register(device_t dev, void *sc, if_shared_ctx_t sctx, if_ctx_t *ct
 		device_printf(dev, "using simple if_transmit\n");
 #else
 		device_printf(dev, "ALTQ prevents using simple if_transmit\n");
+		ctx->ifc_sysctl_simple_tx = 0;
 #endif
 	}
 	iflib_reset_qvalues(ctx);