]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Merge tag 'net-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Oct 2025 22:17:01 +0000 (15:17 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 2 Oct 2025 22:17:01 +0000 (15:17 -0700)
Pull networking updates from Paolo Abeni:
 "Core & protocols:

   - Improve drop account scalability on NUMA hosts for RAW and UDP
     sockets and the backlog, almost doubling the Pps capacity under DoS

   - Optimize the UDP RX performance under stress, reducing contention,
     revisiting the binary layout of the involved data structs and
     implementing NUMA-aware locking. This improves UDP RX performance
     by an additional 50%, even more under extreme conditions

   - Add support for PSP encryption of TCP connections; this mechanism
     has some similarities with IPsec and TLS, but offers superior HW
     offloads capabilities

   - Ongoing work to support Accurate ECN for TCP. AccECN allows more
     than one congestion notification signal per RTT and is a building
     block for Low Latency, Low Loss, and Scalable Throughput (L4S)

   - Reorganize the TCP socket binary layout for data locality, reducing
     the number of touched cachelines in the fastpath

   - Refactor skb deferral free to better scale on large multi-NUMA
     hosts, this improves TCP and UDP RX performances significantly on
     such HW

   - Increase the default socket memory buffer limits from 256K to 4M to
     better fit modern link speeds

   - Improve handling of setups with a large number of nexthop, making
     dump operating scaling linearly and avoiding unneeded
     synchronize_rcu() on delete

   - Improve bridge handling of VLAN FDB, storing a single entry per
     bridge instead of one entry per port; this makes the dump order of
     magnitude faster on large switches

   - Restore IP ID correctly for encapsulated packets at GSO
     segmentation time, allowing GRO to merge packets in more scenarios

   - Improve netfilter matching performance on large sets

   - Improve MPTCP receive path performance by leveraging recently
     introduced core infrastructure (skb deferral free) and adopting
     recent TCP autotuning changes

   - Allow bridges to redirect to a backup port when the bridge port is
     administratively down

   - Introduce MPTCP 'laminar' endpoint that con be used only once per
     connection and simplify common MPTCP setups

   - Add RCU safety to dst->dev, closing a lot of possible races

   - A significant crypto library API for SCTP, MPTCP and IPv6 SR,
     reducing code duplication

   - Supports pulling data from an skb frag into the linear area of an
     XDP buffer

  Things we sprinkled into general kernel code:

   - Generate netlink documentation from YAML using an integrated YAML
     parser

  Driver API:

   - Support using IPv6 Flow Label in Rx hash computation and RSS queue
     selection

   - Introduce API for fetching the DMA device for a given queue,
     allowing TCP zerocopy RX on more H/W setups

   - Make XDP helpers compatible with unreadable memory, allowing more
     easily building DevMem-enabled drivers with a unified XDP/skbs
     datapath

   - Add a new dedicated ethtool callback enabling drivers to provide
     the number of RX rings directly, improving efficiency and clarity
     in RX ring queries and RSS configuration

   - Introduce a burst period for the health reporter, allowing better
     handling of multiple errors due to the same root cause

   - Support for DPLL phase offset exponential moving average,
     controlling the average smoothing factor

  Device drivers:

   - Add a new Huawei driver for 3rd gen NIC (hinic3)

   - Add a new SpacemiT driver for K1 ethernet MAC

   - Add a generic abstraction for shared memory communication
     devices (dibps)

   - Ethernet high-speed NICs:
      - nVidia/Mellanox:
         - Use multiple per-queue doorbell, to avoid MMIO contention
           issues
         - support adjacent functions, allowing them to delegate their
           SR-IOV VFs to sibling PFs
         - support RSS for IPSec offload
         - support exposing raw cycle counters in PTP and mlx5
         - support for disabling host PFs.
      - Intel (100G, ice, idpf):
         - ice: support for SRIOV VFs over an Active-Active link
           aggregate
         - ice: support for firmware logging via debugfs
         - ice: support for Earliest TxTime First (ETF) hardware offload
         - idpf: support basic XDP functionalities and XSk
      - Broadcom (bnxt):
         - support Hyper-V VF ID
         - dynamic SRIOV resource allocations for RoCE
      - Meta (fbnic):
         - support queue API, zero-copy Rx and Tx
         - support basic XDP functionalities
         - devlink health support for FW crashes and OTP mem corruptions
         - expand hardware stats coverage to FEC, PHY, and Pause
      - Wangxun:
         - support ethtool coalesce options
         - support for multiple RSS contexts

   - Ethernet virtual:
      - Macsec:
         - replace custom netlink attribute checks with policy-level
           checks
      - Bonding:
         - support aggregator selection based on port priority
      - Microsoft vNIC:
         - use page pool fragments for RX buffers instead of full pages
           to improve memory efficiency

   - Ethernet NICs consumer, and embedded:
      - Qualcomm: support Ethernet function for IPQ9574 SoC
      - Airoha: implement wlan offloading via NPU
      - Freescale
         - enetc: add NETC timer PTP driver and add PTP support
         - fec: enable the Jumbo frame support for i.MX8QM
      - Renesas (R-Car S4):
         - support HW offloading for layer 2 switching
         - support for RZ/{T2H, N2H} SoCs
      - Cadence (macb): support TAPRIO traffic scheduling
      - TI:
         - support for Gigabit ICSS ethernet SoC (icssm-prueth)
      - Synopsys (stmmac): a lot of cleanups

   - Ethernet PHYs:
      - Support 10g-qxgmi phy-mode for AQR412C, Felix DSA and Lynx PCS
        driver
      - Support bcm63268 GPHY power control
      - Support for Micrel lan8842 PHY and PTP
      - Support for Aquantia AQR412 and AQR115

   - CAN:
      - a large CAN-XL preparation work
      - reorganize raw_sock and uniqframe struct to minimize memory
        usage
      - rcar_canfd: update the CAN-FD handling

   - WiFi:
      - extended Neighbor Awareness Networking (NAN) support
      - S1G channel representation cleanup
      - improve S1G support

   - WiFi drivers:
      - Intel (iwlwifi):
         - major refactor and cleanup
      - Broadcom (brcm80211):
         - support for AP isolation
      - RealTek (rtw88/89) rtw88/89:
         - preparation work for RTL8922DE support
      - MediaTek (mt76):
         - HW restart improvements
         - MLO support
      - Qualcomm/Atheros (ath10k):
         - GTK rekey fixes

   - Bluetooth drivers:
      - btusb: support for several new IDs for MT7925
      - btintel: support for BlazarIW core
      - btintel_pcie: support for _suspend() / _resume()
      - btintel_pcie: support for Scorpious, Panther Lake-H484 IDs"

* tag 'net-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1536 commits)
  net: stmmac: Add support for Allwinner A523 GMAC200
  dt-bindings: net: sun8i-emac: Add A523 GMAC200 compatible
  Revert "Documentation: net: add flow control guide and document ethtool API"
  octeontx2-pf: fix bitmap leak
  octeontx2-vf: fix bitmap leak
  net/mlx5e: Use extack in set rxfh callback
  net/mlx5e: Introduce mlx5e_rss_params for RSS configuration
  net/mlx5e: Introduce mlx5e_rss_init_params
  net/mlx5e: Remove unused mdev param from RSS indir init
  net/mlx5: Improve QoS error messages with actual depth values
  net/mlx5e: Prevent entering switchdev mode with inconsistent netns
  net/mlx5: HWS, Generalize complex matchers
  net/mlx5: Improve write-combining test reliability for ARM64 Grace CPUs
  selftests/net: add tcp_port_share to .gitignore
  Revert "net/mlx5e: Update and set Xon/Xoff upon MTU set"
  net: add NUMA awareness to skb_attempt_defer_free()
  net: use llist for sd->defer_list
  net: make softnet_data.defer_count an atomic
  selftests: drv-net: psp: add tests for destroying devices
  selftests: drv-net: psp: add test for auto-adjusting TCP MSS
  ...

16 files changed:
1  2 
.mailmap
Documentation/devicetree/bindings/net/ethernet-controller.yaml
MAINTAINERS
arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts
arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts
arch/riscv/boot/dts/spacemit/k1.dtsi
arch/s390/configs/debug_defconfig
arch/s390/configs/defconfig
drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c
io_uring/zcrx.c
net/core/filter.c
net/core/net-sysfs.c
net/ipv4/inet_timewait_sock.c
net/ipv4/tcp_metrics.c
net/socket.c
rust/kernel/net/phy.rs

diff --cc .mailmap
index 23eb307d88c91610a8d49d996424f3522efd64e7,ddc4ca07267dba32f63c53a3bf7e01ae1b56a164..d30f9363a4c981599a36c5c113b48fb19ed18864
+++ b/.mailmap
@@@ -820,8 -818,8 +822,9 @@@ Valentin Schneider <vschneid@redhat.com
  Veera Sundaram Sankaran <quic_veeras@quicinc.com> <veeras@codeaurora.org>
  Veerabhadrarao Badiganti <quic_vbadigan@quicinc.com> <vbadigan@codeaurora.org>
  Venkateswara Naralasetty <quic_vnaralas@quicinc.com> <vnaralas@codeaurora.org>
 -Vikash Garodia <quic_vgarodia@quicinc.com> <vgarodia@codeaurora.org>
 +Vikash Garodia <vikash.garodia@oss.qualcomm.com> <vgarodia@codeaurora.org>
 +Vikash Garodia <vikash.garodia@oss.qualcomm.com> <quic_vgarodia@quicinc.com>
+ Vincent Mailhol <mailhol@kernel.org> <mailhol.vincent@wanadoo.fr>
  Vinod Koul <vkoul@kernel.org> <vinod.koul@intel.com>
  Vinod Koul <vkoul@kernel.org> <vinod.koul@linux.intel.com>
  Vinod Koul <vkoul@kernel.org> <vkoul@infradead.org>
diff --cc MAINTAINERS
index 3a8e93fa8a52caf52a2197c0b19cad6338454e74,7b5a3caebf68ceea5b1ec3466d2260d74c68c828..1e47a829d5bc099c84034d9c73893991577fe529
@@@ -18506,12 -18300,15 +18511,21 @@@ F:        Documentation/devicetree/bindings/cl
  F:    drivers/clk/imx/
  F:    include/dt-bindings/clock/*imx*
  
+ NXP NETC TIMER PTP CLOCK DRIVER
+ M:    Wei Fang <wei.fang@nxp.com>
+ M:    Clark Wang <xiaoning.wang@nxp.com>
+ L:    imx@lists.linux.dev
+ L:    netdev@vger.kernel.org
+ S:    Maintained
+ F:    Documentation/devicetree/bindings/ptp/nxp,ptp-netc.yaml
+ F:    drivers/ptp/ptp_netc.c
 +NXP PF5300/PF5301/PF5302 PMIC REGULATOR DEVICE DRIVER
 +M:    Woodrow Douglass <wdouglass@carnegierobotics.com>
 +S:    Maintained
 +F:    Documentation/devicetree/bindings/regulator/nxp,pf5300.yaml
 +F:    drivers/regulator/pf530x-regulator.c
 +
  NXP PF8100/PF8121A/PF8200 PMIC REGULATOR DEVICE DRIVER
  M:    Jagan Teki <jagan@amarulasolutions.com>
  S:    Maintained
index 6013be25854283a95e630098c1fde55e33e08018,33e223cefd4bd3a12fae176ac6cddd8276cb53dc..2aaaff77831e161d730d943245e3ed4037ffd4bf
        status = "okay";
  };
  
+ &eth0 {
+       phy-handle = <&rgmii0>;
+       phy-mode = "rgmii-id";
+       pinctrl-names = "default";
+       pinctrl-0 = <&gmac0_cfg>;
+       rx-internal-delay-ps = <0>;
+       tx-internal-delay-ps = <0>;
+       status = "okay";
+       mdio-bus {
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               reset-gpios = <&gpio K1_GPIO(110) GPIO_ACTIVE_LOW>;
+               reset-delay-us = <10000>;
+               reset-post-delay-us = <100000>;
+               rgmii0: phy@1 {
+                       reg = <0x1>;
+               };
+       };
+ };
+ &eth1 {
+       phy-handle = <&rgmii1>;
+       phy-mode = "rgmii-id";
+       pinctrl-names = "default";
+       pinctrl-0 = <&gmac1_cfg>;
+       rx-internal-delay-ps = <0>;
+       tx-internal-delay-ps = <250>;
+       status = "okay";
+       mdio-bus {
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               reset-gpios = <&gpio K1_GPIO(115) GPIO_ACTIVE_LOW>;
+               reset-delay-us = <10000>;
+               reset-post-delay-us = <100000>;
+               rgmii1: phy@1 {
+                       reg = <0x1>;
+               };
+       };
+ };
 +&pdma {
 +      status = "okay";
 +};
 +
  &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_2_cfg>;
index c615fcadbd333adc749b758f7f814126783f87fb,89f4132778931a5edde75dde675502a3211a210d..28afd39b28da3f07d53455423f6b33806ed86b61
        };
  };
  
+ &eth0 {
+       phy-handle = <&rgmii0>;
+       phy-mode = "rgmii-id";
+       pinctrl-names = "default";
+       pinctrl-0 = <&gmac0_cfg>;
+       rx-internal-delay-ps = <0>;
+       tx-internal-delay-ps = <0>;
+       status = "okay";
+       mdio-bus {
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               reset-gpios = <&gpio K1_GPIO(110) GPIO_ACTIVE_LOW>;
+               reset-delay-us = <10000>;
+               reset-post-delay-us = <100000>;
+               rgmii0: phy@1 {
+                       reg = <0x1>;
+               };
+       };
+ };
+ &eth1 {
+       phy-handle = <&rgmii1>;
+       phy-mode = "rgmii-id";
+       pinctrl-names = "default";
+       pinctrl-0 = <&gmac1_cfg>;
+       rx-internal-delay-ps = <0>;
+       tx-internal-delay-ps = <250>;
+       status = "okay";
+       mdio-bus {
+               #address-cells = <0x1>;
+               #size-cells = <0x0>;
+               reset-gpios = <&gpio K1_GPIO(115) GPIO_ACTIVE_LOW>;
+               reset-delay-us = <10000>;
+               reset-post-delay-us = <100000>;
+               rgmii1: phy@1 {
+                       reg = <0x1>;
+               };
+       };
+ };
 +&pdma {
 +      status = "okay";
 +};
 +
  &uart0 {
        pinctrl-names = "default";
        pinctrl-0 = <&uart0_2_cfg>;
Simple merge
index 99467f2dc01840070591c9b41de3a5b1708c9096,fdde8ee0d7bdd42848391c2ef5e3f56909d9240d..b31c1df902577cec889393a5c857e6588f2839b4
@@@ -118,15 -118,12 +118,17 @@@ CONFIG_PACKET=
  CONFIG_PACKET_DIAG=m
  CONFIG_UNIX=y
  CONFIG_UNIX_DIAG=m
 +CONFIG_TLS=m
 +CONFIG_TLS_DEVICE=y
 +CONFIG_TLS_TOE=y
  CONFIG_XFRM_USER=m
  CONFIG_NET_KEY=m
 +CONFIG_XDP_SOCKETS=y
 +CONFIG_XDP_SOCKETS_DIAG=m
+ CONFIG_DIBS=y
+ CONFIG_DIBS_LO=y
+ CONFIG_SMC=m
  CONFIG_SMC_DIAG=m
- CONFIG_SMC_LO=y
  CONFIG_INET=y
  CONFIG_IP_MULTICAST=y
  CONFIG_IP_ADVANCED_ROUTER=y
index a8573807e0c0759745b6f6e2369d03f237d2c3ee,bf9e7dbd4a89507f0c3333b0ce0334952c13ab8e..161dad7ef211ad16a5a529c7f66f8e70edd941c2
@@@ -109,15 -109,12 +109,17 @@@ CONFIG_PACKET=
  CONFIG_PACKET_DIAG=m
  CONFIG_UNIX=y
  CONFIG_UNIX_DIAG=m
 +CONFIG_TLS=m
 +CONFIG_TLS_DEVICE=y
 +CONFIG_TLS_TOE=y
  CONFIG_XFRM_USER=m
  CONFIG_NET_KEY=m
 +CONFIG_XDP_SOCKETS=y
 +CONFIG_XDP_SOCKETS_DIAG=m
+ CONFIG_DIBS=y
+ CONFIG_DIBS_LO=y
+ CONFIG_SMC=m
  CONFIG_SMC_DIAG=m
- CONFIG_SMC_LO=y
  CONFIG_INET=y
  CONFIG_IP_MULTICAST=y
  CONFIG_IP_ADVANCED_ROUTER=y
diff --cc io_uring/zcrx.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
diff --cc net/socket.c
Simple merge
Simple merge