Skip to content

Commit 8be4d31

Browse files
committed
Merge tag 'net-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
Pull networking updates from Jakub Kicinski: "Core & protocols: - Wrap datapath globals into net_aligned_data, to avoid false sharing - Preserve MSG_ZEROCOPY in forwarding (e.g. out of a container) - Add SO_INQ and SCM_INQ support to AF_UNIX - Add SIOCINQ support to AF_VSOCK - Add TCP_MAXSEG sockopt to MPTCP - Add IPv6 force_forwarding sysctl to enable forwarding per interface - Make TCP validation of whether packet fully fits in the receive window and the rcv_buf more strict. With increased use of HW aggregation a single "packet" can be multiple 100s of kB - Add MSG_MORE flag to optimize large TCP transmissions via sockmap, improves latency up to 33% for sockmap users - Convert TCP send queue handling from tasklet to BH workque - Improve BPF iteration over TCP sockets to see each socket exactly once - Remove obsolete and unused TCP RFC3517/RFC6675 loss recovery code - Support enabling kernel threads for NAPI processing on per-NAPI instance basis rather than a whole device. Fully stop the kernel NAPI thread when threaded NAPI gets disabled. Previously thread would stick around until ifdown due to tricky synchronization - Allow multicast routing to take effect on locally-generated packets - Add output interface argument for End.X in segment routing - MCTP: add support for gateway routing, improve bind() handling - Don't require rtnl_lock when fetching an IPv6 neighbor over Netlink - Add a new neighbor flag ("extern_valid"), which cedes refresh responsibilities to userspace. This is needed for EVPN multi-homing where a neighbor entry for a multi-homed host needs to be synced across all the VTEPs among which the host is multi-homed - Support NUD_PERMANENT for proxy neighbor entries - Add a new queuing discipline for IETF RFC9332 DualQ Coupled AQM - Add sequence numbers to netconsole messages. Unregister netconsole's console when all net targets are removed. Code refactoring. Add a number of selftests - Align IPSec inbound SA lookup to RFC 4301. Only SPI and protocol should be used for an inbound SA lookup - Support inspecting ref_tracker state via DebugFS - Don't force bonding advertisement frames tx to ~333 ms boundaries. Add broadcast_neighbor option to send ARP/ND on all bonded links - Allow providing upcall pid for the 'execute' command in openvswitch - Remove DCCP support from Netfilter's conntrack - Disallow multiple packet duplications in the queuing layer - Prevent use of deprecated iptables code on PREEMPT_RT Driver API: - Support RSS and hashing configuration over ethtool Netlink - Add dedicated ethtool callbacks for getting and setting hashing fields - Add support for power budget evaluation strategy in PSE / Power-over-Ethernet. Generate Netlink events for overcurrent etc - Support DPLL phase offset monitoring across all device inputs. Support providing clock reference and SYNC over separate DPLL inputs - Support traffic classes in devlink rate API for bandwidth management - Remove rtnl_lock dependency from UDP tunnel port configuration Device drivers: - Add a new Broadcom driver for 800G Ethernet (bnge) - Add a standalone driver for Microchip ZL3073x DPLL - Remove IBM's NETIUCV device driver - Ethernet high-speed NICs: - Broadcom (bnxt): - support zero-copy Tx of DMABUF memory - take page size into account for page pool recycling rings - Intel (100G, ice, idpf): - idpf: XDP and AF_XDP support preparations - idpf: add flow steering - add link_down_events statistic - clean up the TSPLL code - preparations for live VM migration - nVidia/Mellanox: - support zero-copy Rx/Tx interfaces (DMABUF and io_uring) - optimize context memory usage for matchers - expose serial numbers in devlink info - support PCIe congestion metrics - Meta (fbnic): - add 25G, 50G, and 100G link modes to phylink - support dumping FW logs - Marvell/Cavium: - support for CN20K generation of the Octeon chips - Amazon: - add HW clock (without timestamping, just hypervisor time access) - Ethernet virtual: - VirtIO net: - support segmentation of UDP-tunnel-encapsulated packets - Google (gve): - support packet timestamping and clock synchronization - Microsoft vNIC: - add handler for device-originated servicing events - allow dynamic MSI-X vector allocation - support Tx bandwidth clamping - Ethernet NICs consumer, and embedded: - AMD: - amd-xgbe: hardware timestamping and PTP clock support - Broadcom integrated MACs (bcmgenet, bcmasp): - use napi_complete_done() return value to support NAPI polling - add support for re-starting auto-negotiation - Broadcom switches (b53): - support BCM5325 switches - add bcm63xx EPHY power control - Synopsys (stmmac): - lots of code refactoring and cleanups - TI: - icssg-prueth: read firmware-names from device tree - icssg: PRP offload support - Microchip: - lan78xx: convert to PHYLINK for improved PHY and MAC management - ksz: add KSZ8463 switch support - Intel: - support similar queue priority scheme in multi-queue and time-sensitive networking (taprio) - support packet pre-emption in both - RealTek (r8169): - enable EEE at 5Gbps on RTL8126 - Airoha: - add PPPoE offload support - MDIO bus controller for Airoha AN7583 - Ethernet PHYs: - support for the IPQ5018 internal GE PHY - micrel KSZ9477 switch-integrated PHYs: - add MDI/MDI-X control support - add RX error counters - add cable test support - add Signal Quality Indicator (SQI) reporting - dp83tg720: improve reset handling and reduce link recovery time - support bcm54811 (and its MII-Lite interface type) - air_en8811h: support resume/suspend - support PHY counters for QCA807x and QCA808x - support WoL for QCA807x - CAN drivers: - rcar_canfd: support for Transceiver Delay Compensation - kvaser: report FW versions via devlink dev info - WiFi: - extended regulatory info support (6 GHz) - add statistics and beacon monitor for Multi-Link Operation (MLO) - support S1G aggregation, improve S1G support - add Radio Measurement action fields - support per-radio RTS threshold - some work around how FIPS affects wifi, which was wrong (RC4 is used by TKIP, not only WEP) - improvements for unsolicited probe response handling - WiFi drivers: - RealTek (rtw88): - IBSS mode for SDIO devices - RealTek (rtw89): - BT coexistence for MLO/WiFi7 - concurrent station + P2P support - support for USB devices RTL8851BU/RTL8852BU - Intel (iwlwifi): - use embedded PNVM in (to be released) FW images to fix compatibility issues - many cleanups (unused FW APIs, PCIe code, WoWLAN) - some FIPS interoperability - MediaTek (mt76): - firmware recovery improvements - more MLO work - Qualcomm/Atheros (ath12k): - fix scan on multi-radio devices - more EHT/Wi-Fi 7 features - encapsulation/decapsulation offload - Broadcom (brcm80211): - support SDIO 43751 device - Bluetooth: - hci_event: add support for handling LE BIG Sync Lost event - ISO: add socket option to report packet seqnum via CMSG - ISO: support SCM_TIMESTAMPING for ISO TS - Bluetooth drivers: - intel_pcie: support Function Level Reset - nxpuart: add support for 4M baudrate - nxpuart: implement powerup sequence, reset, FW dump, and FW loading" * tag 'net-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1742 commits) dpll: zl3073x: Fix build failure selftests: bpf: fix legacy netfilter options ipv6: annotate data-races around rt->fib6_nsiblings ipv6: fix possible infinite loop in fib6_info_uses_dev() ipv6: prevent infinite loop in rt6_nlmsg_size() ipv6: add a retry logic in net6_rt_notify() vrf: Drop existing dst reference in vrf_ip6_input_dst net/sched: taprio: align entry index attr validation with mqprio net: fsl_pq_mdio: use dev_err_probe selftests: rtnetlink.sh: remove esp4_offload after test vsock: remove unnecessary null check in vsock_getname() igb: xsk: solve negative overflow of nb_pkts in zerocopy mode stmmac: xsk: fix negative overflow of budget in zerocopy mode dt-bindings: ieee802154: Convert at86rf230.txt yaml format net: dsa: microchip: Disable PTP function of KSZ8463 net: dsa: microchip: Setup fiber ports for KSZ8463 net: dsa: microchip: Write switch MAC address differently for KSZ8463 net: dsa: microchip: Use different registers for KSZ8463 net: dsa: microchip: Add KSZ8463 switch support to KSZ DSA driver dt-bindings: net: dsa: microchip: Add KSZ8463 switch support ...
2 parents 4b290aa + fa582ca commit 8be4d31

File tree

1,904 files changed

+83427
-29453
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,904 files changed

+83427
-29453
lines changed

Documentation/ABI/testing/sysfs-class-net-phydev

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,16 @@ Description:
2626
This ID is used to match the device with the appropriate
2727
driver.
2828

29+
What: /sys/class/mdio_bus/<bus>/<device>/c45_phy_ids/mmd<n>_device_id
30+
Date: June 2025
31+
KernelVersion: 6.17
32+
33+
Description:
34+
This attribute contains the 32-bit PHY Identifier as reported
35+
by the device during bus enumeration, encoded in hexadecimal.
36+
These C45 IDs are used to match the device with the appropriate
37+
driver. These files are invisible to the C22 device.
38+
2939
What: /sys/class/mdio_bus/<bus>/<device>/phy_interface
3040
Date: February 2014
3141
KernelVersion: 3.15

Documentation/arch/s390/driver-model.rst

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -305,24 +305,3 @@ xpram shows up under devices/system/ as 'xpram'.
305305

306306
For each cpu, a directory is created under devices/system/cpu/. Each cpu has an
307307
attribute 'online' which can be 0 or 1.
308-
309-
310-
4. Other devices
311-
----------------
312-
313-
4.1 Netiucv
314-
-----------
315-
316-
The netiucv driver creates an attribute 'connection' under
317-
bus/iucv/drivers/netiucv. Piping to this attribute creates a new netiucv
318-
connection to the specified host.
319-
320-
Netiucv connections show up under devices/iucv/ as "netiucv<ifnum>". The interface
321-
number is assigned sequentially to the connections defined via the 'connection'
322-
attribute.
323-
324-
user
325-
- shows the connection partner.
326-
327-
buffer
328-
- maximum buffer size. Pipe to it to change buffer size.

Documentation/dev-tools/checkpatch.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,15 @@ Comments
495495

496496
See: https://lore.kernel.org/lkml/20131006222342.GT19510@leaf/
497497

498+
**UNCOMMENTED_RGMII_MODE**
499+
Historically, the RGMII PHY modes specified in Device Trees have been
500+
used inconsistently, often referring to the usage of delays on the PHY
501+
side rather than describing the board.
502+
503+
PHY modes "rgmii", "rgmii-rxid" and "rgmii-txid" modes require the clock
504+
signal to be delayed on the PCB; this unusual configuration should be
505+
described in a comment. If they are not (meaning that the delay is realized
506+
internally in the MAC or PHY), "rgmii-id" is the correct PHY mode.
498507

499508
Commit message
500509
--------------
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dpll/dpll-device.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Digital Phase-Locked Loop (DPLL) Device
8+
9+
maintainers:
10+
- Ivan Vecera <[email protected]>
11+
12+
description:
13+
Digital Phase-Locked Loop (DPLL) device is used for precise clock
14+
synchronization in networking and telecom hardware. The device can
15+
have one or more channels (DPLLs) and one or more physical input and
16+
output pins. Each DPLL channel can either produce pulse-per-clock signal
17+
or drive ethernet equipment clock. The type of each channel can be
18+
indicated by dpll-types property.
19+
20+
properties:
21+
$nodename:
22+
pattern: "^dpll(@.*)?$"
23+
24+
"#address-cells":
25+
const: 0
26+
27+
"#size-cells":
28+
const: 0
29+
30+
dpll-types:
31+
description: List of DPLL channel types, one per DPLL instance.
32+
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
33+
items:
34+
enum: [pps, eec]
35+
36+
input-pins:
37+
type: object
38+
description: DPLL input pins
39+
unevaluatedProperties: false
40+
41+
properties:
42+
"#address-cells":
43+
const: 1
44+
"#size-cells":
45+
const: 0
46+
47+
patternProperties:
48+
"^pin@[0-9a-f]+$":
49+
$ref: /schemas/dpll/dpll-pin.yaml
50+
unevaluatedProperties: false
51+
52+
required:
53+
- "#address-cells"
54+
- "#size-cells"
55+
56+
output-pins:
57+
type: object
58+
description: DPLL output pins
59+
unevaluatedProperties: false
60+
61+
properties:
62+
"#address-cells":
63+
const: 1
64+
"#size-cells":
65+
const: 0
66+
67+
patternProperties:
68+
"^pin@[0-9]+$":
69+
$ref: /schemas/dpll/dpll-pin.yaml
70+
unevaluatedProperties: false
71+
72+
required:
73+
- "#address-cells"
74+
- "#size-cells"
75+
76+
additionalProperties: true
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dpll/dpll-pin.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: DPLL Pin
8+
9+
maintainers:
10+
- Ivan Vecera <[email protected]>
11+
12+
description: |
13+
The DPLL pin is either a physical input or output pin that is provided
14+
by a DPLL( Digital Phase-Locked Loop) device. The pin is identified by
15+
its physical order number that is stored in reg property and can have
16+
an additional set of properties like supported (allowed) frequencies,
17+
label, type and may support embedded sync.
18+
19+
Note that the pin in this context has nothing to do with pinctrl.
20+
21+
properties:
22+
reg:
23+
description: Hardware index of the DPLL pin.
24+
maxItems: 1
25+
26+
connection-type:
27+
description: Connection type of the pin
28+
$ref: /schemas/types.yaml#/definitions/string
29+
enum: [ext, gnss, int, mux, synce]
30+
31+
esync-control:
32+
description: Indicates whether the pin supports embedded sync functionality.
33+
type: boolean
34+
35+
label:
36+
description: String exposed as the pin board label
37+
$ref: /schemas/types.yaml#/definitions/string
38+
39+
supported-frequencies-hz:
40+
description: List of supported frequencies for this pin, expressed in Hz.
41+
42+
required:
43+
- reg
44+
45+
additionalProperties: false
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/dpll/microchip,zl30731.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip Azurite DPLL device
8+
9+
maintainers:
10+
- Ivan Vecera <[email protected]>
11+
12+
description:
13+
Microchip Azurite DPLL (ZL3073x) is a family of DPLL devices that
14+
provides up to 5 independent DPLL channels, up to 10 differential or
15+
single-ended inputs and 10 differential or 20 single-ended outputs.
16+
These devices support both I2C and SPI interfaces.
17+
18+
properties:
19+
compatible:
20+
enum:
21+
- microchip,zl30731
22+
- microchip,zl30732
23+
- microchip,zl30733
24+
- microchip,zl30734
25+
- microchip,zl30735
26+
27+
reg:
28+
maxItems: 1
29+
30+
required:
31+
- compatible
32+
- reg
33+
34+
allOf:
35+
- $ref: /schemas/dpll/dpll-device.yaml#
36+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
37+
38+
unevaluatedProperties: false
39+
40+
examples:
41+
- |
42+
i2c {
43+
#address-cells = <1>;
44+
#size-cells = <0>;
45+
46+
dpll@70 {
47+
compatible = "microchip,zl30732";
48+
reg = <0x70>;
49+
dpll-types = "pps", "eec";
50+
51+
input-pins {
52+
#address-cells = <1>;
53+
#size-cells = <0>;
54+
55+
pin@0 { /* REF0P */
56+
reg = <0>;
57+
connection-type = "ext";
58+
label = "Input 0";
59+
supported-frequencies-hz = /bits/ 64 <1 1000>;
60+
};
61+
};
62+
63+
output-pins {
64+
#address-cells = <1>;
65+
#size-cells = <0>;
66+
67+
pin@3 { /* OUT1N */
68+
reg = <3>;
69+
connection-type = "gnss";
70+
esync-control;
71+
label = "Output 1";
72+
supported-frequencies-hz = /bits/ 64 <1 10000>;
73+
};
74+
};
75+
};
76+
};
77+
- |
78+
spi {
79+
#address-cells = <1>;
80+
#size-cells = <0>;
81+
82+
dpll@70 {
83+
compatible = "microchip,zl30731";
84+
reg = <0x70>;
85+
spi-max-frequency = <12500000>;
86+
87+
dpll-types = "pps";
88+
89+
input-pins {
90+
#address-cells = <1>;
91+
#size-cells = <0>;
92+
93+
pin@0 { /* REF0P */
94+
reg = <0>;
95+
connection-type = "ext";
96+
label = "Input 0";
97+
supported-frequencies-hz = /bits/ 64 <1 1000>;
98+
};
99+
};
100+
101+
output-pins {
102+
#address-cells = <1>;
103+
#size-cells = <0>;
104+
105+
pin@3 { /* OUT1N */
106+
reg = <3>;
107+
connection-type = "gnss";
108+
esync-control;
109+
label = "Output 1";
110+
supported-frequencies-hz = /bits/ 64 <1 10000>;
111+
};
112+
};
113+
};
114+
};
115+
...
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/net/airoha,an7583-mdio.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Airoha AN7583 Dedicated MDIO Controller
8+
9+
maintainers:
10+
- Christian Marangi <[email protected]>
11+
12+
description:
13+
Airoha AN7583 SoC have 3 different MDIO Controller.
14+
15+
One comes from the intergated Switch based on MT7530.
16+
17+
The other 2 (that this schema describe) live under the SCU
18+
register supporting both C22 and C45 PHYs.
19+
20+
$ref: mdio.yaml#
21+
22+
properties:
23+
compatible:
24+
const: airoha,an7583-mdio
25+
26+
reg:
27+
enum: [0xc8, 0xcc]
28+
29+
clocks:
30+
maxItems: 1
31+
32+
resets:
33+
maxItems: 1
34+
35+
clock-frequency:
36+
default: 2500000
37+
38+
required:
39+
- compatible
40+
- reg
41+
- clocks
42+
- resets
43+
44+
unevaluatedProperties: false
45+
46+
examples:
47+
- |
48+
system-controller {
49+
#address-cells = <1>;
50+
#size-cells = <0>;
51+
52+
mdio-bus@c8 {
53+
compatible = "airoha,an7583-mdio";
54+
reg = <0xc8>;
55+
56+
clocks = <&scu>;
57+
resets = <&scu>;
58+
};
59+
};

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ properties:
2121
- items:
2222
- enum:
2323
- allwinner,sun20i-d1-emac
24+
- allwinner,sun50i-a100-emac
2425
- allwinner,sun50i-h6-emac
2526
- allwinner,sun50i-h616-emac0
2627
- allwinner,sun55i-a523-gmac0

0 commit comments

Comments
 (0)