iflib: Add sysctl stat for TX watchdog reset events
iflib counts resets initiated by its transmit watchdog in 69c3e0de01c1.
Export the counter in the per-device iflib sysctl tree so every
driver provides the diagnostic without a driver callback or duplicate
storage.
A watchdog reset does not establish how many packets failed. It can
recover a hardware stall involving several queued packets or a missed
completion involving no packet loss. Stop adding one output error per
watchdog event in em(4), igb(4), and igc(4).
Remove the redundant driver counters and move the diagnostic to
dev.<driver>.<unit>.iflib.tx_watchdog_events.
MFC after: 1 month
Relnotes: yes
net-im/mastodon: update to 4.6.4 security release
Changelog:
https://github.com/mastodon/mastodon/releases/tag/v4.6.4
Notably, security fixes to address the following issues:
- Denial of Service through insufficient authentication of
statistics endpoints.
- Personally-identifying information disclosure due to incorrect
access control validation.
- SSRF Protection Bypass via IPv4-compatible IPv6 Addresses.
PR: 297125
Approved by: Scott Kenney <sak at codered.rmta.org> (maintainer)
Security: GHSA-hx34-2pfw-2qfj
Security: GHSA-7jvv-fhmg-wpfw
Security: GHSA-vwhj-3g83-v276
pfsync: handle large MTU pfsync interfaces
pfsync packets were allocated with m_get2(), which can't return packets
larger than MJUMPAGESIZE. As a result 9k MTU pfsync interfaces simply didn't work.
Use m_get3(), which can allocate sufficiently large mbufs.
Extend the pfsync:bulk test case to provoke this problem.
PR: 297307
MFC after: 2 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")
net: don't panic on ifconfig pfsync0 mtu 9000
pfsync interfaces do not have ifp->if_inet6 set, so when we update the
MTU for those interfaces we panicked.
Add an explicit check for this. This should be temporary, until pfsync
is no longer a struct ifnet (as we've already done for pflog).
Reviewed by: glebius
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D58701
Tools/scripts/update-plist.py: Updates pkg-plist
Small script using base Python to update pkg-plist based upon poudriere
error logs.
Inspired by: https://codeberg.org/tcberner/poudlist, by tcberner@. This
just uses base Python instead of C++ and flaky Boost libs, runs way
faster and requires no config file.
This is mainly intendend for simple ports and it's output should be
manually reviewed.
multimedia/vid.stab: Update to 1.1.2
Update WWW to the GitHub repo as the main site has not been updated in
9 years.
Remove pathfix hacks that are now automatically handled.
vmm: Tear down the IOMMU before AMD-Vi detach
Register the vmm module handler after both the bundled device drivers
and SMP. On platforms without EARLY_AP_STARTUP, SI_SUB_SMP follows
SI_SUB_DRIVERS; using the later subsystem preserves the
smp_rendezvous() requirement.
The resulting reverse unload order performs IOMMU cleanup while every
IVHD softc remains valid. Refuse an independent IVHD detach while
translation state remains initialized.
MFC after: 2 weeks
release/Makefile.gce: migrate gsutil usages to gcloud CLI
Google Cloud recommends migrating from gsutil to gcloud storage CLI.
Update gce-do-upload target to use `gcloud storage buckets create` and
`gcloud storage cp` instead of `gsutil mb` and `gsutil cp` commands.
PR: conf/297016
Reviewed by: lwhsu
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D58464
ixgbe: Drain events for inactive VFs
The aggregate VF mailbox poll includes only VFs whose driver
configuration completed. A configured VF slot whose vf_add callback
failed can nevertheless report reset, request, or acknowledgement
events. Because the mailbox handler skips inactive entries, such an
event remains latched and can retrigger administrative work
indefinitely.
Build the poll masks from every configured VF index and consume reset,
message, and acknowledgement events for inactive entries without
treating them as usable VFs. Use the index rather than the pool because
early vf_add errors precede pool initialization. Also include E610
PFVFLREC in aggregate reset sampling.
MFC after: 2 weeks
ixgbe: Handle deferred link-status requests
The iflib conversion records link-status interrupts in the
administrative request mask, but the administrative task did not
consume them. Timer polling usually hid the omission; frequent mailbox
interrupts could continually rearm that timer and leave cached link
state down after hardware recovered.
Claim request batches atomically, process link-setup dependencies, and
sample hardware before publishing link state. Bound each invocation to
eight batches and requeue residual work so a continuous producer cannot
monopolize the admin taskqueue.
Queue every link-related request from the legacy interrupt path.
Unlike MSI-X, its threaded continuation services RX and does not enqueue
the admin task. This restores the event-driven behavior of ix-3.4.39.
Fixes: b2c1e8e62049 ("ix(4): Run {mod,msf,mbx,fdir,phy}_task in if_update_admin_status")
MFC after: 2 weeks
ixv: Tolerate temporary PF mailbox unavailability
A PF can be resetting, handling a slow link event, or deliberately
withholding mailbox CTS while its VFs enumerate. Keep the VF attached
when the reset handshake is temporarily unavailable so a later if_init
can retry.
Never leave VF hardware running without a negotiated mailbox API: start
hardware only after reset succeeds, stop it when negotiation fails in
attach or init, and defer later recovery through iflib. This prevents a
tight reset loop while preserving recovery when the PF returns.
MFC after: 2 weeks
enic: Correct queue and attach resource ownership
Completion queues are allocated by attach_pre but released by
queues_free. An iflib failure between those stages leaks the allocation,
while the original size expression also underallocates the array.
Move completion queue allocation into the TX queue callback, correct its
size, and unwind it with TX state if RX allocation fails. Make interrupt
cleanup tolerate an unavailable array and reuse the array allocated
during device initialization instead of replacing and leaking it.
Release the DMA, multicast, and lock resources owned by a successful
attach_pre during detach. Avoid allocating the statistics DMA area a
second time near the end of attach_pre.
MFC after: 2 weeks
axgbe: Align channel lifetime with queue allocation
DMA channels are allocated by attach_pre but released by queues_free.
When iflib fails after attach_pre and before queue allocation, neither
the old detach nor queues_free path releases them.
Allocate channels with the TX queue state and make queues_free tolerate
partially allocated rings. Use it to unwind allocation failures so TX
rings are also released when RX allocation fails.
An early detach can also precede PHY initialization and interrupt
assignment. Skip absent PHY and channel state, and release the locks
owned by attach_pre on both failure and detach.
MFC after: 2 weeks
rtadvd(8): Fix RA flag inconsistency messages
During flag inconsistency report, we handle rai->rai_otherflg
as a bool, but the value is 0x40. Make it a simple number comparison.
PR: 295995
Reviewed by: markj, Faraz Vahedi <kfv at kfv.io>
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D58672
(cherry picked from commit 200de1b70e2b4f809d1d3a4c430db80b24124468)
rtadvd(8): Fix RA flag inconsistency messages
During flag inconsistency report, we handle rai->rai_otherflg
as a bool, but the value is 0x40. Make it a simple number comparison.
PR: 295995
Reviewed by: markj, Faraz Vahedi <kfv at kfv.io>
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D58672
(cherry picked from commit 200de1b70e2b4f809d1d3a4c430db80b24124468)
misc/claude-code: update 2.1.224 → 2.1.225
Also:
* Replace the generated wrapper with files/claude.in: require linrdlnk on
fdescfs, disable the binary's self-updater, and launch via bash
--noprofile --norc so shell-detection does not drain stdin and collapse
the TUI into --print mode.
* add LICENSE (Proprietary)
* add pkg-message
Differential Revision: https://reviews.freebsd.org/D58716