FreeBSD/src 08b751fsys/net ieee8023ad_lacp.c if_media.h

if_media.h: Add 400GBase-SR8 and 400GBase-CR8

Reviewed by:    bz (network)
MFC after:      1 week
Sponsored by:   Chelsio Communications
Differential Revision:  https://reviews.freebsd.org/D53387

(cherry picked from commit 2d608a4cebbd5b9e648f86e52f115c02fac52d88)
DeltaFile
+6-0sys/net/if_media.h
+2-0sys/net/ieee8023ad_lacp.c
+8-02 files

FreeBSD/src 09ec7b7sys/net if_media.h

Fix typo in recently added 400G media

Reported by:    glebius
Fixes:  2d608a4cebbd if_media.h: Add 400GBase-SR8 and 400GBase-CR8
MFC after:      1 week
Sponsored by:   Chelsio Communications

(cherry picked from commit 4d2d65cad49765a084819195d81a7c0043f1938c)
DeltaFile
+1-1sys/net/if_media.h
+1-11 files

FreeBSD/src b258fa0sys/dev/ixgbe ixgbe_phy.c

ixgbe: Recognize production X550 PHY IDs

According to Linux 5f1c3589b0f0, the X550 PHY classifier still matches
an alpha silicon ID, while the shared definitions contain the two
production IDs.  This can leave production hardware on the generic
probing path and issue unnecessary PHY queries.

(cherry picked from commit 392f0af6685a06e89fecdc38cc2e910d2b84d738)
DeltaFile
+2-0sys/dev/ixgbe/ixgbe_phy.c
+2-01 files

FreeBSD/src d794d8dsys/net ieee8023ad_lacp.c

lacp: Simplify lacp_compose_key()

lacp uses interface speed to separate lacp members into different
aggregation groups.  It wants to use the lower 4 bits of the key
to represent the speed.   This change fixes a few bugs around that:

1) Actually use the baud rate reported by the interface as the speed
  (and fall back to use the baudrate associated with the media if
   the interface somehow doesn't support if_baudrate)

2) Compressess the baud rates down to the 4 bits reserved for them.
   Using things like FM_400G_FR8 does not fit in 4 bits (its value
   is 0x1811) . In fact, interfaces faster than 1Gb/s don't fit in
   4 bits using the old scheme

3) Emits a warning on the console once per boot if it encounters a
   NIC with an unsupported speed to make it slightly more obvious
   why LACP might not behave as expected.


    [10 lines not shown]
DeltaFile
+40-133sys/net/ieee8023ad_lacp.c
+40-1331 files

FreeBSD/src d5bd650share/man/man4 ix.4, sys/dev/ixgbe ixgbe_type.h if_ix.c

ixgbe: Expose EEE LPI event counters

X550-family devices provide clear-on-read counters for transmit and
receive Low Power Idle events.  Accumulate each register once in the
normal statistics poll and expose the monotonic totals below the eee
sysctl node.  Document the counters together with the existing EEE
control.

Obtained from:  Intel ix 3.4.39

(cherry picked from commit ff86fd4f36618dacf1628180034c312c70294276)
DeltaFile
+18-0sys/dev/ixgbe/if_ix.c
+7-1share/man/man4/ix.4
+2-0sys/dev/ixgbe/ixgbe_type.h
+27-13 files

FreeBSD/src 134c709sys/dev/ixgbe ixgbe_x550.c ixgbe_type.h

ixgbe: Add 10GBase-BX BiDi SFP+ module support

10G-BX optics use paired wavelengths to carry 10 Gb/s Ethernet over a
single strand of single-mode fiber.  Their 10G compliance byte is
empty, so identify them from the SFF-8472 nominal signaling rate and
single-mode reach fields.

When an EEPROM also advertises 1G BASE-BX10, give the complete 10G
bitrate and reach signature precedence.  Otherwise retain FreeBSD's
permissive 1G-BX identification rather than requiring a nominal
1.3 GBd rate.

Relnotes:       yes

(cherry picked from commit f9ce33b0d8ef233063bd6c27bdba2580f97d9094)
DeltaFile
+56-5sys/dev/ixgbe/ixgbe_phy.c
+10-0sys/dev/ixgbe/if_ix.c
+7-0sys/dev/ixgbe/ixgbe_82599.c
+3-0sys/dev/ixgbe/ixgbe_type.h
+3-0sys/dev/ixgbe/ixgbe_phy.h
+2-0sys/dev/ixgbe/ixgbe_x550.c
+81-56 files

FreeBSD/src 91c34d5sys/net ieee8023ad_lacp.c if_media.h

net/if_media.h: Add 800GBase-X and 200Gbit/s per lane support

Reviewed by:    kib
Tested by:      Wafa Hamzah <wafah at nvidia.com>
MFC after:      1 week
Sponsored by:   Nvidia networking
Differential revision: https://reviews.freebsd.org/D57083

(cherry picked from commit 51f313dbc7a28a7bd2013c205261f29f115eb0a7)
DeltaFile
+42-0sys/net/if_media.h
+3-0sys/net/ieee8023ad_lacp.c
+45-02 files

FreeBSD/src 111dbcdsys/dev/ixgbe if_ixv.c

ixv: Report multigigabit link speeds

The VF link-status path can receive 2.5 and 5 Gb/s speed bits from
X550-family PFs, but media reporting has no cases for them.  The
bootverbose message also assumes every non-10-Gb/s link is 1 Gb/s.

Expose the corresponding ifmedia subtypes and derive the diagnostic
speed through the shared link-speed conversion helper.

(cherry picked from commit a884921abbaf52ff862a32ff6806bf071974faa6)
DeltaFile
+14-4sys/dev/ixgbe/if_ixv.c
+14-41 files

FreeBSD/src 1b36879sys/dev/ixgbe if_ix.c

ixgbe: Preserve the full VF RSS domain in the shared RETA

The 82599 and X540 share the global RSS redirection table between the
PF and its VFs.  Programming that table from the PF queue count
prevents a VF from using queue indices absent from the PF layout.  A
one-queue PF consequently directs every flow for a two- or four-queue
VF to queue zero.

Program at least four queue indices while SR-IOV is active.  Each pool
PSRTYPE.RQPL field masks the shared table to the queue subset available
to that function, so the PF can continue using fewer queues.

(cherry picked from commit 8b668bc7e7c8b0a1bcb018360a4aafa445ff554f)
DeltaFile
+17-5sys/dev/ixgbe/if_ix.c
+17-51 files

FreeBSD/src 4bd47ddsys/net if_media.h

net: Add ifmedia support for 10GBase-BX BiDi

10GBase-BX uses paired wavelengths to carry both directions over a
single strand of single-mode fiber.  The optics must be paired so that
the transmit and receive wavelengths cross over.

MFC after:      2 weeks

(cherry picked from commit 4220b52453c9701922955dcc1c1e1554d6a9f3ae)
DeltaFile
+3-0sys/net/if_media.h
+3-01 files

FreeBSD/src bd07986sys/net if_media.h

if_media: Claim 10BASE-T1S and 10BASE-T1L constants

These are two single-pair Ethernet (SPE) variants that run at 10 Mbps.
10BASE-T1S has automotive origins and supports multiple nodes on up to
25m of cable.  10BASE-T1L is intended for building and industrial
automation and supports long-distance point to point links of over 1km.

Reviewed by:    kbowling
Differential Revision: https://reviews.freebsd.org/D56952

(cherry picked from commit a3036edd0292291a71fb74ba2bce355159ac6913)
DeltaFile
+6-0sys/net/if_media.h
+6-01 files

FreeBSD/src 1c6690asys/dev/ixgbe if_ix.c

ixgbe: Compare flow control against requested mode

The flow-control sysctl represents the configured policy, while
current_mode is the mode negotiated with the link partner.  Comparing a
new request with current_mode can needlessly reprogram an unchanged
policy or skip a requested policy change that happens to match the
current negotiation result.

Compare with requested_mode before deciding that no update is needed.

(cherry picked from commit c410551b9feadf9b65f920fd25714fcda8299a56)
DeltaFile
+1-1sys/dev/ixgbe/if_ix.c
+1-11 files

FreeBSD/src 3e8b8afshare/man/man4 ixl.4, sys/dev/ixl if_ixl.c ixl_pf.h

ixl: Track and recover MDD-blocked VFs

The hardware identifies each VF with TX and RX malicious-driver
status latches, but the driver combined all events into one counter
and reported only the last VF found.

Consume every PF and VF latch, keep per-direction VF counters, and
rate-limit per-VF diagnostics.  Keep the software block until a
successful VF or PF reset reconstructs its resources.

Match Linux i40e policy by leaving a detected VF blocked by default.
Add an opt-in hw.ixl.mdd_auto_reset_vf tunable that notifies and
resets the VF for installations that prefer availability.  DPDK
provides the register clear and per-VF attribution precedent; Linux
provides the recovery policy.

(cherry picked from commit 93f1065920d806400ace6b60b025faf91926bdaa)
DeltaFile
+64-68sys/dev/ixl/ixl_pf_main.c
+30-0sys/dev/ixl/ixl_pf_iov.c
+8-1sys/dev/ixl/ixl_pf.h
+7-1sys/dev/ixl/if_ixl.c
+6-0share/man/man4/ixl.4
+115-705 files

FreeBSD/src d06f0c8sys/dev/ixl ixl_pf_iflib.c if_ixl.c

ixl: Report PF initialization failures to iflib

ixl_if_init() returned early after AdminQ reconstruction, LAA, or
VSI initialization failures.  Since IFDI_INIT has no return value,
iflib then marked the interface RUNNING and enabled its interrupts
and timers despite the incomplete hardware state.

Use iflib_init_failed() on each incomplete path.  Also stop at the
first ring-enable error and tear down any partially enabled rings
before reporting failure.  This keeps the interface stopped and
makes a later initialization attempt start from a bounded state.

(cherry picked from commit f008b582c9f1e1a636e88a5f330ff3a167094440)
DeltaFile
+20-9sys/dev/ixl/if_ixl.c
+10-4sys/dev/ixl/ixl_pf_iflib.c
+30-132 files

FreeBSD/src c6c6d71sys/dev/ixgbe ixgbe_common.c

ixgbe: Validate EEPROM checksum section bounds

The generic checksum walker trusts NVM section pointers and lengths and
iterates with a 16-bit index.  A corrupt section that crosses the end of
the EEPROM can wrap the index and leave the driver in an effectively
unbounded read loop during attach.

Validate each non-empty section against the discovered EEPROM word size
before reading it, and use widened arithmetic for the inclusive end and
iterator.

(cherry picked from commit be3e1068ea8699fb719691453899ca20a601fe1d)
DeltaFile
+13-3sys/dev/ixgbe/ixgbe_common.c
+13-31 files

FreeBSD/src d7e1184sys/dev/ixgbe if_ix.c

ixgbe: Restore missed packet accounting

missed_rx and total_missed_rx are never populated.  As a result, the
GPRC erratum workaround does not remove missed packets and iqdrops
always remains zero.  The rx_missed_packets sysctl and input-error total
also expose only MPC bank zero.

Read and accumulate all eight MPC banks.  Use the interval total to
correct GPRC and the cumulative total for iqdrops, input errors, and the
aggregate sysctl.  This matches DPDK's coverage of the hardware banks.

(cherry picked from commit 660099c985e8bfc931b01398715441c90cf0d4db)
DeltaFile
+10-4sys/dev/ixgbe/if_ix.c
+10-41 files

FreeBSD/src a9f39c3sys/dev/ixl ixl_pf.h ixl_pf_iflib.c

ixl: Quiesce VF DMA before a PF reset

A PF reset has a warning interval before the hardware reset begins.
Cooperative VF drivers respond to the reset event by stopping and
releasing their receive buffers, but notifying VFs did not stop the
hardware queues.  An active VF could therefore DMA through its old
rings into freed mbuf clusters during the warning interval.

Put every enabled VF in reset, drain its PCIe transactions, disable its
queues, wait for receive queue shutdown, and drain transactions again
before tearing down the PF HMC and AdminQ.

Hold VFs in reset again while rebuilding the firmware topology.  Release
VF reset before programming the replacement VSI and queue mappings,
since VF reset clears those registers, and publish VFACTIVE only after
reconstruction succeeds.  Leave a VF held in reset if rebuilding it
fails.

Fixes:          983e628a0c47 ("ixl: Rebuild VF resources after a PF reset")

    [2 lines not shown]
DeltaFile
+121-0sys/dev/ixl/ixl_pf_iov.c
+13-3sys/dev/ixl/ixl_pf_iflib.c
+1-0sys/dev/ixl/ixl_pf.h
+135-33 files

FreeBSD/src 3cbfafcsys/dev/iavf if_iavf_iflib.c

iavf: Resume AdminQ processing after PF reset

A PF reset indication leaves IAVF_STATE_RESET_PENDING set while the
VF recreates its AdminQ and negotiates new resources.  The ordinary
AdminQ task refuses to consume messages while that state is set.
Consequently, the first DISABLE_QUEUES reply after successful mailbox
rediscovery remains in the receive queue and initialization times out.
Later retries and manual interface restarts repeat the same cycle.

Clear the stale reset indication once VERSION and GET_VF_RESOURCES have
succeeded, before enabling interrupts and resuming normal virtchnl
requests.

(cherry picked from commit 02fbb1ce07f60fab82e21e5bbe2dae85f024bb55)
DeltaFile
+8-0sys/dev/iavf/if_iavf_iflib.c
+8-01 files

FreeBSD/src d79c9a8sys/dev/iavf if_iavf_iflib.c

iavf: Do not publish link-up while stopped

A PF link event remains cached while a VF is administratively down.
Media status queries called iavf_update_link_status() and published
that cached state as link-up, while the stopped admin path immediately
published link-down.  Consumers reacting to link events could turn
this into an unbounded notification loop and prevent interface detach
from draining its link-state task.

Keep the cached PF state, but only publish link-up after iflib has
marked the VF running.  A subsequent admin pass publishes the cached
state after a successful initialization.

(cherry picked from commit 46241b7d6647dfc2fc557c02804d20b9f05af5c4)
DeltaFile
+10-0sys/dev/iavf/if_iavf_iflib.c
+10-01 files

FreeBSD/src 0adc18fsys/dev/ixgbe if_ix.c if_sriov.c

ixgbe: Preserve VF jumbo frame size across PF resets

sc->max_frame_size represents the largest frame requested by the PF or
an active VF.  The MTU callback replaces it with the PF frame size, so
a subsequent reinitialization can program MHADD below an active VF's
jumbo-frame request.

Recompute the aggregate before hardware initialization and use it when
programming MHADD.  Recompute after each VF LPE request as well, so a
reduced request can lower the hardware limit when no other function
needs the previous value.

(cherry picked from commit 877f0ee40c2af801c5ca758a37b3ebddc560dad2)
DeltaFile
+4-3sys/dev/ixgbe/if_sriov.c
+5-1sys/dev/ixgbe/if_ix.c
+9-42 files

FreeBSD/src 94fe529sys/dev/ixl ixl_pf.h ixl_pf_main.c

ixl: Rebuild VF resources after a PF reset

A PF or EMP reset destroys the firmware switch topology, including
every VF VSI.  The driver rebuilt only its PF VSI and left configured
VFs with stale switch element and VSI identifiers.

Notify VFs before a driver initiated reset, recreate the IOV VEB, and
rebuild each configured VF VSI and queue mapping after the PF switch
is restored.  Keep a VF out of VFACTIVE if its reconstruction fails
so one failure cannot expose incomplete resources or prevent the PF
and other VFs from recovering.

Invalidate cached VF firmware identifiers and runtime state before
recreating the VEB.  If VEB creation itself fails, teardown and mailbox
paths can no longer use pre-reset SEIDs or VSI data.

Factor the common VEB setup out of IOV initialization so initial
setup and post-reset reconstruction use the same topology and filter
sequence.

    [2 lines not shown]
DeltaFile
+123-28sys/dev/ixl/ixl_pf_iov.c
+7-6sys/dev/ixl/ixl_pf_main.c
+13-0sys/dev/ixl/ixl_pf_iflib.c
+5-0sys/dev/ixl/ixl_pf.h
+148-344 files

NetBSD/othersrc Mj4tQBwusr.bin/gooeymux README

   catch up with recent changes
VersionDeltaFile
1.4+6-5usr.bin/gooeymux/README
+6-51 files

NetBSD/othersrc U8K4aNPusr.bin/gooeymux term.c

   respond to KS_Cmd_Scroll*
   now we can scroll back using Alt and cursor keys
VersionDeltaFile
1.5+42-10usr.bin/gooeymux/term.c
+42-101 files

FreeBSD/ports a0e7019japanese/fcitx5-karukan pkg-message Makefile, japanese/fcitx5-karukan/files patch-karukan-cli_src_bin_server.rs patch-cargo-crates_llama-cpp-sys-2-0.1.154_build.rs

japanese/fcitx5-karukan: Add port: Japanese input method for fcitx5 powered by neural kana-kanji conversion

Karukan is a Japanese Input Method Engine for Linux that uses neural
kana-kanji conversion powered by llama.cpp. It provides a fcitx5 addon
for romaji-to-hiragana conversion and intelligent kana-kanji
conversion using small neural network models (auto-downloaded on first
use).

WWW: https://github.com/togatoga/karukan

Inspired by: openSUSE Tumbleweed (https://build.opensuse.org/package/show/openSUSE:Factory/karukan)
DeltaFile
+855-0japanese/fcitx5-karukan/distinfo
+426-0japanese/fcitx5-karukan/Makefile.crates
+80-0japanese/fcitx5-karukan/Makefile
+79-0japanese/fcitx5-karukan/files/patch-cargo-crates_llama-cpp-sys-2-0.1.154_build.rs
+35-0japanese/fcitx5-karukan/files/patch-karukan-cli_src_bin_server.rs
+31-0japanese/fcitx5-karukan/pkg-message
+1,506-04 files not shown
+1,537-010 files

NetBSD/othersrc WFa7Dgdusr.bin/gooeymux keyboard.c

   send KS_Cmd_* events
VersionDeltaFile
1.4+11-9usr.bin/gooeymux/keyboard.c
+11-91 files

NetBSD/othersrc mC2nfDmusr.bin/gooeymux tinygfx.h scrollbar.c

   respond to mouse clicks above & below the knob
VersionDeltaFile
1.3+34-6usr.bin/gooeymux/scrollbar.c
1.3+3-2usr.bin/gooeymux/tinygfx.h
+37-82 files

FreeBSD/ports fb00da4www/nginx-full Makefile

www/nginx-full: Add maintainer note per new ports policy

The maintainer load and port lifecycle policy only excludes a port from the
outdated ratio when the reason is documented in the port itself:

        https://wiki.freebsd.org/Ports/MaintainerLoadAndPortLifecyclePolicy

This is a slave port of www/nginx and follows the nginx stable branch, while
mainline is packaged as www/nginx-devel. repology merges the nginx ports into a
single project and measures the flavored slave ports against mainline: at the
time of writing it reports 1.30.4 here as outdated against 1.31.4, while the
unflavored www/nginx carrying the very same 1.30.4 is not reported at all.

No functional change, comment only.

Sponsored by:   Netzkommune GmbH
DeltaFile
+4-0www/nginx-full/Makefile
+4-01 files

FreeBSD/ports a5ce194www/nginx-lite Makefile

www/nginx-lite: Add maintainer note per new ports policy

The maintainer load and port lifecycle policy only excludes a port from the
outdated ratio when the reason is documented in the port itself:

        https://wiki.freebsd.org/Ports/MaintainerLoadAndPortLifecyclePolicy

This is a slave port of www/nginx and follows the nginx stable branch, while
mainline is packaged as www/nginx-devel. repology merges the nginx ports into a
single project and measures the flavored slave ports against mainline: at the
time of writing it reports 1.30.4 here as outdated against 1.31.4, while the
unflavored www/nginx carrying the very same 1.30.4 is not reported at all.

No functional change, comment only.

Sponsored by:   Netzkommune GmbH
DeltaFile
+4-0www/nginx-lite/Makefile
+4-01 files

FreeBSD/ports cbb55a1databases/mysql97-client Makefile

databases/mysql97-client: Add maintainer note per new ports policy

The maintainer load and port lifecycle policy only excludes a port from the
outdated ratio when the reason is documented in the port itself:

        https://wiki.freebsd.org/Ports/MaintainerLoadAndPortLifecyclePolicy

This is a slave port of databases/mysql97-server, but repology counts it as a
package of its own. At the time of writing it lists 26.7.0 as the newest MySQL
and reports this port as outdated, although it carries 9.7.2, the latest
release of the series it tracks. Refer to the note in the master port instead
of repeating it here.

No functional change, comment only.

Sponsored by:   Netzkommune GmbH
DeltaFile
+3-0databases/mysql97-client/Makefile
+3-01 files

FreeBSD/ports f6c4e9adatabases/mysql-shell Makefile

databases/mysql-shell: Add maintainer note per new ports policy

The maintainer load and port lifecycle policy only excludes a port from the
outdated ratio when the reason is documented in the port itself:

        https://wiki.freebsd.org/Ports/MaintainerLoadAndPortLifecyclePolicy

The shell is versioned along with the MySQL release series it belongs to, but
repology measures it against the newest train upstream ships. At the time of
writing it lists 26.7.1 as the newest version and reports this port as
outdated, although 9.7.1 is the current release for the series packaged here.

No functional change, comment only.

Sponsored by:   Netzkommune GmbH
DeltaFile
+4-0databases/mysql-shell/Makefile
+4-01 files