OPNSense/src 1ef7596sys/dev/axgbe if_axgbe_pci.c xgbe-common.h

axgbe: add support for Yellow Carp Ethernet device
DeltaFile
+4-0sys/dev/axgbe/if_axgbe_pci.c
+2-0sys/dev/axgbe/xgbe-common.h
+6-02 files

OPNSense/src f88132dsys/dev/axgbe if_axgbe_pci.c xgbe-drv.c

Revert "axgbe: adjust for jumbo frames"

https://github.com/opnsense/src/issues/251

This reverts commit f2e51f2174229edd6376099a7cc35c1bd60b68d6.
DeltaFile
+2-2sys/dev/axgbe/if_axgbe_pci.c
+1-1sys/dev/axgbe/xgbe-drv.c
+3-32 files

OPNSense/src 2f20d7bsys/compat/linuxkpi/common/include/linux leds.h

LinuxKPI: extend struct and enum for leds

An updated rtw88 driver requires minimal changes to leds.h.  On
the positive side we can now remove the __DUMMY from the enum as we
actually have a valid field name.

Sponsored by:   The FreeBSD Foundation
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D50002

(cherry picked from commit 69880fede78fc769ad417e5a984fb9fee7815d8b)
DeltaFile
+2-1sys/compat/linuxkpi/common/include/linux/leds.h
+2-11 files

OPNSense/src e7fe329sys/contrib/dev/rtw89 mac80211.c

rtw89: fix build
DeltaFile
+1-0sys/contrib/dev/rtw89/mac80211.c
+1-01 files

OPNSense/src 565b50dsys/compat/linuxkpi/common/include/linux pci_ids.h

LinuxKPI: add ASMEDIA vendor ID for PCI

This is needed for rtw89 updates.

Sponsored by:   The FreeBSD Foundation
Reviewed by:    emaste, zarychtam_plan-b.pwste.edu.pl
Differential Revision: https://reviews.freebsd.org/D50000

(cherry picked from commit c8e2458de590d7427ef3311412b8ddbc326cd3b5)
DeltaFile
+1-0sys/compat/linuxkpi/common/include/linux/pci_ids.h
+1-01 files

OPNSense/src 8168e9csys/compat/linuxkpi/common/include/net mac80211.h, sys/compat/linuxkpi/common/src linux_80211.c

LinuxKPI: 802.11: introduce mlo field to sta

Driver updates introduce a new field "mlo" to the sta.
Add the field to the struct and initialize it in the 802.11 compat
code along with a IMPROVE so once we get to 11be we can deal with it.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 71034267d861c183297bb209770004751f0e30c5)
DeltaFile
+2-0sys/compat/linuxkpi/common/src/linux_80211.c
+1-0sys/compat/linuxkpi/common/include/net/mac80211.h
+3-02 files

OPNSense/src f20e1f6sys/compat/linuxkpi/common/include/linux container_of.h

LinuxKPI: add container_of_const()

Implement container_of_const() needed for wireless driver updates.

Sponsored by:   The FreeBSD Foundation
Reviewed by:    emaste
Differential Revision: https://reviews.freebsd.org/D49999

(cherry picked from commit 6841b9987e83fdd9a5b05ceafc20811469222d8b)
DeltaFile
+8-0sys/compat/linuxkpi/common/include/linux/container_of.h
+8-01 files

OPNSense/src a072e67usr.sbin/bsdinstall/scripts auto

bsdinstall: Use a login shell for final configuration.

If the user accepts our offer of a shell to perform final configuration
tasks before rebooting, start a login shell.  This ensures it will have
the correct PATH and be able to install packages without issues.

PR:             286722
MFC after:      3 days
Reviewed by:    jrtc27, allanjude, emaste
Differential Revision:  https://reviews.freebsd.org/D50297

(cherry picked from commit 5870d6a1ef4ec5d6fc91d0f1635bca59e09a040d)
DeltaFile
+1-1usr.sbin/bsdinstall/scripts/auto
+1-11 files

OPNSense/src f2e51f2sys/dev/axgbe if_axgbe_pci.c xgbe-drv.c

axgbe: adjust for jumbo frames
DeltaFile
+2-2sys/dev/axgbe/if_axgbe_pci.c
+1-1sys/dev/axgbe/xgbe-drv.c
+3-32 files

OPNSense/src b6f1b14sbin/dhclient dhclient.c dispatch.c

dhclient: Keep two clocks

Until July 2024, dhclient kept track of time as seconds-since-epoch as
a time_t.  This was a problem because (a) we wanted sub-second timeouts
and (b) timeouts didn't always do the right thing if the system clock
changed.

Switching to using CLOCK_MONOTONIC and struct timespec fixed those
issues but introduced a new problem: CLOCK_MONOTONIC values were being
intepreted as seconds-since-epoch and written to the dhclient.leases
file, causing confusion with DHCP leases expiring in early 1970.

Attempt to compromise between these by keeping track of both times;
any type within dhclient which is a time_t now refers to seconds past
the epoch, while any struct timespec value is a CLOCK_MONOTONIC time.

PR:     283256
Reviewed by:    dch
Fixes:  f0a38976b01e ("dhclient: Use clock_gettime() instead of time()")

    [4 lines not shown]
DeltaFile
+22-28sbin/dhclient/dhclient.c
+9-5sbin/dhclient/dispatch.c
+2-2sbin/dhclient/dhcpd.h
+33-353 files

OPNSense/src 18b6a70lib/libc/sys close.2, sys/netinet tcp_usrreq.c

tcp: don't ever return ECONNRESET on close(2)

The SUS doesn't mention this error code as a possible one [1]. The FreeBSD
manual page specifies a possible ECONNRESET for close(2):

[ECONNRESET]    The underlying object was a stream socket that was
                shut down by the peer before all pending data was
                delivered.

In the past it had been EINVAL (see 21367f630d72), and this EINVAL was
added as a safety measure in 623dce13c64ef.  After conversion to
ECONNRESET it had been documented in the manual page in 78e3a7fdd51e6, but
I bet wasn't ever tested to actually be ever returned, cause the
tcp-testsuite[2] didn't exist back then.  So documentation is incorrect
since 2006, if my bet wins.  Anyway, in the modern FreeBSD the condition
described above doesn't end up with ECONNRESET error code from close(2).
The error condition is reported via SO_ERROR socket option, though.  This
can be checked using the tcp-testsuite, temporarily disabling the
getsockopt(SO_ERROR) lines using sed command [3].  Most of these

    [35 lines not shown]
DeltaFile
+1-4lib/libc/sys/close.2
+0-5sys/netinet/tcp_usrreq.c
+1-92 files

OPNSense/src 93392e0sys/netinet tcp_input.c

tcp: fix typos in comment

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.

(cherry picked from commit 2a0d26d793b2ff63d36305aa98047a4bc6a6cd8c)
DeltaFile
+1-1sys/netinet/tcp_input.c
+1-11 files

OPNSense/src 195b10cshare/man/man4 tcp.4, sys/netinet tcp_usrreq.c tcp_input.c

tcp: Add a sysctl to modify listening socket FIB inheritance

Introduce the net.inet.tcp.bind_all_fibs tunable, set to 1 by default
for compatibility with current behaviour.  When set to 0, all TCP
listening sockets are private to their FIB.  Inbound connection requests
will only succeed if a matching inpcb is bound to the same FIB as the
request.

No functional change intended, as the new behaviour is not enabled by
default.

Reviewed by:    glebius
MFC after:      2 weeks
Sponsored by:   Klara, Inc.
Sponsored by:   Stormshield
Differential Revision:  https://reviews.freebsd.org/D48663

(cherry picked from commit 5dc99e9bb985dce58e8fc85c09ef4e49bf051971)
DeltaFile
+31-1share/man/man4/tcp.4
+8-4sys/netinet/tcp_usrreq.c
+7-1sys/netinet/tcp_input.c
+2-0sys/netinet/tcp_var.h
+48-64 files

OPNSense/src 1c2b060sys/netinet tcp_subr.c tcp_hpts.c, sys/netinet/tcp_stacks rack.c

tcp: clear blackbox logging union

Clear the black box logging containing union rather than the u_bbr
structure for clarity and consistency. Currently u_bbr, u_raw, and
u64_raw are the same size.
No functional change intended.

Reviewed by:    tuexen
Sponsored by:   Netflix, Inc.

(cherry picked from commit 382af4d38b62675f00f64275793a6b5fccfe62fa)
DeltaFile
+31-31sys/netinet/tcp_stacks/rack.c
+2-2sys/netinet/tcp_subr.c
+1-1sys/netinet/tcp_hpts.c
+34-343 files

OPNSense/src 7f9c0c0sys/netinet in_systm.h, tools/build/test-includes badfiles.inc

netinet: Make in_systm.h self-contained

PR:             286539
MFC after:      3 days

(cherry picked from commit 75d173a84836d14b12a0f747ffed7d37766dd274)
DeltaFile
+2-0sys/netinet/in_systm.h
+0-1tools/build/test-includes/badfiles.inc
+2-12 files

OPNSense/src 4f344f2sys/netinet raw_ip.c, sys/netinet6 raw_ip6.c icmp6.c

rawip: Add a bind_all_fibs sysctl

As with net.inet.{tcp,udp}.bind_all_fibs, this causes raw sockets to
accept only packets from the same FIB.

Reviewed by:    glebius
Sponsored by:   Klara, Inc.
Sponsored by:   Stormshield
Differential Revision:  https://reviews.freebsd.org/D48707

(cherry picked from commit 4009a98fe80b8a51837d471076152e6ff505b675)
DeltaFile
+19-2sys/netinet/raw_ip.c
+12-2sys/netinet6/raw_ip6.c
+12-1sys/netinet6/icmp6.c
+43-53 files

OPNSense/src b834654sys/kern uipc_socket.c, sys/net rtsock.c

socket: Move SO_SETFIB handling to protocol layers

In particular, we store a FIB number in both struct socket and in struct
inpcb.  When updating the FIB number with setsockopt(SO_SETFIB), make
the update atomic.  This is required to support the new bind_all_fibs
mode, since in that mode changing the FIB of a bound socket is not
permitted.

This requires a bit more code, but avoids a layering violation in
sosetopt(), where we hard-code the list of protocol families that
implement SO_SETFIB.

Reviewed by:    glebius
MFC after:      2 weeks
Sponsored by:   Klara, Inc.
Sponsored by:   Stormshield
Differential Revision:  https://reviews.freebsd.org/D48666

(cherry picked from commit caccbaef8e263b1d769e7bcac1c4617bdc12d484)
DeltaFile
+14-15sys/kern/uipc_socket.c
+25-0sys/net/rtsock.c
+14-2sys/netinet/ip_output.c
+14-2sys/netinet6/ip6_output.c
+4-7sys/netinet/raw_ip.c
+4-7sys/netinet6/raw_ip6.c
+75-331 files not shown
+76-337 files

OPNSense/src f1d8938sys/netinet raw_ip.c

rawip: Take the inpcb lock when appropriate in rip_ctloutput()

Reviewed by:    glebius
MFC after:      1 week
Sponsored by:   Klara, Inc.
Sponsored by:   Stormshield
Differential Revision:  https://reviews.freebsd.org/D48344

(cherry picked from commit fd94571ccf0c9c6521063c08a72a760873e87897)
DeltaFile
+4-2sys/netinet/raw_ip.c
+4-21 files

OPNSense/src a47d77fsys/netlink/route rt.c

netlink/route: validate family attribute

PR:                     283818
(cherry picked from commit cdacb12065e4d85416655743da5bc6b17a9d9119)
DeltaFile
+3-3sys/netlink/route/rt.c
+3-31 files

OPNSense/src 5add872sys/netlink/route rt.c

netlink/route: fix fib number validation in old Linux compat mode

The value passed via old field also needs to be validated.

PR:                     283848
Fixes:                  f34aca55adef1e28cd68b2e6705a0cac03f0238e
(cherry picked from commit 031fbf8dc962ca8d458b217ba2b4a9e637b7e932)
DeltaFile
+3-3sys/netlink/route/rt.c
+3-31 files

OPNSense/src 4cd043bsys/netlink/route rt.c

netlink/route: fix nlattr_get_multipath() to check length

of supplied nexthop sub-attributes.  While here, use unsigned types for
length calculations and improve style(9).

PR:                     283860
(cherry picked from commit 49a6e213416b5c0c9eccdff0af1c6b01f34c3693)
DeltaFile
+22-10sys/netlink/route/rt.c
+22-101 files

OPNSense/src 96eb3edsys/contrib/dev/rtw89 wow.c

rtw89: make wow.c compile

So far we have not compiled wow.c given we do not enable CONFIG_PM
yet.
Make the necessary file local adjustments to make the file compile
once further changes in LinuxKPI 802.11 code are comitted.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 848fdcae0326db5b7c3edd2e8c264d25254abe1d)
DeltaFile
+35-0sys/contrib/dev/rtw89/wow.c
+35-01 files

OPNSense/src 75a6ccfsys/contrib/dev/rtw89 fw.c core.c

rtw89: merge Realtek's rtw89 driver based on Linux v6.14

This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
38fec10eb60d687e30c8c6b5420d86e8149f7557 ( tag: v6.14 ).

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit df279a26d3315e7abc9e6f0744137959a4c2fb86)
DeltaFile
+1,267-394sys/contrib/dev/rtw89/fw.c
+1,100-400sys/contrib/dev/rtw89/core.c
+818-245sys/contrib/dev/rtw89/phy.c
+657-322sys/contrib/dev/rtw89/mac.c
+832-141sys/contrib/dev/rtw89/mac80211.c
+731-168sys/contrib/dev/rtw89/coex.c
+5,405-1,67062 files not shown
+11,546-3,51568 files

OPNSense/src 53e30a7sys/contrib/dev/rtw88 rtw8812a_table.c rtw8821a_table.c

rtw88: merge Realtek's rtw88 driver based on Linux v6.14

This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
38fec10eb60d687e30c8c6b5420d86e8149f7557 ( tag: v6.14 ).

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit a0ccc12f6882a886d89ae279c541b2c2b62c6aca)
DeltaFile
+2,812-0sys/contrib/dev/rtw88/rtw8812a_table.c
+2,350-0sys/contrib/dev/rtw88/rtw8821a_table.c
+1,989-0sys/contrib/dev/rtw88/rtw88xxa.c
+1,223-0sys/contrib/dev/rtw88/rtw8821a.c
+1,122-0sys/contrib/dev/rtw88/rtw8812a.c
+404-41sys/contrib/dev/rtw88/usb.c
+9,900-4144 files not shown
+11,600-75850 files

OPNSense/src 664a23asys/contrib/dev/mediatek/mt76 zzz_fw_ports_fwget.sh, usr.sbin/fwget/pci pci_network_mediatek

fwget / mt76: update script to extra firmware and update fget(8)

Update the script to support all the sub-drivers we compile now.
Some minor polishing as well.

Update fwget(8) as more IDs were added.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 91f53f4e062715d869f2cb7e957707255390b704)
DeltaFile
+8-6sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh
+5-1usr.sbin/fwget/pci/pci_network_mediatek
+13-72 files

OPNSense/src ffb647asys/contrib/dev/iwlwififw WHENCE LICENCE.iwlwifi_firmware, sys/modules/iwlwififw Makefile Makefile.inc

iwlwififw: remove Intel iwlwifi firmware from src.git

Following the example of rtw88 and rtw89 only ship iwlwifi firmware
from ports/packages.  Users are asked to run fwget(8) to install the
firmware needed for their system or build it from ports
(see also UPDATING).

This is the end of a long story adding wireless support to fwget(8),
migrating the firmware for multiple branches into ports, splitting them
up into flavors, and updating some install media and the installer to
provide firmware.

The overall amount for new firmware amongst all drivers would have
added more than 100M of binary blobs to src.git for the first import,
ignoring future updates which (along with some duplication between
multiple drivers) was considered too much.

While maintenance within the src tree certainly would have been
easier in the longer term this seems to be the better solution and

    [14 lines not shown]
DeltaFile
+0-483sys/contrib/dev/iwlwififw/WHENCE
+0-39sys/contrib/dev/iwlwififw/LICENCE.iwlwifi_firmware
+0-31sys/modules/iwlwififw/Makefile
+0-19sys/modules/iwlwififw/Makefile.inc
+0-7sys/modules/iwlwififw/iwlwifi-so-a0-gf-a0-pnvm/Makefile
+0-7sys/modules/iwlwififw/iwlwifi-ty-a0-gf-a0-pnvm/Makefile
+0-58654 files not shown
+3-72160 files

OPNSense/src ffea740sys/compat/linuxkpi/common/include/linux ieee80211.h, sys/compat/linuxkpi/common/include/net cfg80211.h mac80211.h

LinuxKPI: 802.11: updates to headers for driver update

Move some structs into the appropriate header to be visible.
Add new fields to structs and enums.

Remove arguments from two functions (one function currently unused
by drivers in the tree, for the other the argument was unused).
Adjust the iwlwifi accordingly.  This is in preparation for new
driver versions to allow a smooth transition.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit e6010da63903cc6d9aac0077ab861cfd6bae2aa7)
DeltaFile
+23-1sys/compat/linuxkpi/common/include/net/cfg80211.h
+8-14sys/compat/linuxkpi/common/include/net/mac80211.h
+15-1sys/compat/linuxkpi/common/include/linux/ieee80211.h
+1-1sys/contrib/dev/iwlwifi/mvm/mac-ctxt.c
+47-174 files

OPNSense/src 0e403fbsys/contrib/dev/iwlwifi/mvm d3.c

iwlwifi: make mvm/d3.c compile again

Given we currently do not ompile the file by default make it compile
again after the last vendor import.

Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 52a43041d2a864961f0a1a109a7a7c4c6ebed918)
DeltaFile
+9-0sys/contrib/dev/iwlwifi/mvm/d3.c
+9-01 files

OPNSense/src 538b8e3sys/contrib/dev/iwlwifi/fw uefi.h

iwlwifi: fix iwl_uefi_get_uats_table() if not compiled with ACPI

Apply a temporary fix to FreeBSD only to allow AX101 to proceed
further.  While this fix results in a debug error message if
firmware debugging is on we currently take this for the version
we have.  A proper fix will eventually show up in future versions
of iwlwifi.

Sponsored by:   The FreeBSD Foundation
Reported by:    bapt
Tested by:      bapt

(cherry picked from commit 97ddb6371b7206c622de40745927e98f0dfd2e85)
DeltaFile
+4-0sys/contrib/dev/iwlwifi/fw/uefi.h
+4-01 files

OPNSense/src d9cbfa3sys/net if_vlan.c if_vlan_var.h

sys/net: add DOT1Q_VID_{MIN,MAX}

add a new typedef in if_vlan_var.h to represent the lowest (1) and
highest (4095) valid VLAN IDs in a .1q tag.

change if_vlan to use DOT1Q_VID_MAX instead of a magic number.

Reviewed by:    kp
Differential Revision:  https://reviews.freebsd.org/D49837

(cherry picked from commit c59492025073bd57c7dc3bb5bd843ab0a1391c7a)
DeltaFile
+1-1sys/net/if_vlan.c
+2-0sys/net/if_vlan_var.h
+3-12 files