git: 33c730ada626 - stable/15 - iflib: actually disable simple_tx when ALTQ is in use

From: Kevin Bowling <kbowling_at_FreeBSD.org>
Date: Thu, 29 Oct 2026 06:03:11 UTC
The branch stable/15 has been updated by kbowling:

URL: https://cgit.FreeBSD.org/src/commit/?id=33c730ada6264d2c244549f761bdf4a88ed47600

commit 33c730ada6264d2c244549f761bdf4a88ed47600
Author:     Andrew Gallatin <gallatin@FreeBSD.org>
AuthorDate: 2026-08-14 22:54:21 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2026-10-29 05:28:17 +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
    
    (cherry picked from commit 06aaca43fe05d22cd289af9b6fa751b9bd08b560)
---
 sys/net/iflib.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys/net/iflib.c b/sys/net/iflib.c
index 0b23e0ea31cb..515bde6c7e26 100644
--- a/sys/net/iflib.c
+++ b/sys/net/iflib.c
@@ -5397,6 +5397,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);