Mk/Uses/npm.mk: Add new variable NPM_PREFETCH_ARCHS
A node modules archive created by the prefetch function may vary
depending on the architecture, especially if the archive contains
architecture-specific node modules.
This variable can be used to indicate which architectures the node
modules archives are prepared for.
If you prepared the archives for amd64 and aarch64 architecutres,
specify:
NPM_PREFETCH_ARCHS= aarch64 amd64
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
iflib: Initialize the VFLR task unconditionally
The VFLR task was initialized only from drivers MSI-X interrupt
assignment paths. ixl's legacy interrupt handler can nevertheless defer
VFLR work, leaving an uninitialized task. Even with MSI-X, the admin
interrupt was established before the task was initialized.
Initialize it alongside the other private tasks. The existing detach
check and private-taskqueue drains then cover its lifecycle for every
interrupt mode and registration failure.
MFC after: 2 weeks
Sponsored by: BBOX.io
iflib: Add an admin task detach fail point
Add an exact-device fail point immediately after the admin task checks
IFC_IN_DETACH. This makes the detach race reproducible without affecting
another interface.
Use a bounded delay to keep the task active while detach enters the
taskqueue drain. Mark the point nonsleepable as a safety backstop, and
document a one-shot test for verifying that deregistration drains an
already-running task before ether_ifdetach().
Reviewed by: gallatin, kgalazka
MFC after: 2 weeks
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D58720
iflib: Drain configuration tasks before interface detach
iflib_device_deregister() sets IFC_IN_DETACH before removing the
interface, but a task which already passed its detach check can still
report a link change. This can re-arm if_linktask after
ether_ifdetach() has drained it and leave work pending across queue
teardown.
Drain the entire private taskqueue before ether_ifdetach(). Drivers
may register their own link-related configuration tasks there, so
draining only the framework admin task leaves the same race for those
drivers.
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D58452
Co-authored-by: Andrew Gallatin <gallatin at FreeBSD.org>
Co-authored-by: Kevin Bowling <kbowling at FreeBSD.org>
sysutils/logstash94: Fix runtime: restrict JAVA_VERSION for 21 only
Logstash 9.4 supports Java 21 only.
1) Logstash 9.4 doesn't support Java 17:
https://www.elastic.co/docs/release-notes/logstash#logstash-9.4.0-release-notes
"Logstash now also requires Java 21 or later, and Java 17 is no longer supported."
2) Logstash 9.4 in the port (precompiled) doesn't support Java 25.
There's an error after start:
===
[2026-08-14T09:38:23,211][FATAL][org.logstash.Logstash ][main] uncaught error (in thread Ruby-0-Thread-11: /usr/local/logstash/logstash-core/lib/logstash/java_pipeline.rb:335)
java.lang.NoSuchMethodError: 'java.util.Queue com.sun.tools.javac.util.Log$DeferredDiagnosticHandler.getDiagnostics()'
at com.google.googlejavaformat.java.JavaInput.buildToks(com/google/googlejavaformat/java/JavaInput.java:367)
at com.google.googlejavaformat.java.JavaInput.buildToks(com/google/googlejavaformat/java/JavaInput.java:335)
at com.google.googlejavaformat.java.JavaInput.<init>(com/google/googlejavaformat/java/JavaInput.java:277)
at com.google.googlejavaformat.java.Formatter.getFormatReplacements(com/google/googlejavaformat/java/Formatter.java:270)
at com.google.googlejavaformat.java.Formatter.formatSource(com/google/googlejavaformat/java/Formatter.java:257)
at com.google.googlejavaformat.java.Formatter.formatSource(com/google/googlejavaformat/java/Formatter.java:223)
[14 lines not shown]
sysutils/logstash94: Fix runtime: restrict JAVA_VERSION for 21 only
Logstash 9.4 supports Java 21 only.
1) Logstash 9.4 doesn't support Java 17:
https://www.elastic.co/docs/release-notes/logstash#logstash-9.4.0-release-notes
"Logstash now also requires Java 21 or later, and Java 17 is no longer supported."
2) Logstash 9.4 in the port (precompiled) doesn't support Java 25.
There's an error after start:
===
[2026-08-14T09:38:23,211][FATAL][org.logstash.Logstash ][main] uncaught error (in thread Ruby-0-Thread-11: /usr/local/logstash/logstash-core/lib/logstash/java_pipeline.rb:335)
java.lang.NoSuchMethodError: 'java.util.Queue com.sun.tools.javac.util.Log$DeferredDiagnosticHandler.getDiagnostics()'
at com.google.googlejavaformat.java.JavaInput.buildToks(com/google/googlejavaformat/java/JavaInput.java:367)
at com.google.googlejavaformat.java.JavaInput.buildToks(com/google/googlejavaformat/java/JavaInput.java:335)
at com.google.googlejavaformat.java.JavaInput.<init>(com/google/googlejavaformat/java/JavaInput.java:277)
at com.google.googlejavaformat.java.Formatter.getFormatReplacements(com/google/googlejavaformat/java/Formatter.java:270)
at com.google.googlejavaformat.java.Formatter.formatSource(com/google/googlejavaformat/java/Formatter.java:257)
at com.google.googlejavaformat.java.Formatter.formatSource(com/google/googlejavaformat/java/Formatter.java:223)
[12 lines not shown]
iflib: Add registration failure injection points
Add six device-scoped fail(9) points at the registration milestones
needed to exercise each unwind path. An exact, runtime-only device
selector prevents unrelated iflib devices from consuming an armed point.
Mark the points non-sleepable because registration holds the ifnet and
context locks. Document one-shot operation and bus-address reprobe so a
failed attach can be recovered without another kernel build.
Reviewed by: gallatin
MFC after: 2 weeks
Sponsored by: BBOX.io
Differential Revision: https://reviews.freebsd.org/D58722
rctl(4): document the sysctl tree
Do not duplicate the documentation already available
through "sysctl -d", but tell the user where to find it.
PR: 257984
Suggested by: Felix Johnson <felix.the.red at gmail.com>