FreeBSD/src 7d929a4sys/netpfil/pf pf_nl.c

pf: Fix timestamps and connection rate in source node export

When copying struct pf_ksrc_node into a netlink message some fields
change their meaning. In kernel creation and expire fields are storing
number of seconds since boot.

Add conversion to number of seconds relative to moment of exporting the
source node via netlink, as this is what pfctl expects. Add conversion
of connection rate count.

Reviewed by:            kp
Approved by:            kp (mentor)
Sponsored by:           InnoGames GmbH
Differential Revision:  https://reviews.freebsd.org/D47321
DeltaFile
+25-6sys/netpfil/pf/pf_nl.c
+25-61 files

FreeBSD/src e8eb309sys/netpfil/pf pf_ioctl.c

pf: Fix missing connection rate for DIOCGETSRCNODES

The function pf_src_node_copy() copies struct pf_ksrc_node to its ioctl
counterpart. It was missing copying of the conn_rate field, even though
the code for adjusting the output for pfctl was in place.

Add copying of conn_rate.

Reviewed by:            kp
Approved by:            kp (mentor)
MFC after:              2 weeks
Sponsored by:           InnoGames GmbH
Differential Revision:  https://reviews.freebsd.org/D47679
DeltaFile
+1-0sys/netpfil/pf/pf_ioctl.c
+1-01 files

FreeBSD/src f65bf06clang/include/clang/Basic BuiltinsLoongArchLASX.def BuiltinsLoongArchLSX.def, compiler-rt/lib/sanitizer_common sanitizer_linux.cpp

Vendor import of llvm-project branch release/19.x llvmorg-19.1.4-0-gaadaa00de76e, a.k.a. 19.1.4 release.
DeltaFile
+73-73clang/include/clang/Basic/BuiltinsLoongArchLASX.def
+66-66clang/include/clang/Basic/BuiltinsLoongArchLSX.def
+39-16compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
+8-45llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
+17-21llvm/lib/IR/Mangler.cpp
+31-3llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp
+234-22422 files not shown
+356-25428 files

FreeBSD/src 976ab14tools/tools/git git-arc.1 git-arc.sh

git-arc: Document how a reviewer group can be referenced

Reviewed by:    concussious.bugzilla_runbox.com, markj
Approved by:    markj (mentor)
Differential Revision:  https://reviews.freebsd.org/D47669
DeltaFile
+4-1tools/tools/git/git-arc.1
+2-2tools/tools/git/git-arc.sh
+6-32 files

FreeBSD/src 9431091release Makefile

release: Don't break if firmware install fails

On some platforms (e.g. powerpc) we don't have packages, so we can't
install them onto the ISOs.  Proceed with building the images anyway.

Reported by:    Weekly snapshot builds
Fixes:  7e2996c1f5b4 ("release: install wireless firmware onto disc1 and dvd")
MFC after:      1 minute

(cherry picked from commit e8263ace39c8ecf11233c0a10d0b1839e6813046)
DeltaFile
+2-2release/Makefile
+2-21 files

FreeBSD/src e8263acrelease Makefile

release: Don't break if firmware install fails

On some platforms (e.g. powerpc) we don't have packages, so we can't
install them onto the ISOs.  Proceed with building the images anyway.

Reported by:    Weekly snapshot builds
Fixes:  7e2996c1f5b4 ("release: install wireless firmware onto disc1 and dvd")
MFC after:      1 minute
DeltaFile
+2-2release/Makefile
+2-21 files

FreeBSD/src 60ec170release Makefile.mirrors

release: Remove empty suffix from file names

For "release" builds (as opposed to "snapshot" builds -- in this
context BETAs and RCs are "releases") ${SNAP_SUFFIX} is empty; but it
stuck into some ociimages filenames via a copy-and-paste error.

The final filenames on the download mirrors were not affected, so
this does not need to be merged to releng/14.2.

MFC after:      3 days
Sponsored by:   Amazon

(cherry picked from commit d54fdd16636bbe6a38a5b0a636dd83cf64aa6e06)
DeltaFile
+2-2release/Makefile.mirrors
+2-21 files

FreeBSD/src f6a3934sys/dev/ixgbe ixgbe_82599.c if_ix.c

ixgbe: Add support for 1Gbit DAC links

This is a relatively well known trick for the X520 (82599), can be
useful for testing and lab settings.  It's not an official standard or
particularly common but ubiquitous Broadcom switch ASICs deal with it.

We'll call it 1000Base-KX because it's SerDes on the passive cable and
I don't think it's worth adding another media type for this.

Reviewed by:    emaste
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D47352

(cherry picked from commit 48ddd1b9f88753c6875566fbb67bc622453e4993)
DeltaFile
+11-0sys/dev/ixgbe/ixgbe_82599.c
+6-1sys/dev/ixgbe/if_ix.c
+2-1sys/dev/ixgbe/ixgbe_phy.c
+19-23 files

FreeBSD/src 4de746esys/dev/ixgbe ixgbe_82599.c if_ix.c

ixgbe: Add support for 1Gbit DAC links

This is a relatively well known trick for the X520 (82599), can be
useful for testing and lab settings.  It's not an official standard or
particularly common but ubiquitous Broadcom switch ASICs deal with it.

We'll call it 1000Base-KX because it's SerDes on the passive cable and
I don't think it's worth adding another media type for this.

Reviewed by:    emaste
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D47352

(cherry picked from commit 48ddd1b9f88753c6875566fbb67bc622453e4993)
DeltaFile
+11-0sys/dev/ixgbe/ixgbe_82599.c
+6-1sys/dev/ixgbe/if_ix.c
+2-1sys/dev/ixgbe/ixgbe_phy.c
+19-23 files

FreeBSD/src cf6a871sys/dev/e1000 e1000_82575.c

e1000: Improve igb(4) SFP support

* Adds support for SFPs that are not correctly coded as an SFP
  transceiver. i.e. Coherent-Finisar FCLF8522P2BTL.
* Configures multi-rate SFPs i.e. Coherent-Finisar FCLF8522P2BTL as
  SGMII so they can do 10/100/1000 auto-negotiation.
* Adds support for 100BaseLX SGMII transceivers.
* Some code cleanup and additional debugging.

Reviewed by:    emaste, markj, Franco Fichtner <franco at opnsense.org>
Tested by:      Natalino Picone <natalino.picone at nozominetworks.com>
Sponsored by:   Nozomi Networks
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D47337

(cherry picked from commit 15853a5fc9548d9805a2ef22f24e2eb580198341)
DeltaFile
+21-19sys/dev/e1000/e1000_82575.c
+21-191 files

FreeBSD/src c66d279sys/dev/e1000 e1000_82575.c

e1000: Improve igb(4) SFP support

* Adds support for SFPs that are not correctly coded as an SFP
  transceiver. i.e. Coherent-Finisar FCLF8522P2BTL.
* Configures multi-rate SFPs i.e. Coherent-Finisar FCLF8522P2BTL as
  SGMII so they can do 10/100/1000 auto-negotiation.
* Adds support for 100BaseLX SGMII transceivers.
* Some code cleanup and additional debugging.

Reviewed by:    emaste, markj, Franco Fichtner <franco at opnsense.org>
Tested by:      Natalino Picone <natalino.picone at nozominetworks.com>
Sponsored by:   Nozomi Networks
Sponsored by:   BBOX.io
Differential Revision:  https://reviews.freebsd.org/D47337

(cherry picked from commit 15853a5fc9548d9805a2ef22f24e2eb580198341)
DeltaFile
+21-19sys/dev/e1000/e1000_82575.c
+21-191 files

FreeBSD/src 1f78bbbusr.sbin/newsyslog newsyslog.c newsyslog.conf.5

newsyslog.conf(5): Accept human unit suffix in the size filed

MFC after:      1 week
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1505
DeltaFile
+16-3usr.sbin/newsyslog/newsyslog.c
+6-3usr.sbin/newsyslog/newsyslog.conf.5
+1-1usr.sbin/newsyslog/Makefile
+23-73 files

FreeBSD/src ab540d4sys/dev/igc if_igc.c igc_regs.h

igc: sysctl for TCP flag handling during TSO

Add tso_tcp_flags_mask_first_segment, tso_tcp_flags_mask_middle_segment,
and tso_tcp_flags_mask_last_segment sysctl-variables to control the
handling of TCP flags during TSO.

This allows to change the masks appropriate for classical ECN and to
configure appropriate masks for accurate ECN.

MFC after:      3 days
Sponsored by:   Netflix
DeltaFile
+59-0sys/dev/igc/if_igc.c
+2-0sys/dev/igc/igc_regs.h
+61-02 files

FreeBSD/src 90853dfsys/dev/e1000 if_em.c

e1000: sysctl for TCP flag handling during TSO

Add tso_tcp_flags_mask_first_segment, tso_tcp_flags_mask_middle_segment,
and tso_tcp_flags_mask_last_segment sysctl-variables to control the
handling of TCP flags during TSO.

This allows to change the masks appropriate for classical ECN and to
configure appropriate masks for accurate ECN.

Reviewed by:    rrs
MFC after:      3 days
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D44259
DeltaFile
+56-0sys/dev/e1000/if_em.c
+56-01 files

FreeBSD/src d99eb82sys/dev/rtwn if_rtwnvar.h, sys/dev/rtwn/usb rtwn_usb_tx.c rtwn_usb_attach.c

rtwn: change the USB TX transfers to only do one pending transfer per endpoint

I found I was getting constant device timeouts when doing anything
more complicated than a single SSH on laptop with RTL8811AU.

After digging into it, i found a variety of fun situations, including
traffic stalls that would recover w/ a shorter (1 second) USB transfer
timeout.  However, the big one is a straight up hang of any TX endpoint
until the NIC was reset.  The RX side kept going just fine; only the
TX endpoints would hang.

Reproducing it was easy - just start up a couple of traffic streams
on different WME AC's - eg a best effort + bulk transfer, like
browsing the web and doing an ssh clone - throw in a ping -i 0.1
to your gateway, and it would very quickly hit device timeouts every
couple of seconds.

I put everything into a single TX EP and the hangs went away.
Well, mostly.

    [38 lines not shown]
DeltaFile
+82-18sys/dev/rtwn/usb/rtwn_usb_tx.c
+17-9sys/dev/rtwn/usb/rtwn_usb_attach.c
+17-6sys/dev/rtwn/usb/rtwn_usb_ep.c
+8-4sys/dev/rtwn/usb/rtwn_usb_var.h
+4-1sys/dev/rtwn/usb/rtwn_usb_tx.h
+1-1sys/dev/rtwn/if_rtwnvar.h
+129-396 files

FreeBSD/src eea2e08sys/dev/ixgbe if_ix.c

ixgbe: sysctl for TCP flag handling during TSO

Add tso_tcp_flags_mask_first_segment, tso_tcp_flags_mask_middle_segment,
and tso_tcp_flags_mask_last_segment sysctl-variables to control the
handling of TCP flags during TSO.

This allows to fix the masks appropriate for classical ECN and to
configure appropriate masks for accurate ECN.

Michael notes emperically 82599 has an unexpected middle mask:
Chip  First Middle Last
82599 0xFF6 0xFF6  0xF7F

which should be fixed up to 0xF76 (RFC 3168) in a future commit.

Reviewed by:    rrs, rscheff
MFC after:      3 days
Sponsored by:   Netflix
Differential Revision:  https://reviews.freebsd.org/D44258
DeltaFile
+56-0sys/dev/ixgbe/if_ix.c
+56-01 files

FreeBSD/src 2e8ab3dlib/libc/sys fork.2

fork: Document _Fork (and fork) as POSIX 2024

Also remove some information from HISTORY that is no longer needed (and
could be confusing), now that _Fork is part of a standard.

Reported by:    kib
Reviewed by:    imp, kib
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47588

(cherry picked from commit 566c039d1e7555343fcf6439a10e56f5a632c0fe)
DeltaFile
+7-7lib/libc/sys/fork.2
+7-71 files

FreeBSD/src 098ed26lib/libc/stdio printf.3 mktemp.3, lib/libc/stdlib reallocarray.3 getenv.3

libc: indicate existing functions that are POSIX 2024

Reviewed by:    brooks, imp
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47581

(cherry picked from commit dfa0ac74c2fbc1cde3e8cdb1ab9fe5cbb90a9b16)
DeltaFile
+6-0lib/libc/stdio/printf.3
+3-3lib/libc/string/memmem.3
+4-1lib/libc/stdio/mktemp.3
+4-0lib/libc/stdlib/reallocarray.3
+2-1lib/libc/stdlib/getenv.3
+19-55 files

FreeBSD/src 3789810sys/netinet tcp_input.c

tcp: avoid bcopy() in tcp_mss_update()
DeltaFile
+5-8sys/netinet/tcp_input.c
+5-81 files

FreeBSD/src 2944a88sys/netinet tcp_subr.c

tcp: remove so != NULL check

In the modern FreeBSD network stack a socket outlives its tcpcb.
DeltaFile
+1-6sys/netinet/tcp_subr.c
+1-61 files

FreeBSD/src b80c06csys/netinet tcp_hostcache.c tcp_var.h

tcp: use const argument in the TCP hostcache KPI

The hostcache can't modify tcpcb, inpcb or connection info.
DeltaFile
+8-7sys/netinet/tcp_hostcache.c
+4-4sys/netinet/tcp_var.h
+12-112 files

FreeBSD/src 09000ccsys/netinet tcp_hostcache.c tcp_input.c

tcp: mechanically rename hostcache metrics structure fields

Use hc_ prefix instead of rmx_.  The latter stands for "route metrix" and
is an artifact from the 90-ies, when TCP caching was embedded into the
routing table.  The rename should have happened back in 97d8d152c28bb.

No functional change. Done with sed(1) command:

s/rmx_(mtu|ssthresh|rtt|rttvar|cwnd|sendpipe|recvpipe|granularity|expire|q|hits|updates)/hc_\1/g
DeltaFile
+93-93sys/netinet/tcp_hostcache.c
+11-11sys/netinet/tcp_input.c
+7-7sys/netinet/tcp_var.h
+6-6sys/netinet/tcp_subr.c
+117-1174 files

FreeBSD/src 7d0c12eusr.sbin/bsdinstall/scripts wlanconfig

bsdinstall: wlanconfig: fix interface UP on (re-)starting wpa_supplicant

Make sure an interface is back up before (re-)starting wpa_supplicant
in wlanconfig not relying on wpa to UP the interface (though we fixed
that).

Sponsored by:   The FreeBSD Foundation
Reviewed by:    emaste (in D47491)
Differential Revision: https://reviews.freebsd.org/D47491

(cherry picked from commit 5399052c63a7a3d2f54615d31bfd092ab887a600)
DeltaFile
+2-1usr.sbin/bsdinstall/scripts/wlanconfig
+2-11 files

FreeBSD/src 15f6edfusr.sbin/bsdinstall bsdinstall.8, usr.sbin/bsdinstall/scripts firmware Makefile

bsdinstall: add menu to install firmware

Add a menu to the installer to run fwget(8) inside the newly installed
system to install firmware known to be needed.
This requires working netowrking.

This is needed at least for wireless currently for when we entirely
stop shipping new firmware in src.git to have working networking on
the installed system (we already do need this for at least rtw89).

Sponsored by:   The FreeBSD Foundation
Tested with:    4 different iwlwifi chipsets in a system (earlier version)
Suggested improvments by: jrtc27
Differential Revision: https://reviews.freebsd.org/D47491

(cherry picked from commit bbe2a1da2df639c616869aa838244c8094779bd4)
DeltaFile
+125-0usr.sbin/bsdinstall/scripts/firmware
+18-1usr.sbin/bsdinstall/bsdinstall.8
+1-0usr.sbin/bsdinstall/scripts/Makefile
+1-0usr.sbin/bsdinstall/scripts/auto
+145-14 files

FreeBSD/src b620125release Makefile

release: install wireless firmware onto disc1 and dvd

Wireless driver firmware is no longer added to the src tree.
In order to have wireless support in the installer for the new drivers
we install the firmware packages onto disc1 (and memstick) and dvd
if built on FreeBSD and NOPKG is not defined (to not break cross-builds
from Linux or OSX and to allow people to opt-out).

Sponsored by:   The FreeBSD Foundation
Submitted by:   cperciva (the orig. commands and where to place them)
Reviewed by:    jrtc27
Differential Revision: https://reviews.freebsd.org/D47407

(cherry picked from commit 7e2996c1f5b4e684cae40c2418b68061df9997d9)
DeltaFile
+19-0release/Makefile
+19-01 files

FreeBSD/src 8de007ashare/man/man4 igc.4

igc.4: Remove non-existent timer tunables

These were removed in a40ecb6f7405 because they do not apply to igc
hardware which uses EITR for interval timing.

MFC after:      3 days
Sponsored by:   BBOX.io
DeltaFile
+0-15share/man/man4/igc.4
+0-151 files

FreeBSD/src 87e87fetools/tools/nanobsd legacy.sh

nanobsd: Remove dependency on bsdlabel

The bsdlabel utility is deprecated, gpart should be used instead:

  - Offset the first 16 sectors, just like bsdlabel did (used for
    metadata)
  - Use a freebsd-ufs partition type (regardless bsdlabel creating a
    '!0')

Reviewed by:    emaste, imp
Approved by:    emaste (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D47653
DeltaFile
+3-2tools/tools/nanobsd/legacy.sh
+3-21 files

FreeBSD/src accf715sys/geom/part g_part_bsd.c

geom: Allow BSD type '!0' partitions

Allow the creation of '!0' partition types.

Fix it by not considering "0" an invalid partition type.

Reviewed by:    emaste
Approved by:    emaste (mentor)
MFC after:      1 month
Differential Revision:  https://reviews.freebsd.org/D47652
DeltaFile
+1-1sys/geom/part/g_part_bsd.c
+1-11 files

FreeBSD/src 08d0ebeshare/man/man5 pf.conf.5, sys/netpfil/pf pf_lb.c

pf: Let rdr rules modify the src port if doing so would avoid a conflict

If NAT rules cause inbound connections to different external IPs to be
mapped to the same internal IP, and some application uses the same
source port for multiple such connections, rdr translation may result in
conflicts that cause some of the connections to be dropped.

Address this by letting rdr rules detect state conflicts and modulate
the source port to avoid them.

Reviewed by:    kp, allanjude
MFC after:      3 months
Sponsored by:   Klara, Inc.
Sponsored by:   Modirum
Differential Revision:  https://reviews.freebsd.org/D44488

(cherry picked from commit 9897a66923a3e79c22fcbd4bc80afae9eb9f277c)
DeltaFile
+100-0tests/sys/netpfil/pf/rdr.sh
+63-7sys/netpfil/pf/pf_lb.c
+20-0tests/sys/netpfil/pf/rdr-srcport.py
+7-2share/man/man5/pf.conf.5
+1-0tests/sys/netpfil/pf/Makefile
+191-95 files

FreeBSD/src f5b3ce0tests/sys/netpfil/pf rdr.sh

pf: Correct SPDX identifier

Pointed out by: Mike Karels <karels at FreeBSD.org>

(cherry picked from commit 3db693f7da8a1aaf0a8887e7791ebb5d67c7a2d9)
DeltaFile
+1-1tests/sys/netpfil/pf/rdr.sh
+1-11 files