Skip to content

Commit 07fdad3

Browse files
committed
Merge tag 'net-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
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 ...
2 parents f79e772 + f145569 commit 07fdad3

File tree

1,549 files changed

+79583
-27816
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,549 files changed

+79583
-27816
lines changed

.mailmap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,8 @@ Sriram Yagnaraman <[email protected]> <[email protected]>
745745
Stanislav Fomichev <[email protected]> <[email protected]>
746746
Stanislav Fomichev <[email protected]> <[email protected]>
747747
748+
Stéphane Grosjean <[email protected]> <[email protected]>
749+
Stéphane Grosjean <[email protected]> <[email protected]>
748750
Stéphane Witzmann <[email protected]>
749751
750752
@@ -822,6 +824,7 @@ Veerabhadrarao Badiganti <[email protected]> <[email protected]>
822824
Venkateswara Naralasetty <[email protected]> <[email protected]>
823825
824826
827+
825828
826829
827830
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
What: /sys/bus/platform/devices/xxx/version
2+
Date: Sep 2025
3+
4+
Description: Reports the version of the PEF2256 framer
5+
6+
Access: Read
7+
8+
Valid values: Represented as string

Documentation/Makefile

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -104,22 +104,6 @@ quiet_cmd_sphinx = SPHINX $@ --> file://$(abspath $(BUILDDIR)/$3/$4)
104104
cp $(if $(patsubst /%,,$(DOCS_CSS)),$(abspath $(srctree)/$(DOCS_CSS)),$(DOCS_CSS)) $(BUILDDIR)/$3/_static/; \
105105
fi
106106

107-
YNL_INDEX:=$(srctree)/Documentation/networking/netlink_spec/index.rst
108-
YNL_RST_DIR:=$(srctree)/Documentation/networking/netlink_spec
109-
YNL_YAML_DIR:=$(srctree)/Documentation/netlink/specs
110-
YNL_TOOL:=$(srctree)/tools/net/ynl/pyynl/ynl_gen_rst.py
111-
112-
YNL_RST_FILES_TMP := $(patsubst %.yaml,%.rst,$(wildcard $(YNL_YAML_DIR)/*.yaml))
113-
YNL_RST_FILES := $(patsubst $(YNL_YAML_DIR)%,$(YNL_RST_DIR)%, $(YNL_RST_FILES_TMP))
114-
115-
$(YNL_INDEX): $(YNL_RST_FILES)
116-
$(Q)$(YNL_TOOL) -o $@ -x
117-
118-
$(YNL_RST_DIR)/%.rst: $(YNL_YAML_DIR)/%.yaml $(YNL_TOOL)
119-
$(Q)$(YNL_TOOL) -i $< -o $@
120-
121-
htmldocs texinfodocs latexdocs epubdocs xmldocs: $(YNL_INDEX)
122-
123107
htmldocs:
124108
@$(srctree)/scripts/sphinx-pre-install --version-check
125109
@+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var)))
@@ -186,7 +170,6 @@ refcheckdocs:
186170
$(Q)cd $(srctree);scripts/documentation-file-ref-check
187171

188172
cleandocs:
189-
$(Q)rm -f $(YNL_INDEX) $(YNL_RST_FILES)
190173
$(Q)rm -rf $(BUILDDIR)
191174
$(Q)$(MAKE) BUILDDIR=$(abspath $(BUILDDIR)) $(build)=Documentation/userspace-api/media clean
192175

Documentation/admin-guide/sysctl/net.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,8 @@ rmem_max
222222

223223
The maximum receive socket buffer size in bytes.
224224

225+
Default: 4194304
226+
225227
rps_default_mask
226228
----------------
227229

@@ -247,6 +249,8 @@ wmem_max
247249

248250
The maximum send socket buffer size in bytes.
249251

252+
Default: 4194304
253+
250254
message_burst and message_cost
251255
------------------------------
252256

Documentation/conf.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,15 @@
4242
dyn_include_patterns = []
4343
dyn_exclude_patterns = ["output"]
4444

45+
# Currently, only netlink/specs has a parser for yaml.
46+
# Prefer using include patterns if available, as it is faster
47+
if has_include_patterns:
48+
dyn_include_patterns.append("netlink/specs/*.yaml")
49+
else:
50+
dyn_exclude_patterns.append("netlink/*.yaml")
51+
dyn_exclude_patterns.append("devicetree/bindings/**.yaml")
52+
dyn_exclude_patterns.append("core-api/kho/bindings/**.yaml")
53+
4554
# Properly handle include/exclude patterns
4655
# ----------------------------------------
4756

@@ -102,12 +111,12 @@ def have_command(cmd):
102111
"kernel_include",
103112
"kfigure",
104113
"maintainers_include",
114+
"parser_yaml",
105115
"rstFlatTable",
106116
"sphinx.ext.autosectionlabel",
107117
"sphinx.ext.ifconfig",
108118
"translations",
109119
]
110-
111120
# Since Sphinx version 3, the C function parser is more pedantic with regards
112121
# to type checking. Due to that, having macros at c:function cause problems.
113122
# Those needed to be escaped by using c_id_attributes[] array
@@ -204,10 +213,11 @@ def have_command(cmd):
204213
# Add any paths that contain templates here, relative to this directory.
205214
templates_path = ["sphinx/templates"]
206215

207-
# The suffix(es) of source filenames.
208-
# You can specify multiple suffix as a list of string:
209-
# source_suffix = ['.rst', '.md']
210-
source_suffix = '.rst'
216+
# The suffixes of source filenames that will be automatically parsed
217+
source_suffix = {
218+
".rst": "restructuredtext",
219+
".yaml": "yaml",
220+
}
211221

212222
# The encoding of source files.
213223
# source_encoding = 'utf-8-sig'

Documentation/devicetree/bindings/net/airoha,en7581-npu.yaml

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,21 @@ properties:
4141
- description: wlan irq line5
4242

4343
memory-region:
44-
maxItems: 1
45-
description:
46-
Memory used to store NPU firmware binary.
44+
oneOf:
45+
- items:
46+
- description: NPU firmware binary region
47+
- items:
48+
- description: NPU firmware binary region
49+
- description: NPU wlan offload RX buffers region
50+
- description: NPU wlan offload TX buffers region
51+
- description: NPU wlan offload TX packet identifiers region
52+
53+
memory-region-names:
54+
items:
55+
- const: firmware
56+
- const: pkt
57+
- const: tx-pkt
58+
- const: tx-bufid
4759

4860
required:
4961
- compatible
@@ -79,6 +91,8 @@ examples:
7991
<GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
8092
<GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
8193
<GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
82-
memory-region = <&npu_binary>;
94+
memory-region = <&npu_firmware>, <&npu_pkt>, <&npu_txpkt>,
95+
<&npu_txbufid>;
96+
memory-region-names = "firmware", "pkt", "tx-pkt", "tx-bufid";
8397
};
8498
};

Documentation/devicetree/bindings/net/allwinner,sun4i-a10-emac.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ properties:
3333
- items:
3434
- description: phandle to SRAM
3535
- description: register value for device
36+
dmas:
37+
items:
38+
- description: RX DMA Channel
39+
- description: TX DMA Channel
40+
41+
dma-names:
42+
items:
43+
- const: rx
44+
- const: tx
3645

3746
required:
3847
- compatible

Documentation/devicetree/bindings/net/allwinner,sun8i-a83t-emac.yaml

Lines changed: 93 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,21 @@ maintainers:
1010
- Chen-Yu Tsai <[email protected]>
1111
- Maxime Ripard <[email protected]>
1212

13+
# We need a select here so we don't match all nodes with 'snps,dwmac'
14+
select:
15+
properties:
16+
compatible:
17+
contains:
18+
enum:
19+
- allwinner,sun8i-a83t-emac
20+
- allwinner,sun8i-h3-emac
21+
- allwinner,sun8i-r40-gmac
22+
- allwinner,sun8i-v3s-emac
23+
- allwinner,sun50i-a64-emac
24+
- allwinner,sun55i-a523-gmac200
25+
required:
26+
- compatible
27+
1328
properties:
1429
compatible:
1530
oneOf:
@@ -26,6 +41,9 @@ properties:
2641
- allwinner,sun50i-h616-emac0
2742
- allwinner,sun55i-a523-gmac0
2843
- const: allwinner,sun50i-a64-emac
44+
- items:
45+
- const: allwinner,sun55i-a523-gmac200
46+
- const: snps,dwmac-4.20a
2947

3048
reg:
3149
maxItems: 1
@@ -37,14 +55,21 @@ properties:
3755
const: macirq
3856

3957
clocks:
40-
maxItems: 1
58+
minItems: 1
59+
maxItems: 2
4160

4261
clock-names:
43-
const: stmmaceth
62+
minItems: 1
63+
items:
64+
- const: stmmaceth
65+
- const: mbus
4466

4567
phy-supply:
4668
description: PHY regulator
4769

70+
power-domains:
71+
maxItems: 1
72+
4873
syscon:
4974
$ref: /schemas/types.yaml#/definitions/phandle
5075
description:
@@ -191,6 +216,42 @@ allOf:
191216
- mdio-parent-bus
192217
- mdio@1
193218

219+
- if:
220+
properties:
221+
compatible:
222+
contains:
223+
const: allwinner,sun55i-a523-gmac200
224+
then:
225+
properties:
226+
clocks:
227+
minItems: 2
228+
clock-names:
229+
minItems: 2
230+
tx-internal-delay-ps:
231+
default: 0
232+
minimum: 0
233+
maximum: 700
234+
multipleOf: 100
235+
description:
236+
External RGMII PHY TX clock delay chain value in ps.
237+
rx-internal-delay-ps:
238+
default: 0
239+
minimum: 0
240+
maximum: 3100
241+
multipleOf: 100
242+
description:
243+
External RGMII PHY TX clock delay chain value in ps.
244+
required:
245+
- power-domains
246+
else:
247+
properties:
248+
clocks:
249+
maxItems: 1
250+
clock-names:
251+
maxItems: 1
252+
power-domains: false
253+
254+
194255
unevaluatedProperties: false
195256

196257
examples:
@@ -323,4 +384,34 @@ examples:
323384
};
324385
};
325386
387+
- |
388+
ethernet@4510000 {
389+
compatible = "allwinner,sun55i-a523-gmac200",
390+
"snps,dwmac-4.20a";
391+
reg = <0x04510000 0x10000>;
392+
clocks = <&ccu 117>, <&ccu 79>;
393+
clock-names = "stmmaceth", "mbus";
394+
resets = <&ccu 43>;
395+
reset-names = "stmmaceth";
396+
interrupts = <0 47 4>;
397+
interrupt-names = "macirq";
398+
pinctrl-names = "default";
399+
pinctrl-0 = <&rgmii1_pins>;
400+
power-domains = <&pck600 4>;
401+
syscon = <&syscon>;
402+
phy-handle = <&ext_rgmii_phy_1>;
403+
phy-mode = "rgmii-id";
404+
snps,fixed-burst;
405+
snps,axi-config = <&gmac1_stmmac_axi_setup>;
406+
407+
mdio {
408+
compatible = "snps,dwmac-mdio";
409+
#address-cells = <1>;
410+
#size-cells = <0>;
411+
412+
ext_rgmii_phy_1: ethernet-phy@1 {
413+
reg = <1>;
414+
};
415+
};
416+
};
326417
...

Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,13 @@ properties:
6262
- const: stmmaceth
6363
- const: ptp_ref
6464

65+
interrupts:
66+
maxItems: 1
67+
68+
interrupt-names:
69+
items:
70+
- const: macirq
71+
6572
iommus:
6673
minItems: 1
6774
maxItems: 2

0 commit comments

Comments
 (0)