mirror of
https://github.com/torvalds/linux.git
synced 2025-08-15 14:11:42 +02:00
Networking changes for 6.17.
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 Signed-off-by: Jakub Kicinski <kuba@kernel.org> -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE6jPA+I1ugmIBA4hXMUZtbf5SIrsFAmiFgLgACgkQMUZtbf5S IrvafxAAnQRwYBoIG+piCILx6z5pRvBGHkmEQ4AQgSCFuq2eO3ubwMFIqEybfma1 5+QFjUZAV3OgGgKRBS2KGWxtSzdiF+/JGV1VOIN67sX3Mm0a2QgjA4n5CgKL0FPr o6BEzjX5XwG1zvGcBNQ5BZ19xUUKjoZQgTtnea8sZ57Fsp5RtRgmYRqoewNvNk/n uImh0NFsDVb0UeOpSzC34VD9l1dJvLGdui4zJAjno/vpvmT1DkXjoK419J/r52SS X+5WgsfJ6DkjHqVN1tIhhK34yWqBOcwGFZJgEnWHMkFIl2FqRfFKMHyqtfLlVnLA mnIpSyz8Sq2AHtx0TlgZ3At/Ri8p5+yYJgHOXcDKyABa8y8Zf4wrycmr6cV9JLuL z54nLEVnJuvfDVDVJjsLYdJXyhMpZFq6+uAItdxKaw8Ugp/QqG4QtoRj+XIHz4ZW z6OohkCiCzTwEISFK+pSTxPS30eOxq43kCspcvuLiwCCStJBRkRb5GdZA4dm7LA+ 1Od4ADAkHjyrFtBqTyyC2scX8UJ33DlAIpAYyIeS6w9Cj9EXxtp1z33IAAAZ03MW jJwIaJuc8bK2fWKMmiG7ucIXjPo4t//KiWlpkwwqLhPbjZgfDAcxq1AC2TLoqHBL y4EOgKpHDCMAghSyiFIAn2JprGcEt8dp+11B0JRXIn4Pm/eYDH8= =lqbe -----END PGP SIGNATURE----- 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 ...
This commit is contained in:
commit
8be4d31cb8
1904 changed files with 83318 additions and 29344 deletions
|
@ -26,6 +26,16 @@ Description:
|
||||||
This ID is used to match the device with the appropriate
|
This ID is used to match the device with the appropriate
|
||||||
driver.
|
driver.
|
||||||
|
|
||||||
|
What: /sys/class/mdio_bus/<bus>/<device>/c45_phy_ids/mmd<n>_device_id
|
||||||
|
Date: June 2025
|
||||||
|
KernelVersion: 6.17
|
||||||
|
Contact: netdev@vger.kernel.org
|
||||||
|
Description:
|
||||||
|
This attribute contains the 32-bit PHY Identifier as reported
|
||||||
|
by the device during bus enumeration, encoded in hexadecimal.
|
||||||
|
These C45 IDs are used to match the device with the appropriate
|
||||||
|
driver. These files are invisible to the C22 device.
|
||||||
|
|
||||||
What: /sys/class/mdio_bus/<bus>/<device>/phy_interface
|
What: /sys/class/mdio_bus/<bus>/<device>/phy_interface
|
||||||
Date: February 2014
|
Date: February 2014
|
||||||
KernelVersion: 3.15
|
KernelVersion: 3.15
|
||||||
|
|
|
@ -305,24 +305,3 @@ xpram shows up under devices/system/ as 'xpram'.
|
||||||
|
|
||||||
For each cpu, a directory is created under devices/system/cpu/. Each cpu has an
|
For each cpu, a directory is created under devices/system/cpu/. Each cpu has an
|
||||||
attribute 'online' which can be 0 or 1.
|
attribute 'online' which can be 0 or 1.
|
||||||
|
|
||||||
|
|
||||||
4. Other devices
|
|
||||||
----------------
|
|
||||||
|
|
||||||
4.1 Netiucv
|
|
||||||
-----------
|
|
||||||
|
|
||||||
The netiucv driver creates an attribute 'connection' under
|
|
||||||
bus/iucv/drivers/netiucv. Piping to this attribute creates a new netiucv
|
|
||||||
connection to the specified host.
|
|
||||||
|
|
||||||
Netiucv connections show up under devices/iucv/ as "netiucv<ifnum>". The interface
|
|
||||||
number is assigned sequentially to the connections defined via the 'connection'
|
|
||||||
attribute.
|
|
||||||
|
|
||||||
user
|
|
||||||
- shows the connection partner.
|
|
||||||
|
|
||||||
buffer
|
|
||||||
- maximum buffer size. Pipe to it to change buffer size.
|
|
||||||
|
|
|
@ -495,6 +495,15 @@ Comments
|
||||||
|
|
||||||
See: https://lore.kernel.org/lkml/20131006222342.GT19510@leaf/
|
See: https://lore.kernel.org/lkml/20131006222342.GT19510@leaf/
|
||||||
|
|
||||||
|
**UNCOMMENTED_RGMII_MODE**
|
||||||
|
Historically, the RGMII PHY modes specified in Device Trees have been
|
||||||
|
used inconsistently, often referring to the usage of delays on the PHY
|
||||||
|
side rather than describing the board.
|
||||||
|
|
||||||
|
PHY modes "rgmii", "rgmii-rxid" and "rgmii-txid" modes require the clock
|
||||||
|
signal to be delayed on the PCB; this unusual configuration should be
|
||||||
|
described in a comment. If they are not (meaning that the delay is realized
|
||||||
|
internally in the MAC or PHY), "rgmii-id" is the correct PHY mode.
|
||||||
|
|
||||||
Commit message
|
Commit message
|
||||||
--------------
|
--------------
|
||||||
|
|
76
Documentation/devicetree/bindings/dpll/dpll-device.yaml
Normal file
76
Documentation/devicetree/bindings/dpll/dpll-device.yaml
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/dpll/dpll-device.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Digital Phase-Locked Loop (DPLL) Device
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ivan Vecera <ivecera@redhat.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
Digital Phase-Locked Loop (DPLL) device is used for precise clock
|
||||||
|
synchronization in networking and telecom hardware. The device can
|
||||||
|
have one or more channels (DPLLs) and one or more physical input and
|
||||||
|
output pins. Each DPLL channel can either produce pulse-per-clock signal
|
||||||
|
or drive ethernet equipment clock. The type of each channel can be
|
||||||
|
indicated by dpll-types property.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
$nodename:
|
||||||
|
pattern: "^dpll(@.*)?$"
|
||||||
|
|
||||||
|
"#address-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
"#size-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
dpll-types:
|
||||||
|
description: List of DPLL channel types, one per DPLL instance.
|
||||||
|
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||||
|
items:
|
||||||
|
enum: [pps, eec]
|
||||||
|
|
||||||
|
input-pins:
|
||||||
|
type: object
|
||||||
|
description: DPLL input pins
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
properties:
|
||||||
|
"#address-cells":
|
||||||
|
const: 1
|
||||||
|
"#size-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^pin@[0-9a-f]+$":
|
||||||
|
$ref: /schemas/dpll/dpll-pin.yaml
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
|
||||||
|
output-pins:
|
||||||
|
type: object
|
||||||
|
description: DPLL output pins
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
properties:
|
||||||
|
"#address-cells":
|
||||||
|
const: 1
|
||||||
|
"#size-cells":
|
||||||
|
const: 0
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^pin@[0-9]+$":
|
||||||
|
$ref: /schemas/dpll/dpll-pin.yaml
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
required:
|
||||||
|
- "#address-cells"
|
||||||
|
- "#size-cells"
|
||||||
|
|
||||||
|
additionalProperties: true
|
45
Documentation/devicetree/bindings/dpll/dpll-pin.yaml
Normal file
45
Documentation/devicetree/bindings/dpll/dpll-pin.yaml
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/dpll/dpll-pin.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: DPLL Pin
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ivan Vecera <ivecera@redhat.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The DPLL pin is either a physical input or output pin that is provided
|
||||||
|
by a DPLL( Digital Phase-Locked Loop) device. The pin is identified by
|
||||||
|
its physical order number that is stored in reg property and can have
|
||||||
|
an additional set of properties like supported (allowed) frequencies,
|
||||||
|
label, type and may support embedded sync.
|
||||||
|
|
||||||
|
Note that the pin in this context has nothing to do with pinctrl.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
description: Hardware index of the DPLL pin.
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
connection-type:
|
||||||
|
description: Connection type of the pin
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
enum: [ext, gnss, int, mux, synce]
|
||||||
|
|
||||||
|
esync-control:
|
||||||
|
description: Indicates whether the pin supports embedded sync functionality.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
label:
|
||||||
|
description: String exposed as the pin board label
|
||||||
|
$ref: /schemas/types.yaml#/definitions/string
|
||||||
|
|
||||||
|
supported-frequencies-hz:
|
||||||
|
description: List of supported frequencies for this pin, expressed in Hz.
|
||||||
|
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
|
||||||
|
additionalProperties: false
|
115
Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
Normal file
115
Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/dpll/microchip,zl30731.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Microchip Azurite DPLL device
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Ivan Vecera <ivecera@redhat.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
Microchip Azurite DPLL (ZL3073x) is a family of DPLL devices that
|
||||||
|
provides up to 5 independent DPLL channels, up to 10 differential or
|
||||||
|
single-ended inputs and 10 differential or 20 single-ended outputs.
|
||||||
|
These devices support both I2C and SPI interfaces.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- microchip,zl30731
|
||||||
|
- microchip,zl30732
|
||||||
|
- microchip,zl30733
|
||||||
|
- microchip,zl30734
|
||||||
|
- microchip,zl30735
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/dpll/dpll-device.yaml#
|
||||||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
i2c {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dpll@70 {
|
||||||
|
compatible = "microchip,zl30732";
|
||||||
|
reg = <0x70>;
|
||||||
|
dpll-types = "pps", "eec";
|
||||||
|
|
||||||
|
input-pins {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
pin@0 { /* REF0P */
|
||||||
|
reg = <0>;
|
||||||
|
connection-type = "ext";
|
||||||
|
label = "Input 0";
|
||||||
|
supported-frequencies-hz = /bits/ 64 <1 1000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
output-pins {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
pin@3 { /* OUT1N */
|
||||||
|
reg = <3>;
|
||||||
|
connection-type = "gnss";
|
||||||
|
esync-control;
|
||||||
|
label = "Output 1";
|
||||||
|
supported-frequencies-hz = /bits/ 64 <1 10000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
dpll@70 {
|
||||||
|
compatible = "microchip,zl30731";
|
||||||
|
reg = <0x70>;
|
||||||
|
spi-max-frequency = <12500000>;
|
||||||
|
|
||||||
|
dpll-types = "pps";
|
||||||
|
|
||||||
|
input-pins {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
pin@0 { /* REF0P */
|
||||||
|
reg = <0>;
|
||||||
|
connection-type = "ext";
|
||||||
|
label = "Input 0";
|
||||||
|
supported-frequencies-hz = /bits/ 64 <1 1000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
output-pins {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
pin@3 { /* OUT1N */
|
||||||
|
reg = <3>;
|
||||||
|
connection-type = "gnss";
|
||||||
|
esync-control;
|
||||||
|
label = "Output 1";
|
||||||
|
supported-frequencies-hz = /bits/ 64 <1 10000>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
...
|
|
@ -0,0 +1,59 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/airoha,an7583-mdio.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Airoha AN7583 Dedicated MDIO Controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Christian Marangi <ansuelsmth@gmail.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
Airoha AN7583 SoC have 3 different MDIO Controller.
|
||||||
|
|
||||||
|
One comes from the intergated Switch based on MT7530.
|
||||||
|
|
||||||
|
The other 2 (that this schema describe) live under the SCU
|
||||||
|
register supporting both C22 and C45 PHYs.
|
||||||
|
|
||||||
|
$ref: mdio.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: airoha,an7583-mdio
|
||||||
|
|
||||||
|
reg:
|
||||||
|
enum: [0xc8, 0xcc]
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-frequency:
|
||||||
|
default: 2500000
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- resets
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
system-controller {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
mdio-bus@c8 {
|
||||||
|
compatible = "airoha,an7583-mdio";
|
||||||
|
reg = <0xc8>;
|
||||||
|
|
||||||
|
clocks = <&scu>;
|
||||||
|
resets = <&scu>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -21,6 +21,7 @@ properties:
|
||||||
- items:
|
- items:
|
||||||
- enum:
|
- enum:
|
||||||
- allwinner,sun20i-d1-emac
|
- allwinner,sun20i-d1-emac
|
||||||
|
- allwinner,sun50i-a100-emac
|
||||||
- allwinner,sun50i-h6-emac
|
- allwinner,sun50i-h6-emac
|
||||||
- allwinner,sun50i-h616-emac0
|
- allwinner,sun50i-h616-emac0
|
||||||
- allwinner,sun55i-a523-gmac0
|
- allwinner,sun55i-a523-gmac0
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
# Copyright (C) 2025 Altera Corporation
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/altr,gmii-to-sgmii-2.0.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Altera GMII to SGMII Converter
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Matthew Gerlach <matthew.gerlach@altera.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
This binding describes the Altera GMII to SGMII converter.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: altr,gmii-to-sgmii-2.0
|
||||||
|
|
||||||
|
reg:
|
||||||
|
items:
|
||||||
|
- description: Registers for the emac splitter IP
|
||||||
|
- description: Registers for the GMII to SGMII converter.
|
||||||
|
- description: Registers for TSE control.
|
||||||
|
|
||||||
|
reg-names:
|
||||||
|
items:
|
||||||
|
- const: hps_emac_interface_splitter_avalon_slave
|
||||||
|
- const: gmii_to_sgmii_adapter_avalon_slave
|
||||||
|
- const: eth_tse_control_port
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- reg-names
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
phy@ff000240 {
|
||||||
|
compatible = "altr,gmii-to-sgmii-2.0";
|
||||||
|
reg = <0xff000240 0x00000008>,
|
||||||
|
<0xff000200 0x00000040>,
|
||||||
|
<0xff000250 0x00000008>;
|
||||||
|
reg-names = "hps_emac_interface_splitter_avalon_slave",
|
||||||
|
"gmii_to_sgmii_adapter_avalon_slave",
|
||||||
|
"eth_tse_control_port";
|
||||||
|
};
|
171
Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
Normal file
171
Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/altr,socfpga-stmmac.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Altera SOCFPGA SoC DWMAC controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Matthew Gerlach <matthew.gerlach@altera.com>
|
||||||
|
|
||||||
|
description:
|
||||||
|
This binding describes the Altera SOCFPGA SoC implementation of the
|
||||||
|
Synopsys DWMAC for the Cyclone5, Arria5, Stratix10, Agilex5 and Agilex7
|
||||||
|
families of chips.
|
||||||
|
# TODO: Determine how to handle the Arria10 reset-name, stmmaceth-ocp, that
|
||||||
|
# does not validate against net/snps,dwmac.yaml.
|
||||||
|
|
||||||
|
select:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- altr,socfpga-stmmac
|
||||||
|
- altr,socfpga-stmmac-a10-s10
|
||||||
|
- altr,socfpga-stmmac-agilex5
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
oneOf:
|
||||||
|
- items:
|
||||||
|
- const: altr,socfpga-stmmac
|
||||||
|
- const: snps,dwmac-3.70a
|
||||||
|
- const: snps,dwmac
|
||||||
|
- items:
|
||||||
|
- const: altr,socfpga-stmmac-a10-s10
|
||||||
|
- const: snps,dwmac-3.72a
|
||||||
|
- const: snps,dwmac
|
||||||
|
- items:
|
||||||
|
- const: altr,socfpga-stmmac-a10-s10
|
||||||
|
- const: snps,dwmac-3.74a
|
||||||
|
- const: snps,dwmac
|
||||||
|
- items:
|
||||||
|
- const: altr,socfpga-stmmac-agilex5
|
||||||
|
- const: snps,dwxgmac-2.10
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- description: GMAC main clock
|
||||||
|
- description:
|
||||||
|
PTP reference clock. This clock is used for programming the
|
||||||
|
Timestamp Addend Register. If not passed then the system
|
||||||
|
clock will be used and this is fine on some platforms.
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- const: stmmaceth
|
||||||
|
- const: ptp_ref
|
||||||
|
|
||||||
|
iommus:
|
||||||
|
minItems: 1
|
||||||
|
maxItems: 2
|
||||||
|
|
||||||
|
phy-mode:
|
||||||
|
enum:
|
||||||
|
- gmii
|
||||||
|
- mii
|
||||||
|
- rgmii
|
||||||
|
- rgmii-id
|
||||||
|
- rgmii-rxid
|
||||||
|
- rgmii-txid
|
||||||
|
- sgmii
|
||||||
|
- 1000base-x
|
||||||
|
|
||||||
|
rxc-skew-ps:
|
||||||
|
description: Skew control of RXC pad
|
||||||
|
|
||||||
|
rxd0-skew-ps:
|
||||||
|
description: Skew control of RX data 0 pad
|
||||||
|
|
||||||
|
rxd1-skew-ps:
|
||||||
|
description: Skew control of RX data 1 pad
|
||||||
|
|
||||||
|
rxd2-skew-ps:
|
||||||
|
description: Skew control of RX data 2 pad
|
||||||
|
|
||||||
|
rxd3-skew-ps:
|
||||||
|
description: Skew control of RX data 3 pad
|
||||||
|
|
||||||
|
rxdv-skew-ps:
|
||||||
|
description: Skew control of RX CTL pad
|
||||||
|
|
||||||
|
txc-skew-ps:
|
||||||
|
description: Skew control of TXC pad
|
||||||
|
|
||||||
|
txen-skew-ps:
|
||||||
|
description: Skew control of TXC pad
|
||||||
|
|
||||||
|
altr,emac-splitter:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
Should be the phandle to the emac splitter soft IP node if DWMAC
|
||||||
|
controller is connected an emac splitter.
|
||||||
|
|
||||||
|
altr,f2h_ptp_ref_clk:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
Phandle to Precision Time Protocol reference clock. This clock is
|
||||||
|
common to gmac instances and defaults to osc1.
|
||||||
|
|
||||||
|
altr,gmii-to-sgmii-converter:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
Should be the phandle to the gmii to sgmii converter soft IP.
|
||||||
|
|
||||||
|
altr,sysmgr-syscon:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
|
description:
|
||||||
|
Should be the phandle to the system manager node that encompass
|
||||||
|
the glue register, the register offset, and the register shift.
|
||||||
|
On Cyclone5/Arria5, the register shift represents the PHY mode
|
||||||
|
bits, while on the Arria10/Stratix10/Agilex platforms, the
|
||||||
|
register shift represents bit for each emac to enable/disable
|
||||||
|
signals from the FPGA fabric to the EMAC modules.
|
||||||
|
items:
|
||||||
|
- items:
|
||||||
|
- description: phandle to the system manager node
|
||||||
|
- description: offset of the control register
|
||||||
|
- description: shift within the control register
|
||||||
|
|
||||||
|
patternProperties:
|
||||||
|
"^mdio[0-9]$":
|
||||||
|
type: object
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- altr,sysmgr-syscon
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: snps,dwmac.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
soc {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
ethernet@ff700000 {
|
||||||
|
compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a",
|
||||||
|
"snps,dwmac";
|
||||||
|
altr,sysmgr-syscon = <&sysmgr 0x60 0>;
|
||||||
|
reg = <0xff700000 0x2000>;
|
||||||
|
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "macirq";
|
||||||
|
mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
|
||||||
|
clocks = <&emac_0_clk>;
|
||||||
|
clock-names = "stmmaceth";
|
||||||
|
phy-mode = "sgmii";
|
||||||
|
};
|
||||||
|
};
|
|
@ -34,6 +34,13 @@ properties:
|
||||||
This property depends on the module vendor's
|
This property depends on the module vendor's
|
||||||
configuration.
|
configuration.
|
||||||
|
|
||||||
|
max-speed:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
enum:
|
||||||
|
- 3000000
|
||||||
|
- 4000000
|
||||||
|
default: 3000000
|
||||||
|
|
||||||
firmware-name:
|
firmware-name:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
@ -65,6 +72,14 @@ properties:
|
||||||
description:
|
description:
|
||||||
The GPIO number of the NXP chipset used for BT_WAKE_OUT.
|
The GPIO number of the NXP chipset used for BT_WAKE_OUT.
|
||||||
|
|
||||||
|
vcc-supply:
|
||||||
|
description:
|
||||||
|
phandle of the regulator that provides the supply voltage.
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
description:
|
||||||
|
Chip powerdown/reset signal (PDn).
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
|
||||||
|
@ -78,10 +93,13 @@ examples:
|
||||||
bluetooth {
|
bluetooth {
|
||||||
compatible = "nxp,88w8987-bt";
|
compatible = "nxp,88w8987-bt";
|
||||||
fw-init-baudrate = <3000000>;
|
fw-init-baudrate = <3000000>;
|
||||||
|
max-speed = <4000000>;
|
||||||
firmware-name = "uartuart8987_bt_v0.bin";
|
firmware-name = "uartuart8987_bt_v0.bin";
|
||||||
device-wakeup-gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
device-wakeup-gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||||
nxp,wakein-pin = /bits/ 8 <18>;
|
nxp,wakein-pin = /bits/ 8 <18>;
|
||||||
nxp,wakeout-pin = /bits/ 8 <19>;
|
nxp,wakeout-pin = /bits/ 8 <19>;
|
||||||
|
vcc-supply = <&nxp_iw612_supply>;
|
||||||
|
reset-gpios = <&gpioctrl 2 GPIO_ACTIVE_LOW>;
|
||||||
local-bd-address = [66 55 44 33 22 11];
|
local-bd-address = [66 55 44 33 22 11];
|
||||||
interrupt-parent = <&gpio>;
|
interrupt-parent = <&gpio>;
|
||||||
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
|
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
|
||||||
|
|
|
@ -62,6 +62,7 @@ properties:
|
||||||
- items:
|
- items:
|
||||||
- enum:
|
- enum:
|
||||||
- microchip,sam9x7-gem # Microchip SAM9X7 gigabit ethernet interface
|
- microchip,sam9x7-gem # Microchip SAM9X7 gigabit ethernet interface
|
||||||
|
- microchip,sama7d65-gem # Microchip SAMA7D65 gigabit ethernet interface
|
||||||
- const: microchip,sama7g5-gem # Microchip SAMA7G5 gigabit ethernet interface
|
- const: microchip,sama7g5-gem # Microchip SAMA7G5 gigabit ethernet interface
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
|
@ -114,6 +115,13 @@ properties:
|
||||||
power-domains:
|
power-domains:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
cdns,refclk-ext:
|
||||||
|
type: boolean
|
||||||
|
description:
|
||||||
|
This selects if the REFCLK for RMII is provided by an external source.
|
||||||
|
For RGMII mode this selects if the 125MHz REF clock is provided by an external
|
||||||
|
source.
|
||||||
|
|
||||||
cdns,rx-watermark:
|
cdns,rx-watermark:
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
description:
|
description:
|
||||||
|
|
|
@ -66,6 +66,12 @@ properties:
|
||||||
- brcm,bcm63268-switch
|
- brcm,bcm63268-switch
|
||||||
- const: brcm,bcm63xx-switch
|
- const: brcm,bcm63xx-switch
|
||||||
|
|
||||||
|
brcm,gpio-ctrl:
|
||||||
|
description:
|
||||||
|
A phandle to the syscon node of the bcm63xx gpio controller
|
||||||
|
which contains phy control registers
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
|
|
@ -136,6 +136,16 @@ properties:
|
||||||
See Documentation/devicetree/bindings/regulator/mt6323-regulator.txt for
|
See Documentation/devicetree/bindings/regulator/mt6323-regulator.txt for
|
||||||
details for the regulator setup on these boards.
|
details for the regulator setup on these boards.
|
||||||
|
|
||||||
|
mdio:
|
||||||
|
$ref: /schemas/net/mdio.yaml#
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
properties:
|
||||||
|
mediatek,pio:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description:
|
||||||
|
Phandle pointing to the mediatek pinctrl node.
|
||||||
|
|
||||||
mediatek,mcm:
|
mediatek,mcm:
|
||||||
type: boolean
|
type: boolean
|
||||||
description:
|
description:
|
||||||
|
@ -190,6 +200,18 @@ required:
|
||||||
- reg
|
- reg
|
||||||
|
|
||||||
$defs:
|
$defs:
|
||||||
|
builtin-dsa-port:
|
||||||
|
patternProperties:
|
||||||
|
"^(ethernet-)?ports$":
|
||||||
|
patternProperties:
|
||||||
|
"^(ethernet-)?port@[0-6]$":
|
||||||
|
if:
|
||||||
|
required: [ ethernet ]
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
phy-mode:
|
||||||
|
const: internal
|
||||||
|
|
||||||
mt7530-dsa-port:
|
mt7530-dsa-port:
|
||||||
patternProperties:
|
patternProperties:
|
||||||
"^(ethernet-)?ports$":
|
"^(ethernet-)?ports$":
|
||||||
|
@ -297,7 +319,7 @@ allOf:
|
||||||
- airoha,en7581-switch
|
- airoha,en7581-switch
|
||||||
- airoha,an7583-switch
|
- airoha,an7583-switch
|
||||||
then:
|
then:
|
||||||
$ref: "#/$defs/mt7530-dsa-port"
|
$ref: "#/$defs/builtin-dsa-port"
|
||||||
properties:
|
properties:
|
||||||
gpio-controller: false
|
gpio-controller: false
|
||||||
mediatek,mcm: false
|
mediatek,mcm: false
|
||||||
|
|
135
Documentation/devicetree/bindings/net/dsa/micrel,ks8995.yaml
Normal file
135
Documentation/devicetree/bindings/net/dsa/micrel,ks8995.yaml
Normal file
|
@ -0,0 +1,135 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/dsa/micrel,ks8995.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Micrel KS8995 Family DSA Switches
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Linus Walleij <linus.walleij@linaro.org>
|
||||||
|
|
||||||
|
description:
|
||||||
|
The Micrel KS8995 DSA Switches are 100 Mbit switches that were produced in
|
||||||
|
the early-to-mid 2000s. The chip features a CPU port and four outgoing ports,
|
||||||
|
each with an internal PHY. The chip itself is managed over SPI, but all the
|
||||||
|
PHYs need to be accessed from an external MDIO channel.
|
||||||
|
|
||||||
|
Further, a fifth PHY is available and can be used separately from the switch
|
||||||
|
fabric, connected to an external MII interface name MII-P5. This is
|
||||||
|
unrelated from the CPU-facing port 5 which is used for DSA MII traffic.
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- micrel,ks8995
|
||||||
|
- micrel,ksz8795
|
||||||
|
- micrel,ksz8864
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reset-gpios:
|
||||||
|
description: GPIO to be used to reset the whole device
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: dsa.yaml#/$defs/ethernet-ports
|
||||||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/gpio/gpio.h>
|
||||||
|
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
ethernet-switch@0 {
|
||||||
|
compatible = "micrel,ks8995";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <25000000>;
|
||||||
|
|
||||||
|
ethernet-ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
ethernet-port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
label = "lan1";
|
||||||
|
};
|
||||||
|
ethernet-port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
label = "lan2";
|
||||||
|
};
|
||||||
|
ethernet-port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
label = "lan3";
|
||||||
|
};
|
||||||
|
ethernet-port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
label = "lan4";
|
||||||
|
};
|
||||||
|
ethernet-port@4 {
|
||||||
|
reg = <4>;
|
||||||
|
ethernet = <&mac2>;
|
||||||
|
phy-mode = "mii";
|
||||||
|
fixed-link {
|
||||||
|
speed = <100>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
soc {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
|
||||||
|
/* The WAN port connected on MII-P5 */
|
||||||
|
ethernet-port@1000 {
|
||||||
|
reg = <0x00001000 0x1000>;
|
||||||
|
label = "wan";
|
||||||
|
phy-mode = "mii";
|
||||||
|
phy-handle = <&phy5>;
|
||||||
|
};
|
||||||
|
|
||||||
|
mac2: ethernet-port@2000 {
|
||||||
|
reg = <0x00002000 0x1000>;
|
||||||
|
phy-mode = "mii";
|
||||||
|
fixed-link {
|
||||||
|
speed = <100>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
/* LAN PHYs 1-4 accessible over external MDIO */
|
||||||
|
phy1: ethernet-phy@1 {
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
phy2: ethernet-phy@2 {
|
||||||
|
reg = <2>;
|
||||||
|
};
|
||||||
|
phy3: ethernet-phy@3 {
|
||||||
|
reg = <3>;
|
||||||
|
};
|
||||||
|
phy4: ethernet-phy@4 {
|
||||||
|
reg = <4>;
|
||||||
|
};
|
||||||
|
/* WAN PHY accessible over external MDIO */
|
||||||
|
phy5: ethernet-phy@5 {
|
||||||
|
reg = <5>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -18,6 +18,7 @@ properties:
|
||||||
# required and optional properties.
|
# required and optional properties.
|
||||||
compatible:
|
compatible:
|
||||||
enum:
|
enum:
|
||||||
|
- microchip,ksz8463
|
||||||
- microchip,ksz8765
|
- microchip,ksz8765
|
||||||
- microchip,ksz8794
|
- microchip,ksz8794
|
||||||
- microchip,ksz8795
|
- microchip,ksz8795
|
||||||
|
|
|
@ -39,6 +39,7 @@ properties:
|
||||||
# MAC.
|
# MAC.
|
||||||
- internal
|
- internal
|
||||||
- mii
|
- mii
|
||||||
|
- mii-lite
|
||||||
- gmii
|
- gmii
|
||||||
- sgmii
|
- sgmii
|
||||||
- psgmii
|
- psgmii
|
||||||
|
|
|
@ -6,9 +6,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
title: Faraday Technology FTGMAC100 gigabit ethernet controller
|
title: Faraday Technology FTGMAC100 gigabit ethernet controller
|
||||||
|
|
||||||
allOf:
|
|
||||||
- $ref: ethernet-controller.yaml#
|
|
||||||
|
|
||||||
maintainers:
|
maintainers:
|
||||||
- Po-Yu Chuang <ratbert@faraday-tech.com>
|
- Po-Yu Chuang <ratbert@faraday-tech.com>
|
||||||
|
|
||||||
|
@ -35,6 +32,9 @@ properties:
|
||||||
- description: MAC IP clock
|
- description: MAC IP clock
|
||||||
- description: RMII RCLK gate for AST2500/2600
|
- description: RMII RCLK gate for AST2500/2600
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
clock-names:
|
clock-names:
|
||||||
minItems: 1
|
minItems: 1
|
||||||
items:
|
items:
|
||||||
|
@ -74,6 +74,21 @@ required:
|
||||||
- reg
|
- reg
|
||||||
- interrupts
|
- interrupts
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: ethernet-controller.yaml#
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- aspeed,ast2600-mac
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
resets: true
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
resets: false
|
||||||
|
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
* AT86RF230 IEEE 802.15.4 *
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: should be "atmel,at86rf230", "atmel,at86rf231",
|
|
||||||
"atmel,at86rf233" or "atmel,at86rf212"
|
|
||||||
- spi-max-frequency: maximal bus speed, should be set to 7500000 depends
|
|
||||||
sync or async operation mode
|
|
||||||
- reg: the chipselect index
|
|
||||||
- interrupts: the interrupt generated by the device. Non high-level
|
|
||||||
can occur deadlocks while handling isr.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpio: GPIO spec for the rstn pin
|
|
||||||
- sleep-gpio: GPIO spec for the slp_tr pin
|
|
||||||
- xtal-trim: u8 value for fine tuning the internal capacitance
|
|
||||||
arrays of xtal pins: 0 = +0 pF, 0xf = +4.5 pF
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
at86rf231@0 {
|
|
||||||
compatible = "atmel,at86rf231";
|
|
||||||
spi-max-frequency = <7500000>;
|
|
||||||
reg = <0>;
|
|
||||||
interrupts = <19 4>;
|
|
||||||
interrupt-parent = <&gpio3>;
|
|
||||||
xtal-trim = /bits/ 8 <0x06>;
|
|
||||||
};
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/ieee802154/atmel,at86rf233.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: AT86RF230 IEEE 802.15.4
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- atmel,at86rf212
|
||||||
|
- atmel,at86rf230
|
||||||
|
- atmel,at86rf231
|
||||||
|
- atmel,at86rf233
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reset-gpio:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
sleep-gpio:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
maximum: 7500000
|
||||||
|
|
||||||
|
xtal-trim:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint8
|
||||||
|
maximum: 0xf
|
||||||
|
description: |
|
||||||
|
Fine tuning the internal capacitance arrays of xtal pins:
|
||||||
|
0 = +0 pF, 0xf = +4.5 pF
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
zigbee@0 {
|
||||||
|
compatible = "atmel,at86rf231";
|
||||||
|
reg = <0>;
|
||||||
|
spi-max-frequency = <7500000>;
|
||||||
|
interrupts = <19 4>;
|
||||||
|
interrupt-parent = <&gpio3>;
|
||||||
|
xtal-trim = /bits/ 8 <0x06>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -47,6 +47,8 @@ properties:
|
||||||
|
|
||||||
phy-handle: true
|
phy-handle: true
|
||||||
|
|
||||||
|
fixed-link: true
|
||||||
|
|
||||||
intel,npe-handle:
|
intel,npe-handle:
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||||
items:
|
items:
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
* NXP LPC32xx SoC Ethernet Controller
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should be "nxp,lpc-eth"
|
|
||||||
- reg: Address and length of the register set for the device
|
|
||||||
- interrupts: Should contain ethernet controller interrupt
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- phy-mode: See ethernet.txt file in the same directory. If the property is
|
|
||||||
absent, "rmii" is assumed.
|
|
||||||
- use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering
|
|
||||||
|
|
||||||
Optional subnodes:
|
|
||||||
- mdio : specifies the mdio bus, used as a container for phy nodes according to
|
|
||||||
phy.txt in the same directory
|
|
||||||
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
mac: ethernet@31060000 {
|
|
||||||
compatible = "nxp,lpc-eth";
|
|
||||||
reg = <0x31060000 0x1000>;
|
|
||||||
interrupt-parent = <&mic>;
|
|
||||||
interrupts = <29 0>;
|
|
||||||
|
|
||||||
phy-mode = "rmii";
|
|
||||||
use-iram;
|
|
||||||
};
|
|
|
@ -40,7 +40,19 @@ properties:
|
||||||
|
|
||||||
interrupts:
|
interrupts:
|
||||||
minItems: 1
|
minItems: 1
|
||||||
maxItems: 4
|
maxItems: 8
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
minItems: 1
|
||||||
|
items:
|
||||||
|
- const: fe0
|
||||||
|
- const: fe1
|
||||||
|
- const: fe2
|
||||||
|
- const: fe3
|
||||||
|
- const: pdma0
|
||||||
|
- const: pdma1
|
||||||
|
- const: pdma2
|
||||||
|
- const: pdma3
|
||||||
|
|
||||||
power-domains:
|
power-domains:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
@ -54,6 +66,10 @@ properties:
|
||||||
- const: gmac
|
- const: gmac
|
||||||
- const: ppe
|
- const: ppe
|
||||||
|
|
||||||
|
sram:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
|
description: phandle to mmio SRAM
|
||||||
|
|
||||||
mediatek,ethsys:
|
mediatek,ethsys:
|
||||||
$ref: /schemas/types.yaml#/definitions/phandle
|
$ref: /schemas/types.yaml#/definitions/phandle
|
||||||
description:
|
description:
|
||||||
|
@ -135,6 +151,10 @@ allOf:
|
||||||
minItems: 3
|
minItems: 3
|
||||||
maxItems: 3
|
maxItems: 3
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 3
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 4
|
minItems: 4
|
||||||
maxItems: 4
|
maxItems: 4
|
||||||
|
@ -146,6 +166,8 @@ allOf:
|
||||||
- const: gp1
|
- const: gp1
|
||||||
- const: gp2
|
- const: gp2
|
||||||
|
|
||||||
|
sram: false
|
||||||
|
|
||||||
mediatek,infracfg: false
|
mediatek,infracfg: false
|
||||||
|
|
||||||
mediatek,wed: false
|
mediatek,wed: false
|
||||||
|
@ -166,6 +188,9 @@ allOf:
|
||||||
interrupts:
|
interrupts:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 2
|
minItems: 2
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
|
@ -175,6 +200,8 @@ allOf:
|
||||||
- const: ethif
|
- const: ethif
|
||||||
- const: fe
|
- const: fe
|
||||||
|
|
||||||
|
sram: false
|
||||||
|
|
||||||
mediatek,infracfg: false
|
mediatek,infracfg: false
|
||||||
|
|
||||||
mediatek,wed: false
|
mediatek,wed: false
|
||||||
|
@ -192,6 +219,10 @@ allOf:
|
||||||
minItems: 3
|
minItems: 3
|
||||||
maxItems: 3
|
maxItems: 3
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 3
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 11
|
minItems: 11
|
||||||
maxItems: 11
|
maxItems: 11
|
||||||
|
@ -210,6 +241,8 @@ allOf:
|
||||||
- const: sgmii_ck
|
- const: sgmii_ck
|
||||||
- const: eth2pll
|
- const: eth2pll
|
||||||
|
|
||||||
|
sram: false
|
||||||
|
|
||||||
mediatek,infracfg: false
|
mediatek,infracfg: false
|
||||||
|
|
||||||
mediatek,sgmiisys:
|
mediatek,sgmiisys:
|
||||||
|
@ -232,6 +265,10 @@ allOf:
|
||||||
minItems: 3
|
minItems: 3
|
||||||
maxItems: 3
|
maxItems: 3
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
minItems: 3
|
||||||
|
maxItems: 3
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 17
|
minItems: 17
|
||||||
maxItems: 17
|
maxItems: 17
|
||||||
|
@ -256,6 +293,8 @@ allOf:
|
||||||
- const: sgmii_ck
|
- const: sgmii_ck
|
||||||
- const: eth2pll
|
- const: eth2pll
|
||||||
|
|
||||||
|
sram: false
|
||||||
|
|
||||||
mediatek,sgmiisys:
|
mediatek,sgmiisys:
|
||||||
minItems: 2
|
minItems: 2
|
||||||
maxItems: 2
|
maxItems: 2
|
||||||
|
@ -272,7 +311,10 @@ allOf:
|
||||||
then:
|
then:
|
||||||
properties:
|
properties:
|
||||||
interrupts:
|
interrupts:
|
||||||
minItems: 4
|
minItems: 8
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
minItems: 8
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 15
|
minItems: 15
|
||||||
|
@ -310,7 +352,10 @@ allOf:
|
||||||
then:
|
then:
|
||||||
properties:
|
properties:
|
||||||
interrupts:
|
interrupts:
|
||||||
minItems: 4
|
minItems: 8
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
minItems: 8
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 15
|
minItems: 15
|
||||||
|
@ -348,7 +393,10 @@ allOf:
|
||||||
then:
|
then:
|
||||||
properties:
|
properties:
|
||||||
interrupts:
|
interrupts:
|
||||||
minItems: 4
|
minItems: 8
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
minItems: 8
|
||||||
|
|
||||||
clocks:
|
clocks:
|
||||||
minItems: 24
|
minItems: 24
|
||||||
|
@ -382,7 +430,7 @@ allOf:
|
||||||
- const: xgp3
|
- const: xgp3
|
||||||
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
"^mac@[0-1]$":
|
"^mac@[0-2]$":
|
||||||
type: object
|
type: object
|
||||||
unevaluatedProperties: false
|
unevaluatedProperties: false
|
||||||
allOf:
|
allOf:
|
||||||
|
@ -507,7 +555,11 @@ examples:
|
||||||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
|
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
|
<GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
<GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
|
<GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
|
||||||
|
<GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
clocks = <ðsys CLK_ETH_FE_EN>,
|
clocks = <ðsys CLK_ETH_FE_EN>,
|
||||||
<ðsys CLK_ETH_GP2_EN>,
|
<ðsys CLK_ETH_GP2_EN>,
|
||||||
<ðsys CLK_ETH_GP1_EN>,
|
<ðsys CLK_ETH_GP1_EN>,
|
||||||
|
|
|
@ -1,20 +0,0 @@
|
||||||
Micrel KS8995 SPI controlled Ethernet Switch families
|
|
||||||
|
|
||||||
Required properties (according to spi-bus.txt):
|
|
||||||
- compatible: either "micrel,ks8995", "micrel,ksz8864" or "micrel,ksz8795"
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- reset-gpios : phandle of gpio that will be used to reset chip during probe
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
spi-master {
|
|
||||||
...
|
|
||||||
switch@0 {
|
|
||||||
compatible = "micrel,ksz8795";
|
|
||||||
|
|
||||||
reg = <0>;
|
|
||||||
spi-max-frequency = <50000000>;
|
|
||||||
reset-gpios = <&gpio0 46 GPIO_ACTIVE_LOW>;
|
|
||||||
};
|
|
||||||
};
|
|
|
@ -55,6 +55,12 @@ properties:
|
||||||
description: |
|
description: |
|
||||||
Regulator for supply voltage to VIN pin
|
Regulator for supply voltage to VIN pin
|
||||||
|
|
||||||
|
ti,rx-gain-reduction-db:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
description: |
|
||||||
|
Specify an RX gain reduction to reduce antenna sensitivity with 5dB per
|
||||||
|
increment, with a maximum of 15dB. Supported values: [0, 5, 10, 15].
|
||||||
|
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- interrupts
|
- interrupts
|
||||||
|
@ -95,5 +101,6 @@ examples:
|
||||||
irq-status-read-quirk;
|
irq-status-read-quirk;
|
||||||
en2-rf-quirk;
|
en2-rf-quirk;
|
||||||
clock-frequency = <27120000>;
|
clock-frequency = <27120000>;
|
||||||
|
ti,rx-gain-reduction-db = <15>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
48
Documentation/devicetree/bindings/net/nxp,lpc-eth.yaml
Normal file
48
Documentation/devicetree/bindings/net/nxp,lpc-eth.yaml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/nxp,lpc-eth.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NXP LPC32xx SoC Ethernet Controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: nxp,lpc-eth
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
use-iram:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description: Use LPC32xx internal SRAM (IRAM) for DMA buffering
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: ethernet-controller.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
ethernet@31060000 {
|
||||||
|
compatible = "nxp,lpc-eth";
|
||||||
|
reg = <0x31060000 0x1000>;
|
||||||
|
interrupt-parent = <&mic>;
|
||||||
|
interrupts = <29 0>;
|
||||||
|
phy-mode = "rmii";
|
||||||
|
use-iram;
|
||||||
|
};
|
|
@ -1,20 +0,0 @@
|
||||||
* NXP LPC1850 GMAC ethernet controller
|
|
||||||
|
|
||||||
This device is a platform glue layer for stmmac.
|
|
||||||
Please see stmmac.txt for the other unchanged properties.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible: Should contain "nxp,lpc1850-dwmac"
|
|
||||||
|
|
||||||
Examples:
|
|
||||||
|
|
||||||
mac: ethernet@40010000 {
|
|
||||||
compatible = "nxp,lpc1850-dwmac", "snps,dwmac-3.611", "snps,dwmac";
|
|
||||||
reg = <0x40010000 0x2000>;
|
|
||||||
interrupts = <5>;
|
|
||||||
interrupt-names = "macirq";
|
|
||||||
clocks = <&ccu1 CLK_CPU_ETHERNET>;
|
|
||||||
clock-names = "stmmaceth";
|
|
||||||
resets = <&rgu 22>;
|
|
||||||
reset-names = "stmmaceth";
|
|
||||||
}
|
|
85
Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml
Normal file
85
Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml
Normal file
|
@ -0,0 +1,85 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/nxp,lpc1850-dwmac.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: NXP LPC1850 GMAC ethernet controller
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
# We need a select here so we don't match all nodes with 'snps,dwmac'
|
||||||
|
select:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- nxp,lpc1850-dwmac
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- enum:
|
||||||
|
- nxp,lpc1850-dwmac
|
||||||
|
- const: snps,dwmac-3.611
|
||||||
|
- const: snps,dwmac
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: stmmaceth
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
items:
|
||||||
|
- const: macirq
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
items:
|
||||||
|
- const: stmmaceth
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
- interrupt-names
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: snps,dwmac.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/clock/lpc18xx-ccu.h>
|
||||||
|
|
||||||
|
ethernet@40010000 {
|
||||||
|
compatible = "nxp,lpc1850-dwmac", "snps,dwmac-3.611", "snps,dwmac";
|
||||||
|
reg = <0x40010000 0x2000>;
|
||||||
|
interrupts = <5>;
|
||||||
|
interrupt-names = "macirq";
|
||||||
|
clocks = <&ccu1 CLK_CPU_ETHERNET>;
|
||||||
|
clock-names = "stmmaceth";
|
||||||
|
resets = <&rgu 22>;
|
||||||
|
reset-names = "stmmaceth";
|
||||||
|
rx-fifo-depth = <256>;
|
||||||
|
tx-fifo-depth = <256>;
|
||||||
|
snps,pbl = <4>;
|
||||||
|
snps,force_thresh_dma_mode;
|
||||||
|
phy-mode = "rgmii-id";
|
||||||
|
};
|
|
@ -22,6 +22,12 @@ properties:
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
vdd-supply:
|
||||||
|
description: Regulator that provides 3.3V VDD power supply.
|
||||||
|
|
||||||
|
vdda-supply:
|
||||||
|
description: Regulator that provides 3.3V VDDA power supply.
|
||||||
|
|
||||||
managers:
|
managers:
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
@ -68,6 +74,15 @@ properties:
|
||||||
"#size-cells":
|
"#size-cells":
|
||||||
const: 0
|
const: 0
|
||||||
|
|
||||||
|
vmain-supply:
|
||||||
|
description: Regulator that provides 44-57V VMAIN power supply.
|
||||||
|
|
||||||
|
vaux5-supply:
|
||||||
|
description: Regulator that provides 5V VAUX5 power supply.
|
||||||
|
|
||||||
|
vaux3p3-supply:
|
||||||
|
description: Regulator that provides 3.3V VAUX3P3 power supply.
|
||||||
|
|
||||||
patternProperties:
|
patternProperties:
|
||||||
'^port@[0-7]$':
|
'^port@[0-7]$':
|
||||||
type: object
|
type: object
|
||||||
|
@ -106,10 +121,11 @@ examples:
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
manager@0 {
|
manager0: manager@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
vmain-supply = <&pse1_supply>;
|
||||||
|
|
||||||
phys0: port@0 {
|
phys0: port@0 {
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
|
@ -161,7 +177,7 @@ examples:
|
||||||
pairset-names = "alternative-a", "alternative-b";
|
pairset-names = "alternative-a", "alternative-b";
|
||||||
pairsets = <&phys0>, <&phys1>;
|
pairsets = <&phys0>, <&phys1>;
|
||||||
polarity-supported = "MDI", "S";
|
polarity-supported = "MDI", "S";
|
||||||
vpwr-supply = <&vpwr1>;
|
vpwr-supply = <&manager0>;
|
||||||
};
|
};
|
||||||
pse_pi1: pse-pi@1 {
|
pse_pi1: pse-pi@1 {
|
||||||
reg = <1>;
|
reg = <1>;
|
||||||
|
@ -169,7 +185,7 @@ examples:
|
||||||
pairset-names = "alternative-a";
|
pairset-names = "alternative-a";
|
||||||
pairsets = <&phys2>;
|
pairsets = <&phys2>;
|
||||||
polarity-supported = "MDI";
|
polarity-supported = "MDI";
|
||||||
vpwr-supply = <&vpwr2>;
|
vpwr-supply = <&manager0>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -20,6 +20,9 @@ properties:
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
'#pse-cells':
|
'#pse-cells':
|
||||||
const: 1
|
const: 1
|
||||||
|
|
||||||
|
@ -27,10 +30,12 @@ properties:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
||||||
channels:
|
channels:
|
||||||
description: each set of 8 ports can be assigned to one physical
|
description: |
|
||||||
channels or two for PoE4. This parameter describes the configuration
|
Defines the 8 physical delivery channels on the controller that can
|
||||||
of the ports conversion matrix that establishes relationship between
|
be referenced by PSE PIs through their "pairsets" property. The actual
|
||||||
the logical ports and the physical channels.
|
port matrix mapping is created when PSE PIs reference these channels in
|
||||||
|
their pairsets. For 4-pair operation, two channels from the same group
|
||||||
|
(0-3 or 4-7) must be referenced by a single PSE PI.
|
||||||
type: object
|
type: object
|
||||||
additionalProperties: false
|
additionalProperties: false
|
||||||
|
|
||||||
|
@ -62,9 +67,12 @@ unevaluatedProperties: false
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
- reg
|
- reg
|
||||||
|
- interrupts
|
||||||
|
|
||||||
examples:
|
examples:
|
||||||
- |
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
i2c {
|
i2c {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
@ -72,6 +80,8 @@ examples:
|
||||||
ethernet-pse@20 {
|
ethernet-pse@20 {
|
||||||
compatible = "ti,tps23881";
|
compatible = "ti,tps23881";
|
||||||
reg = <0x20>;
|
reg = <0x20>;
|
||||||
|
interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-parent = <&gpiog>;
|
||||||
|
|
||||||
channels {
|
channels {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
|
|
|
@ -16,8 +16,37 @@ description: |
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: ethernet-phy.yaml#
|
- $ref: ethernet-phy.yaml#
|
||||||
|
- if:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- ethernet-phy-id004d.d0c0
|
||||||
|
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
reg:
|
||||||
|
const: 7 # This PHY is always at MDIO address 7 in the IPQ5018 SoC
|
||||||
|
|
||||||
|
resets:
|
||||||
|
items:
|
||||||
|
- description:
|
||||||
|
GE PHY MISC reset which triggers a reset across MDC, DSP, RX, and TX lines.
|
||||||
|
|
||||||
|
qcom,dac-preset-short-cable:
|
||||||
|
description:
|
||||||
|
Set if this phy is connected to another phy to adjust the values for
|
||||||
|
MDAC and EDAC to adjust amplitude, bias current settings, and error
|
||||||
|
detection and correction algorithm to accommodate for short cable length.
|
||||||
|
If not set, DAC values are not modified and it is assumed the MDI output pins
|
||||||
|
of this PHY are directly connected to an RJ45 connector.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ethernet-phy-id004d.d0c0
|
||||||
|
|
||||||
qca,clk-out-frequency:
|
qca,clk-out-frequency:
|
||||||
description: Clock output frequency in Hertz.
|
description: Clock output frequency in Hertz.
|
||||||
$ref: /schemas/types.yaml#/definitions/uint32
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||||||
|
@ -132,3 +161,17 @@ examples:
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/reset/qcom,gcc-ipq5018.h>
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
ge_phy: ethernet-phy@7 {
|
||||||
|
compatible = "ethernet-phy-id004d.d0c0";
|
||||||
|
reg = <7>;
|
||||||
|
|
||||||
|
resets = <&gcc GCC_GEPHY_MISC_ARES>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
|
@ -1,87 +0,0 @@
|
||||||
* Qualcomm QCA7000
|
|
||||||
|
|
||||||
The QCA7000 is a serial-to-powerline bridge with a host interface which could
|
|
||||||
be configured either as SPI or UART slave. This configuration is done by
|
|
||||||
the QCA7000 firmware.
|
|
||||||
|
|
||||||
(a) Ethernet over SPI
|
|
||||||
|
|
||||||
In order to use the QCA7000 as SPI device it must be defined as a child of a
|
|
||||||
SPI master in the device tree.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Should be "qca,qca7000"
|
|
||||||
- reg : Should specify the SPI chip select
|
|
||||||
- interrupts : The first cell should specify the index of the source
|
|
||||||
interrupt and the second cell should specify the trigger
|
|
||||||
type as rising edge
|
|
||||||
- spi-cpha : Must be set
|
|
||||||
- spi-cpol : Must be set
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at.
|
|
||||||
Numbers smaller than 1000000 or greater than 16000000
|
|
||||||
are invalid. Missing the property will set the SPI
|
|
||||||
frequency to 8000000 Hertz.
|
|
||||||
- qca,legacy-mode : Set the SPI data transfer of the QCA7000 to legacy mode.
|
|
||||||
In this mode the SPI master must toggle the chip select
|
|
||||||
between each data word. In burst mode these gaps aren't
|
|
||||||
necessary, which is faster. This setting depends on how
|
|
||||||
the QCA7000 is setup via GPIO pin strapping. If the
|
|
||||||
property is missing the driver defaults to burst mode.
|
|
||||||
|
|
||||||
The MAC address will be determined using the optional properties
|
|
||||||
defined in ethernet.txt.
|
|
||||||
|
|
||||||
SPI Example:
|
|
||||||
|
|
||||||
/* Freescale i.MX28 SPI master*/
|
|
||||||
ssp2: spi@80014000 {
|
|
||||||
#address-cells = <1>;
|
|
||||||
#size-cells = <0>;
|
|
||||||
compatible = "fsl,imx28-spi";
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&spi2_pins_a>;
|
|
||||||
|
|
||||||
qca7000: ethernet@0 {
|
|
||||||
compatible = "qca,qca7000";
|
|
||||||
reg = <0x0>;
|
|
||||||
interrupt-parent = <&gpio3>; /* GPIO Bank 3 */
|
|
||||||
interrupts = <25 0x1>; /* Index: 25, rising edge */
|
|
||||||
spi-cpha; /* SPI mode: CPHA=1 */
|
|
||||||
spi-cpol; /* SPI mode: CPOL=1 */
|
|
||||||
spi-max-frequency = <8000000>; /* freq: 8 MHz */
|
|
||||||
local-mac-address = [ A0 B0 C0 D0 E0 F0 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
(b) Ethernet over UART
|
|
||||||
|
|
||||||
In order to use the QCA7000 as UART slave it must be defined as a child of a
|
|
||||||
UART master in the device tree. It is possible to preconfigure the UART
|
|
||||||
settings of the QCA7000 firmware, but it's not possible to change them during
|
|
||||||
runtime.
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Should be "qca,qca7000"
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
- local-mac-address : see ./ethernet.txt
|
|
||||||
- current-speed : current baud rate of QCA7000 which defaults to 115200
|
|
||||||
if absent, see also ../serial/serial.yaml
|
|
||||||
|
|
||||||
UART Example:
|
|
||||||
|
|
||||||
/* Freescale i.MX28 UART */
|
|
||||||
auart0: serial@8006a000 {
|
|
||||||
compatible = "fsl,imx28-auart", "fsl,imx23-auart";
|
|
||||||
reg = <0x8006a000 0x2000>;
|
|
||||||
pinctrl-names = "default";
|
|
||||||
pinctrl-0 = <&auart0_2pins_a>;
|
|
||||||
|
|
||||||
qca7000: ethernet {
|
|
||||||
compatible = "qca,qca7000";
|
|
||||||
local-mac-address = [ A0 B0 C0 D0 E0 F0 ];
|
|
||||||
current-speed = <38400>;
|
|
||||||
};
|
|
||||||
};
|
|
109
Documentation/devicetree/bindings/net/qca,qca7000.yaml
Normal file
109
Documentation/devicetree/bindings/net/qca,qca7000.yaml
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/qca,qca7000.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Qualcomm QCA7000
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Frank Li <Frank.Li@nxp.com>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
The QCA7000 is a serial-to-powerline bridge with a host interface which could
|
||||||
|
be configured either as SPI or UART slave. This configuration is done by
|
||||||
|
the QCA7000 firmware.
|
||||||
|
|
||||||
|
(a) Ethernet over SPI
|
||||||
|
|
||||||
|
In order to use the QCA7000 as SPI device it must be defined as a child of a
|
||||||
|
SPI master in the device tree.
|
||||||
|
|
||||||
|
(b) Ethernet over UART
|
||||||
|
|
||||||
|
In order to use the QCA7000 as UART slave it must be defined as a child of a
|
||||||
|
UART master in the device tree. It is possible to preconfigure the UART
|
||||||
|
settings of the QCA7000 firmware, but it's not possible to change them during
|
||||||
|
runtime
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
const: qca,qca7000
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
qca,legacy-mode:
|
||||||
|
$ref: /schemas/types.yaml#/definitions/flag
|
||||||
|
description:
|
||||||
|
Set the SPI data transfer of the QCA7000 to legacy mode.
|
||||||
|
In this mode the SPI master must toggle the chip select
|
||||||
|
between each data word. In burst mode these gaps aren't
|
||||||
|
necessary, which is faster. This setting depends on how
|
||||||
|
the QCA7000 is setup via GPIO pin strapping. If the
|
||||||
|
property is missing the driver defaults to burst mode.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: ethernet-controller.yaml#
|
||||||
|
|
||||||
|
- if:
|
||||||
|
required:
|
||||||
|
- reg
|
||||||
|
|
||||||
|
then:
|
||||||
|
properties:
|
||||||
|
spi-cpha: true
|
||||||
|
|
||||||
|
spi-cpol: true
|
||||||
|
|
||||||
|
spi-max-frequency:
|
||||||
|
default: 8000000
|
||||||
|
maximum: 16000000
|
||||||
|
minimum: 1000000
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||||
|
|
||||||
|
else:
|
||||||
|
properties:
|
||||||
|
current-speed:
|
||||||
|
default: 115200
|
||||||
|
|
||||||
|
qca,legacy-mode: false
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: /schemas/serial/serial-peripheral-props.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
spi {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
ethernet@0 {
|
||||||
|
compatible = "qca,qca7000";
|
||||||
|
reg = <0x0>;
|
||||||
|
interrupt-parent = <&gpio3>;
|
||||||
|
interrupts = <25 IRQ_TYPE_EDGE_RISING>;
|
||||||
|
spi-cpha;
|
||||||
|
spi-cpol;
|
||||||
|
spi-max-frequency = <8000000>;
|
||||||
|
local-mac-address = [ a0 b0 c0 d0 e0 f0 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
- |
|
||||||
|
serial {
|
||||||
|
ethernet {
|
||||||
|
compatible = "qca,qca7000";
|
||||||
|
local-mac-address = [ a0 b0 c0 d0 e0 f0 ];
|
||||||
|
current-speed = <38400>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -1,7 +1,7 @@
|
||||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
%YAML 1.2
|
%YAML 1.2
|
||||||
---
|
---
|
||||||
$id: http://devicetree.org/schemas/net/renesas,r9a09g057-gbeth.yaml#
|
$id: http://devicetree.org/schemas/net/renesas,rzv2h-gbeth.yaml#
|
||||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
title: GBETH glue layer for Renesas RZ/V2H(P) (and similar SoCs)
|
title: GBETH glue layer for Renesas RZ/V2H(P) (and similar SoCs)
|
||||||
|
@ -14,6 +14,7 @@ select:
|
||||||
compatible:
|
compatible:
|
||||||
contains:
|
contains:
|
||||||
enum:
|
enum:
|
||||||
|
- renesas,r9a09g047-gbeth
|
||||||
- renesas,r9a09g056-gbeth
|
- renesas,r9a09g056-gbeth
|
||||||
- renesas,r9a09g057-gbeth
|
- renesas,r9a09g057-gbeth
|
||||||
- renesas,rzv2h-gbeth
|
- renesas,rzv2h-gbeth
|
||||||
|
@ -24,6 +25,7 @@ properties:
|
||||||
compatible:
|
compatible:
|
||||||
items:
|
items:
|
||||||
- enum:
|
- enum:
|
||||||
|
- renesas,r9a09g047-gbeth # RZ/G3E
|
||||||
- renesas,r9a09g056-gbeth # RZ/V2N
|
- renesas,r9a09g056-gbeth # RZ/V2N
|
||||||
- renesas,r9a09g057-gbeth # RZ/V2H(P)
|
- renesas,r9a09g057-gbeth # RZ/V2H(P)
|
||||||
- const: renesas,rzv2h-gbeth
|
- const: renesas,rzv2h-gbeth
|
|
@ -30,6 +30,7 @@ select:
|
||||||
- snps,dwmac-4.00
|
- snps,dwmac-4.00
|
||||||
- snps,dwmac-4.10a
|
- snps,dwmac-4.10a
|
||||||
- snps,dwmac-4.20a
|
- snps,dwmac-4.20a
|
||||||
|
- snps,dwmac-5.00a
|
||||||
- snps,dwmac-5.10a
|
- snps,dwmac-5.10a
|
||||||
- snps,dwmac-5.20
|
- snps,dwmac-5.20
|
||||||
- snps,dwmac-5.30a
|
- snps,dwmac-5.30a
|
||||||
|
@ -98,11 +99,13 @@ properties:
|
||||||
- snps,dwmac-4.00
|
- snps,dwmac-4.00
|
||||||
- snps,dwmac-4.10a
|
- snps,dwmac-4.10a
|
||||||
- snps,dwmac-4.20a
|
- snps,dwmac-4.20a
|
||||||
|
- snps,dwmac-5.00a
|
||||||
- snps,dwmac-5.10a
|
- snps,dwmac-5.10a
|
||||||
- snps,dwmac-5.20
|
- snps,dwmac-5.20
|
||||||
- snps,dwmac-5.30a
|
- snps,dwmac-5.30a
|
||||||
- snps,dwxgmac
|
- snps,dwxgmac
|
||||||
- snps,dwxgmac-2.10
|
- snps,dwxgmac-2.10
|
||||||
|
- sophgo,sg2042-dwmac
|
||||||
- sophgo,sg2044-dwmac
|
- sophgo,sg2044-dwmac
|
||||||
- starfive,jh7100-dwmac
|
- starfive,jh7100-dwmac
|
||||||
- starfive,jh7110-dwmac
|
- starfive,jh7110-dwmac
|
||||||
|
@ -641,6 +644,7 @@ allOf:
|
||||||
- snps,dwmac-4.00
|
- snps,dwmac-4.00
|
||||||
- snps,dwmac-4.10a
|
- snps,dwmac-4.10a
|
||||||
- snps,dwmac-4.20a
|
- snps,dwmac-4.20a
|
||||||
|
- snps,dwmac-5.00a
|
||||||
- snps,dwmac-5.10a
|
- snps,dwmac-5.10a
|
||||||
- snps,dwmac-5.20
|
- snps,dwmac-5.20
|
||||||
- snps,dwmac-5.30a
|
- snps,dwmac-5.30a
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
Altera SOCFPGA SoC DWMAC controller
|
|
||||||
|
|
||||||
This is a variant of the dwmac/stmmac driver an inherits all descriptions
|
|
||||||
present in Documentation/devicetree/bindings/net/stmmac.txt.
|
|
||||||
|
|
||||||
The device node has additional properties:
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : For Cyclone5/Arria5 SoCs it should contain
|
|
||||||
"altr,socfpga-stmmac". For Arria10/Agilex/Stratix10 SoCs
|
|
||||||
"altr,socfpga-stmmac-a10-s10".
|
|
||||||
Along with "snps,dwmac" and any applicable more detailed
|
|
||||||
designware version numbers documented in stmmac.txt
|
|
||||||
- altr,sysmgr-syscon : Should be the phandle to the system manager node that
|
|
||||||
encompasses the glue register, the register offset, and the register shift.
|
|
||||||
On Cyclone5/Arria5, the register shift represents the PHY mode bits, while
|
|
||||||
on the Arria10/Stratix10/Agilex platforms, the register shift represents
|
|
||||||
bit for each emac to enable/disable signals from the FPGA fabric to the
|
|
||||||
EMAC modules.
|
|
||||||
- altr,f2h_ptp_ref_clk use f2h_ptp_ref_clk instead of default eosc1 clock
|
|
||||||
for ptp ref clk. This affects all emacs as the clock is common.
|
|
||||||
|
|
||||||
Optional properties:
|
|
||||||
altr,emac-splitter: Should be the phandle to the emac splitter soft IP node if
|
|
||||||
DWMAC controller is connected emac splitter.
|
|
||||||
phy-mode: The phy mode the ethernet operates in
|
|
||||||
altr,sgmii-to-sgmii-converter: phandle to the TSE SGMII converter
|
|
||||||
|
|
||||||
This device node has additional phandle dependency, the sgmii converter:
|
|
||||||
|
|
||||||
Required properties:
|
|
||||||
- compatible : Should be altr,gmii-to-sgmii-2.0
|
|
||||||
- reg-names : Should be "eth_tse_control_port"
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
gmii_to_sgmii_converter: phy@100000240 {
|
|
||||||
compatible = "altr,gmii-to-sgmii-2.0";
|
|
||||||
reg = <0x00000001 0x00000240 0x00000008>,
|
|
||||||
<0x00000001 0x00000200 0x00000040>;
|
|
||||||
reg-names = "eth_tse_control_port";
|
|
||||||
clocks = <&sgmii_1_clk_0 &emac1 1 &sgmii_clk_125 &sgmii_clk_125>;
|
|
||||||
clock-names = "tse_pcs_ref_clk_clock_connection", "tse_rx_cdr_refclk";
|
|
||||||
};
|
|
||||||
|
|
||||||
gmac0: ethernet@ff700000 {
|
|
||||||
compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
|
|
||||||
altr,sysmgr-syscon = <&sysmgr 0x60 0>;
|
|
||||||
reg = <0xff700000 0x2000>;
|
|
||||||
interrupts = <0 115 4>;
|
|
||||||
interrupt-names = "macirq";
|
|
||||||
mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
|
|
||||||
clocks = <&emac_0_clk>;
|
|
||||||
clock-names = "stmmaceth";
|
|
||||||
phy-mode = "sgmii";
|
|
||||||
altr,gmii-to-sgmii-converter = <&gmii_to_sgmii_converter>;
|
|
||||||
};
|
|
114
Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml
Normal file
114
Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/sophgo,cv1800b-dwmac.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Sophgo CV1800B DWMAC glue layer
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Inochi Amaoto <inochiama@gmail.com>
|
||||||
|
|
||||||
|
select:
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
contains:
|
||||||
|
enum:
|
||||||
|
- sophgo,cv1800b-dwmac
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
items:
|
||||||
|
- const: sophgo,cv1800b-dwmac
|
||||||
|
- const: snps,dwmac-3.70a
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
items:
|
||||||
|
- description: GMAC main clock
|
||||||
|
- description: PTP clock
|
||||||
|
|
||||||
|
clock-names:
|
||||||
|
items:
|
||||||
|
- const: stmmaceth
|
||||||
|
- const: ptp_ref
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupt-names:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
resets:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
reset-names:
|
||||||
|
const: stmmaceth
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- clock-names
|
||||||
|
- interrupts
|
||||||
|
- interrupt-names
|
||||||
|
- resets
|
||||||
|
- reset-names
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: snps,dwmac.yaml#
|
||||||
|
|
||||||
|
unevaluatedProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||||||
|
|
||||||
|
ethernet@4070000 {
|
||||||
|
compatible = "sophgo,cv1800b-dwmac", "snps,dwmac-3.70a";
|
||||||
|
reg = <0x04070000 0x10000>;
|
||||||
|
clocks = <&clk 35>, <&clk 36>;
|
||||||
|
clock-names = "stmmaceth", "ptp_ref";
|
||||||
|
interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
|
||||||
|
interrupt-names = "macirq";
|
||||||
|
phy-handle = <&internal_ephy>;
|
||||||
|
phy-mode = "internal";
|
||||||
|
resets = <&rst 12>;
|
||||||
|
reset-names = "stmmaceth";
|
||||||
|
rx-fifo-depth = <8192>;
|
||||||
|
tx-fifo-depth = <8192>;
|
||||||
|
snps,multicast-filter-bins = <0>;
|
||||||
|
snps,perfect-filter-entries = <1>;
|
||||||
|
snps,aal;
|
||||||
|
snps,txpbl = <8>;
|
||||||
|
snps,rxpbl = <8>;
|
||||||
|
snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
|
||||||
|
snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
|
||||||
|
snps,axi-config = <&gmac0_stmmac_axi_setup>;
|
||||||
|
|
||||||
|
mdio {
|
||||||
|
compatible = "snps,dwmac-mdio";
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
};
|
||||||
|
|
||||||
|
gmac0_mtl_rx_setup: rx-queues-config {
|
||||||
|
snps,rx-queues-to-use = <1>;
|
||||||
|
queue0 {};
|
||||||
|
};
|
||||||
|
|
||||||
|
gmac0_mtl_tx_setup: tx-queues-config {
|
||||||
|
snps,tx-queues-to-use = <1>;
|
||||||
|
queue0 {};
|
||||||
|
};
|
||||||
|
|
||||||
|
gmac0_stmmac_axi_setup: stmmac-axi-config {
|
||||||
|
snps,blen = <16 8 4 0 0 0 0>;
|
||||||
|
snps,rd_osr_lmt = <2>;
|
||||||
|
snps,wr_osr_lmt = <1>;
|
||||||
|
};
|
||||||
|
};
|
|
@ -15,14 +15,19 @@ select:
|
||||||
contains:
|
contains:
|
||||||
enum:
|
enum:
|
||||||
- sophgo,sg2044-dwmac
|
- sophgo,sg2044-dwmac
|
||||||
|
- sophgo,sg2042-dwmac
|
||||||
required:
|
required:
|
||||||
- compatible
|
- compatible
|
||||||
|
|
||||||
properties:
|
properties:
|
||||||
compatible:
|
compatible:
|
||||||
items:
|
oneOf:
|
||||||
- const: sophgo,sg2044-dwmac
|
- items:
|
||||||
- const: snps,dwmac-5.30a
|
- const: sophgo,sg2042-dwmac
|
||||||
|
- const: snps,dwmac-5.00a
|
||||||
|
- items:
|
||||||
|
- const: sophgo,sg2044-dwmac
|
||||||
|
- const: snps,dwmac-5.30a
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
|
|
@ -284,7 +284,7 @@ examples:
|
||||||
ti,syscon-efuse = <&mcu_conf 0x200>;
|
ti,syscon-efuse = <&mcu_conf 0x200>;
|
||||||
phys = <&phy_gmii_sel 1>;
|
phys = <&phy_gmii_sel 1>;
|
||||||
|
|
||||||
phy-mode = "rgmii-rxid";
|
phy-mode = "rgmii-id";
|
||||||
phy-handle = <&phy0>;
|
phy-handle = <&phy0>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -12,7 +12,7 @@ maintainers:
|
||||||
description: |
|
description: |
|
||||||
This node provides properties for configuring the ath9k wireless device.
|
This node provides properties for configuring the ath9k wireless device.
|
||||||
The node is expected to be specified as a child node of the PCI controller
|
The node is expected to be specified as a child node of the PCI controller
|
||||||
to which the wireless chip is connected.
|
or AHB bus to which the wireless chip is connected.
|
||||||
|
|
||||||
allOf:
|
allOf:
|
||||||
- $ref: ieee80211.yaml#
|
- $ref: ieee80211.yaml#
|
||||||
|
@ -35,6 +35,12 @@ properties:
|
||||||
- pci168c,0034 # AR9462
|
- pci168c,0034 # AR9462
|
||||||
- pci168c,0036 # AR9565
|
- pci168c,0036 # AR9565
|
||||||
- pci168c,0037 # AR1111 and AR9485
|
- pci168c,0037 # AR1111 and AR9485
|
||||||
|
- qca,ar9130-wifi
|
||||||
|
- qca,ar9330-wifi
|
||||||
|
- qca,ar9340-wifi
|
||||||
|
- qca,qca9530-wifi
|
||||||
|
- qca,qca9550-wifi
|
||||||
|
- qca,qca9560-wifi
|
||||||
|
|
||||||
reg:
|
reg:
|
||||||
maxItems: 1
|
maxItems: 1
|
||||||
|
@ -88,3 +94,13 @@ examples:
|
||||||
nvmem-cell-names = "mac-address", "calibration";
|
nvmem-cell-names = "mac-address", "calibration";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
- |
|
||||||
|
ahb {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <1>;
|
||||||
|
wifi@180c0000 {
|
||||||
|
compatible = "qca,ar9130-wifi";
|
||||||
|
reg = <0x180c0000 0x230000>;
|
||||||
|
interrupts = <2>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
|
@ -35,6 +35,12 @@ properties:
|
||||||
string to uniquely identify variant of the calibration data for designs
|
string to uniquely identify variant of the calibration data for designs
|
||||||
with colliding bus and device ids
|
with colliding bus and device ids
|
||||||
|
|
||||||
|
firmware-name:
|
||||||
|
maxItems: 1
|
||||||
|
description:
|
||||||
|
If present, a board or platform specific string used to lookup
|
||||||
|
usecase-specific firmware files for the device.
|
||||||
|
|
||||||
vddrfacmn-supply:
|
vddrfacmn-supply:
|
||||||
description: VDD_RFA_CMN supply regulator handle
|
description: VDD_RFA_CMN supply regulator handle
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||||
|
%YAML 1.2
|
||||||
|
---
|
||||||
|
$id: http://devicetree.org/schemas/net/wireless/ralink,rt2880.yaml#
|
||||||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||||
|
|
||||||
|
title: Ralink RT2880 wireless device
|
||||||
|
|
||||||
|
maintainers:
|
||||||
|
- Stanislaw Gruszka <stf_xl@wp.pl>
|
||||||
|
|
||||||
|
description: |
|
||||||
|
This node provides properties for configuring RT2880 SOC wifi devices.
|
||||||
|
The node is expected to be specified as a root node of the device.
|
||||||
|
|
||||||
|
allOf:
|
||||||
|
- $ref: ieee80211.yaml#
|
||||||
|
|
||||||
|
properties:
|
||||||
|
compatible:
|
||||||
|
enum:
|
||||||
|
- ralink,rt2880-wifi
|
||||||
|
|
||||||
|
reg:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
clocks:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
interrupts:
|
||||||
|
maxItems: 1
|
||||||
|
|
||||||
|
required:
|
||||||
|
- compatible
|
||||||
|
- reg
|
||||||
|
- clocks
|
||||||
|
- interrupts
|
||||||
|
|
||||||
|
additionalProperties: false
|
||||||
|
|
||||||
|
examples:
|
||||||
|
- |
|
||||||
|
wifi@110180000 {
|
||||||
|
compatible = "ralink,rt2880-wifi";
|
||||||
|
reg = <0x10180000 0x40000>;
|
||||||
|
clocks = <&sysc 16>;
|
||||||
|
interrupt-parent = <&cpuintc>;
|
||||||
|
interrupts = <6>;
|
||||||
|
};
|
|
@ -214,6 +214,24 @@ offset values are fractional with 3-digit decimal places and shell be
|
||||||
divided with ``DPLL_PIN_PHASE_OFFSET_DIVIDER`` to get integer part and
|
divided with ``DPLL_PIN_PHASE_OFFSET_DIVIDER`` to get integer part and
|
||||||
modulo divided to get fractional part.
|
modulo divided to get fractional part.
|
||||||
|
|
||||||
|
Phase offset monitor
|
||||||
|
====================
|
||||||
|
|
||||||
|
Phase offset measurement is typically performed against the current active
|
||||||
|
source. However, some DPLL (Digital Phase-Locked Loop) devices may offer
|
||||||
|
the capability to monitor phase offsets across all available inputs.
|
||||||
|
The attribute and current feature state shall be included in the response
|
||||||
|
message of the ``DPLL_CMD_DEVICE_GET`` command for supported DPLL devices.
|
||||||
|
In such cases, users can also control the feature using the
|
||||||
|
``DPLL_CMD_DEVICE_SET`` command by setting the ``enum dpll_feature_state``
|
||||||
|
values for the attribute.
|
||||||
|
Once enabled the phase offset measurements for the input shall be returned
|
||||||
|
in the ``DPLL_A_PIN_PHASE_OFFSET`` attribute.
|
||||||
|
|
||||||
|
=============================== ========================
|
||||||
|
``DPLL_A_PHASE_OFFSET_MONITOR`` attr state of a feature
|
||||||
|
=============================== ========================
|
||||||
|
|
||||||
Embedded SYNC
|
Embedded SYNC
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
@ -235,6 +253,31 @@ the pin.
|
||||||
``DPLL_A_PIN_ESYNC_PULSE`` pulse type of Embedded SYNC
|
``DPLL_A_PIN_ESYNC_PULSE`` pulse type of Embedded SYNC
|
||||||
========================================= =================================
|
========================================= =================================
|
||||||
|
|
||||||
|
Reference SYNC
|
||||||
|
==============
|
||||||
|
|
||||||
|
The device may support the Reference SYNC feature, which allows the combination
|
||||||
|
of two inputs into a input pair. In this configuration, clock signals
|
||||||
|
from both inputs are used to synchronize the DPLL device. The higher frequency
|
||||||
|
signal is utilized for the loop bandwidth of the DPLL, while the lower frequency
|
||||||
|
signal is used to syntonize the output signal of the DPLL device. This feature
|
||||||
|
enables the provision of a high-quality loop bandwidth signal from an external
|
||||||
|
source.
|
||||||
|
|
||||||
|
A capable input provides a list of inputs that can be bound with to create
|
||||||
|
Reference SYNC. To control this feature, the user must request a desired
|
||||||
|
state for a target pin: use ``DPLL_PIN_STATE_CONNECTED`` to enable or
|
||||||
|
``DPLL_PIN_STATE_DISCONNECTED`` to disable the feature. An input pin can be
|
||||||
|
bound to only one other pin at any given time.
|
||||||
|
|
||||||
|
============================== ==========================================
|
||||||
|
``DPLL_A_PIN_REFERENCE_SYNC`` nested attribute for providing info or
|
||||||
|
requesting configuration of the Reference
|
||||||
|
SYNC feature
|
||||||
|
``DPLL_A_PIN_ID`` target pin id for Reference SYNC feature
|
||||||
|
``DPLL_A_PIN_STATE`` state of Reference SYNC connection
|
||||||
|
============================== ==========================================
|
||||||
|
|
||||||
Configuration commands group
|
Configuration commands group
|
||||||
============================
|
============================
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: conntrack
|
name: conntrack
|
||||||
protocol: netlink-raw
|
protocol: netlink-raw
|
||||||
protonum: 12
|
protonum: 12
|
||||||
|
@ -195,17 +195,17 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: tuple-attrs
|
name: tuple-attrs
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: tuple-ip
|
name: tuple-ip
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: tuple-ip-attrs
|
nested-attributes: tuple-ip-attrs
|
||||||
doc: conntrack l3 information
|
doc: conntrack l3 information
|
||||||
-
|
-
|
||||||
name: tuple-proto
|
name: tuple-proto
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: tuple-proto-attrs
|
nested-attributes: tuple-proto-attrs
|
||||||
doc: conntrack l4 information
|
doc: conntrack l4 information
|
||||||
-
|
-
|
||||||
name: tuple-zone
|
name: tuple-zone
|
||||||
type: u16
|
type: u16
|
||||||
byte-order: big-endian
|
byte-order: big-endian
|
||||||
|
@ -213,74 +213,74 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: protoinfo-tcp-attrs
|
name: protoinfo-tcp-attrs
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: tcp-state
|
name: tcp-state
|
||||||
type: u8
|
type: u8
|
||||||
enum: nf-ct-tcp-state
|
enum: nf-ct-tcp-state
|
||||||
doc: tcp connection state
|
doc: tcp connection state
|
||||||
-
|
-
|
||||||
name: tcp-wscale-original
|
name: tcp-wscale-original
|
||||||
type: u8
|
type: u8
|
||||||
doc: window scaling factor in original direction
|
doc: window scaling factor in original direction
|
||||||
-
|
-
|
||||||
name: tcp-wscale-reply
|
name: tcp-wscale-reply
|
||||||
type: u8
|
type: u8
|
||||||
doc: window scaling factor in reply direction
|
doc: window scaling factor in reply direction
|
||||||
-
|
-
|
||||||
name: tcp-flags-original
|
name: tcp-flags-original
|
||||||
type: binary
|
type: binary
|
||||||
struct: nf-ct-tcp-flags-mask
|
struct: nf-ct-tcp-flags-mask
|
||||||
-
|
-
|
||||||
name: tcp-flags-reply
|
name: tcp-flags-reply
|
||||||
type: binary
|
type: binary
|
||||||
struct: nf-ct-tcp-flags-mask
|
struct: nf-ct-tcp-flags-mask
|
||||||
-
|
-
|
||||||
name: protoinfo-dccp-attrs
|
name: protoinfo-dccp-attrs
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: dccp-state
|
name: dccp-state
|
||||||
type: u8
|
type: u8
|
||||||
doc: dccp connection state
|
doc: dccp connection state
|
||||||
-
|
-
|
||||||
name: dccp-role
|
name: dccp-role
|
||||||
type: u8
|
type: u8
|
||||||
-
|
-
|
||||||
name: dccp-handshake-seq
|
name: dccp-handshake-seq
|
||||||
type: u64
|
type: u64
|
||||||
byte-order: big-endian
|
byte-order: big-endian
|
||||||
-
|
-
|
||||||
name: dccp-pad
|
name: dccp-pad
|
||||||
type: pad
|
type: pad
|
||||||
-
|
-
|
||||||
name: protoinfo-sctp-attrs
|
name: protoinfo-sctp-attrs
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: sctp-state
|
name: sctp-state
|
||||||
type: u8
|
type: u8
|
||||||
doc: sctp connection state
|
doc: sctp connection state
|
||||||
enum: nf-ct-sctp-state
|
enum: nf-ct-sctp-state
|
||||||
-
|
-
|
||||||
name: vtag-original
|
name: vtag-original
|
||||||
type: u32
|
type: u32
|
||||||
byte-order: big-endian
|
byte-order: big-endian
|
||||||
-
|
-
|
||||||
name: vtag-reply
|
name: vtag-reply
|
||||||
type: u32
|
type: u32
|
||||||
byte-order: big-endian
|
byte-order: big-endian
|
||||||
-
|
-
|
||||||
name: protoinfo-attrs
|
name: protoinfo-attrs
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: protoinfo-tcp
|
name: protoinfo-tcp
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: protoinfo-tcp-attrs
|
nested-attributes: protoinfo-tcp-attrs
|
||||||
doc: conntrack tcp state information
|
doc: conntrack tcp state information
|
||||||
-
|
-
|
||||||
name: protoinfo-dccp
|
name: protoinfo-dccp
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: protoinfo-dccp-attrs
|
nested-attributes: protoinfo-dccp-attrs
|
||||||
doc: conntrack dccp state information
|
doc: conntrack dccp state information
|
||||||
-
|
-
|
||||||
name: protoinfo-sctp
|
name: protoinfo-sctp
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: protoinfo-sctp-attrs
|
nested-attributes: protoinfo-sctp-attrs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: devlink
|
name: devlink
|
||||||
|
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -224,6 +224,10 @@ definitions:
|
||||||
value: 10
|
value: 10
|
||||||
-
|
-
|
||||||
name: binary
|
name: binary
|
||||||
|
-
|
||||||
|
name: rate-tc-index-max
|
||||||
|
type: const
|
||||||
|
value: 7
|
||||||
|
|
||||||
attribute-sets:
|
attribute-sets:
|
||||||
-
|
-
|
||||||
|
@ -744,7 +748,7 @@ attribute-sets:
|
||||||
name: flash-update-overwrite-mask
|
name: flash-update-overwrite-mask
|
||||||
type: bitfield32
|
type: bitfield32
|
||||||
enum: flash-overwrite
|
enum: flash-overwrite
|
||||||
enum-as-flags: True
|
enum-as-flags: true
|
||||||
-
|
-
|
||||||
name: reload-action
|
name: reload-action
|
||||||
type: u8
|
type: u8
|
||||||
|
@ -753,12 +757,12 @@ attribute-sets:
|
||||||
name: reload-actions-performed
|
name: reload-actions-performed
|
||||||
type: bitfield32
|
type: bitfield32
|
||||||
enum: reload-action
|
enum: reload-action
|
||||||
enum-as-flags: True
|
enum-as-flags: true
|
||||||
-
|
-
|
||||||
name: reload-limits
|
name: reload-limits
|
||||||
type: bitfield32
|
type: bitfield32
|
||||||
enum: reload-action
|
enum: reload-action
|
||||||
enum-as-flags: True
|
enum-as-flags: true
|
||||||
-
|
-
|
||||||
name: dev-stats
|
name: dev-stats
|
||||||
type: nest
|
type: nest
|
||||||
|
@ -812,14 +816,14 @@ attribute-sets:
|
||||||
name: rate-parent-node-name
|
name: rate-parent-node-name
|
||||||
type: string
|
type: string
|
||||||
-
|
-
|
||||||
name: region-max-snapshots
|
name: region-max-snapshots
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: linecard-index
|
name: linecard-index
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: linecard-state
|
name: linecard-state
|
||||||
type: u8
|
type: u8
|
||||||
-
|
-
|
||||||
name: linecard-type
|
name: linecard-type
|
||||||
type: string
|
type: string
|
||||||
|
@ -844,7 +848,11 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: region-direct
|
name: region-direct
|
||||||
type: flag
|
type: flag
|
||||||
|
-
|
||||||
|
name: rate-tc-bws
|
||||||
|
type: nest
|
||||||
|
multi-attr: true
|
||||||
|
nested-attributes: dl-rate-tc-bws
|
||||||
-
|
-
|
||||||
name: dl-dev-stats
|
name: dl-dev-stats
|
||||||
subset-of: devlink
|
subset-of: devlink
|
||||||
|
@ -917,7 +925,7 @@ attribute-sets:
|
||||||
name: caps
|
name: caps
|
||||||
type: bitfield32
|
type: bitfield32
|
||||||
enum: port-fn-attr-cap
|
enum: port-fn-attr-cap
|
||||||
enum-as-flags: True
|
enum-as-flags: true
|
||||||
|
|
||||||
-
|
-
|
||||||
name: dl-dpipe-tables
|
name: dl-dpipe-tables
|
||||||
|
@ -1139,7 +1147,7 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: param-type
|
name: param-type
|
||||||
|
|
||||||
# TODO: fill in the attribute param-value-list
|
# TODO: fill in the attribute param-value-list
|
||||||
|
|
||||||
-
|
-
|
||||||
name: dl-region-snapshots
|
name: dl-region-snapshots
|
||||||
|
@ -1249,6 +1257,22 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: flash
|
name: flash
|
||||||
type: flag
|
type: flag
|
||||||
|
-
|
||||||
|
name: dl-rate-tc-bws
|
||||||
|
name-prefix: devlink-rate-tc-attr-
|
||||||
|
attributes:
|
||||||
|
-
|
||||||
|
name: index
|
||||||
|
type: u8
|
||||||
|
checks:
|
||||||
|
max: rate-tc-index-max
|
||||||
|
-
|
||||||
|
name: bw
|
||||||
|
type: u32
|
||||||
|
doc: |
|
||||||
|
Specifies the bandwidth share assigned to the Traffic Class.
|
||||||
|
The bandwidth for the traffic class is determined
|
||||||
|
in proportion to the sum of the shares of all configured classes.
|
||||||
|
|
||||||
operations:
|
operations:
|
||||||
enum-model: directional
|
enum-model: directional
|
||||||
|
@ -1257,7 +1281,7 @@ operations:
|
||||||
name: get
|
name: get
|
||||||
doc: Get devlink instances.
|
doc: Get devlink instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict, dump ]
|
dont-validate: [strict, dump]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1266,7 +1290,7 @@ operations:
|
||||||
attributes: &dev-id-attrs
|
attributes: &dev-id-attrs
|
||||||
- bus-name
|
- bus-name
|
||||||
- dev-name
|
- dev-name
|
||||||
reply: &get-reply
|
reply: &get-reply
|
||||||
value: 3
|
value: 3
|
||||||
attributes:
|
attributes:
|
||||||
- bus-name
|
- bus-name
|
||||||
|
@ -1280,7 +1304,7 @@ operations:
|
||||||
name: port-get
|
name: port-get
|
||||||
doc: Get devlink port instances.
|
doc: Get devlink port instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1304,8 +1328,8 @@ operations:
|
||||||
name: port-set
|
name: port-set
|
||||||
doc: Set devlink port instances.
|
doc: Set devlink port instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1321,8 +1345,8 @@ operations:
|
||||||
name: port-new
|
name: port-new
|
||||||
doc: Create devlink port instances.
|
doc: Create devlink port instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1343,8 +1367,8 @@ operations:
|
||||||
name: port-del
|
name: port-del
|
||||||
doc: Delete devlink port instances.
|
doc: Delete devlink port instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1355,8 +1379,8 @@ operations:
|
||||||
name: port-split
|
name: port-split
|
||||||
doc: Split devlink port instances.
|
doc: Split devlink port instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1371,8 +1395,8 @@ operations:
|
||||||
name: port-unsplit
|
name: port-unsplit
|
||||||
doc: Unplit devlink port instances.
|
doc: Unplit devlink port instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1383,7 +1407,7 @@ operations:
|
||||||
name: sb-get
|
name: sb-get
|
||||||
doc: Get shared buffer instances.
|
doc: Get shared buffer instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1405,7 +1429,7 @@ operations:
|
||||||
name: sb-pool-get
|
name: sb-pool-get
|
||||||
doc: Get shared buffer pool instances.
|
doc: Get shared buffer pool instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1428,8 +1452,8 @@ operations:
|
||||||
name: sb-pool-set
|
name: sb-pool-set
|
||||||
doc: Set shared buffer pool instances.
|
doc: Set shared buffer pool instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1446,7 +1470,7 @@ operations:
|
||||||
name: sb-port-pool-get
|
name: sb-port-pool-get
|
||||||
doc: Get shared buffer port-pool combinations and threshold.
|
doc: Get shared buffer port-pool combinations and threshold.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1470,8 +1494,8 @@ operations:
|
||||||
name: sb-port-pool-set
|
name: sb-port-pool-set
|
||||||
doc: Set shared buffer port-pool combinations and threshold.
|
doc: Set shared buffer port-pool combinations and threshold.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1488,7 +1512,7 @@ operations:
|
||||||
name: sb-tc-pool-bind-get
|
name: sb-tc-pool-bind-get
|
||||||
doc: Get shared buffer port-TC to pool bindings and threshold.
|
doc: Get shared buffer port-TC to pool bindings and threshold.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1513,8 +1537,8 @@ operations:
|
||||||
name: sb-tc-pool-bind-set
|
name: sb-tc-pool-bind-set
|
||||||
doc: Set shared buffer port-TC to pool bindings and threshold.
|
doc: Set shared buffer port-TC to pool bindings and threshold.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1533,8 +1557,8 @@ operations:
|
||||||
name: sb-occ-snapshot
|
name: sb-occ-snapshot
|
||||||
doc: Take occupancy snapshot of shared buffer.
|
doc: Take occupancy snapshot of shared buffer.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1549,8 +1573,8 @@ operations:
|
||||||
name: sb-occ-max-clear
|
name: sb-occ-max-clear
|
||||||
doc: Clear occupancy watermarks of shared buffer.
|
doc: Clear occupancy watermarks of shared buffer.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1564,8 +1588,8 @@ operations:
|
||||||
name: eswitch-get
|
name: eswitch-get
|
||||||
doc: Get eswitch attributes.
|
doc: Get eswitch attributes.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1584,8 +1608,8 @@ operations:
|
||||||
name: eswitch-set
|
name: eswitch-set
|
||||||
doc: Set eswitch attributes.
|
doc: Set eswitch attributes.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1596,7 +1620,7 @@ operations:
|
||||||
name: dpipe-table-get
|
name: dpipe-table-get
|
||||||
doc: Get dpipe table attributes.
|
doc: Get dpipe table attributes.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1616,7 +1640,7 @@ operations:
|
||||||
name: dpipe-entries-get
|
name: dpipe-entries-get
|
||||||
doc: Get dpipe entries attributes.
|
doc: Get dpipe entries attributes.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1635,7 +1659,7 @@ operations:
|
||||||
name: dpipe-headers-get
|
name: dpipe-headers-get
|
||||||
doc: Get dpipe headers attributes.
|
doc: Get dpipe headers attributes.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1653,8 +1677,8 @@ operations:
|
||||||
name: dpipe-table-counters-set
|
name: dpipe-table-counters-set
|
||||||
doc: Set dpipe counter attributes.
|
doc: Set dpipe counter attributes.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1669,8 +1693,8 @@ operations:
|
||||||
name: resource-set
|
name: resource-set
|
||||||
doc: Set resource attributes.
|
doc: Set resource attributes.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1685,7 +1709,7 @@ operations:
|
||||||
name: resource-dump
|
name: resource-dump
|
||||||
doc: Get resource attributes.
|
doc: Get resource attributes.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1704,8 +1728,8 @@ operations:
|
||||||
name: reload
|
name: reload
|
||||||
doc: Reload devlink.
|
doc: Reload devlink.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-dev-lock
|
pre: devlink-nl-pre-doit-dev-lock
|
||||||
post: devlink-nl-post-doit-dev-lock
|
post: devlink-nl-post-doit-dev-lock
|
||||||
|
@ -1728,7 +1752,7 @@ operations:
|
||||||
name: param-get
|
name: param-get
|
||||||
doc: Get param instances.
|
doc: Get param instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1748,8 +1772,8 @@ operations:
|
||||||
name: param-set
|
name: param-set
|
||||||
doc: Set param instances.
|
doc: Set param instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1766,7 +1790,7 @@ operations:
|
||||||
name: region-get
|
name: region-get
|
||||||
doc: Get region instances.
|
doc: Get region instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1789,8 +1813,8 @@ operations:
|
||||||
name: region-new
|
name: region-new
|
||||||
doc: Create region snapshot.
|
doc: Create region snapshot.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1810,8 +1834,8 @@ operations:
|
||||||
name: region-del
|
name: region-del
|
||||||
doc: Delete region snapshot.
|
doc: Delete region snapshot.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1822,8 +1846,8 @@ operations:
|
||||||
name: region-read
|
name: region-read
|
||||||
doc: Read region data.
|
doc: Read region data.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ dump-strict ]
|
dont-validate: [dump-strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
dump:
|
dump:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -1847,7 +1871,7 @@ operations:
|
||||||
name: port-param-get
|
name: port-param-get
|
||||||
doc: Get port param instances.
|
doc: Get port param instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict, dump-strict ]
|
dont-validate: [strict, dump-strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1863,8 +1887,8 @@ operations:
|
||||||
name: port-param-set
|
name: port-param-set
|
||||||
doc: Set port param instances.
|
doc: Set port param instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port
|
pre: devlink-nl-pre-doit-port
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1873,9 +1897,11 @@ operations:
|
||||||
|
|
||||||
-
|
-
|
||||||
name: info-get
|
name: info-get
|
||||||
doc: Get device information, like driver name, hardware and firmware versions etc.
|
doc: |
|
||||||
|
Get device information, like driver name, hardware and firmware versions
|
||||||
|
etc.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict, dump ]
|
dont-validate: [strict, dump]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1900,7 +1926,7 @@ operations:
|
||||||
name: health-reporter-get
|
name: health-reporter-get
|
||||||
doc: Get health reporter instances.
|
doc: Get health reporter instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1921,8 +1947,8 @@ operations:
|
||||||
name: health-reporter-set
|
name: health-reporter-set
|
||||||
doc: Set health reporter instances.
|
doc: Set health reporter instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1940,8 +1966,8 @@ operations:
|
||||||
name: health-reporter-recover
|
name: health-reporter-recover
|
||||||
doc: Recover health reporter instances.
|
doc: Recover health reporter instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1952,8 +1978,8 @@ operations:
|
||||||
name: health-reporter-diagnose
|
name: health-reporter-diagnose
|
||||||
doc: Diagnose health reporter instances.
|
doc: Diagnose health reporter instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1964,8 +1990,8 @@ operations:
|
||||||
name: health-reporter-dump-get
|
name: health-reporter-dump-get
|
||||||
doc: Dump health reporter instances.
|
doc: Dump health reporter instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ dump-strict ]
|
dont-validate: [dump-strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
dump:
|
dump:
|
||||||
request:
|
request:
|
||||||
attributes: *health-reporter-id-attrs
|
attributes: *health-reporter-id-attrs
|
||||||
|
@ -1978,8 +2004,8 @@ operations:
|
||||||
name: health-reporter-dump-clear
|
name: health-reporter-dump-clear
|
||||||
doc: Clear dump of health reporter instances.
|
doc: Clear dump of health reporter instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -1990,8 +2016,8 @@ operations:
|
||||||
name: flash-update
|
name: flash-update
|
||||||
doc: Flash update devlink instances.
|
doc: Flash update devlink instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2007,7 +2033,7 @@ operations:
|
||||||
name: trap-get
|
name: trap-get
|
||||||
doc: Get trap instances.
|
doc: Get trap instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2029,8 +2055,8 @@ operations:
|
||||||
name: trap-set
|
name: trap-set
|
||||||
doc: Set trap instances.
|
doc: Set trap instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2045,7 +2071,7 @@ operations:
|
||||||
name: trap-group-get
|
name: trap-group-get
|
||||||
doc: Get trap group instances.
|
doc: Get trap group instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2067,8 +2093,8 @@ operations:
|
||||||
name: trap-group-set
|
name: trap-group-set
|
||||||
doc: Set trap group instances.
|
doc: Set trap group instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2084,7 +2110,7 @@ operations:
|
||||||
name: trap-policer-get
|
name: trap-policer-get
|
||||||
doc: Get trap policer instances.
|
doc: Get trap policer instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2106,8 +2132,8 @@ operations:
|
||||||
name: trap-policer-set
|
name: trap-policer-set
|
||||||
doc: Get trap policer instances.
|
doc: Get trap policer instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2123,8 +2149,8 @@ operations:
|
||||||
name: health-reporter-test
|
name: health-reporter-test
|
||||||
doc: Test health reporter instances.
|
doc: Test health reporter instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit-port-optional
|
pre: devlink-nl-pre-doit-port-optional
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2136,7 +2162,7 @@ operations:
|
||||||
name: rate-get
|
name: rate-get
|
||||||
doc: Get rate instances.
|
doc: Get rate instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2159,8 +2185,8 @@ operations:
|
||||||
name: rate-set
|
name: rate-set
|
||||||
doc: Set rate instances.
|
doc: Set rate instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2174,13 +2200,14 @@ operations:
|
||||||
- rate-tx-priority
|
- rate-tx-priority
|
||||||
- rate-tx-weight
|
- rate-tx-weight
|
||||||
- rate-parent-node-name
|
- rate-parent-node-name
|
||||||
|
- rate-tc-bws
|
||||||
|
|
||||||
-
|
-
|
||||||
name: rate-new
|
name: rate-new
|
||||||
doc: Create rate instances.
|
doc: Create rate instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2194,13 +2221,14 @@ operations:
|
||||||
- rate-tx-priority
|
- rate-tx-priority
|
||||||
- rate-tx-weight
|
- rate-tx-weight
|
||||||
- rate-parent-node-name
|
- rate-parent-node-name
|
||||||
|
- rate-tc-bws
|
||||||
|
|
||||||
-
|
-
|
||||||
name: rate-del
|
name: rate-del
|
||||||
doc: Delete rate instances.
|
doc: Delete rate instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2214,7 +2242,7 @@ operations:
|
||||||
name: linecard-get
|
name: linecard-get
|
||||||
doc: Get line card instances.
|
doc: Get line card instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2236,8 +2264,8 @@ operations:
|
||||||
name: linecard-set
|
name: linecard-set
|
||||||
doc: Set line card instances.
|
doc: Set line card instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2252,7 +2280,7 @@ operations:
|
||||||
name: selftests-get
|
name: selftests-get
|
||||||
doc: Get device selftest instances.
|
doc: Get device selftest instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict, dump ]
|
dont-validate: [strict, dump]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
@ -2269,8 +2297,8 @@ operations:
|
||||||
name: selftests-run
|
name: selftests-run
|
||||||
doc: Run device selftest instances.
|
doc: Run device selftest instances.
|
||||||
attribute-set: devlink
|
attribute-set: devlink
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
pre: devlink-nl-pre-doit
|
pre: devlink-nl-pre-doit
|
||||||
post: devlink-nl-post-doit
|
post: devlink-nl-post-doit
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: dpll
|
name: dpll
|
||||||
|
|
||||||
doc: DPLL subsystem.
|
doc: DPLL subsystem.
|
||||||
|
@ -240,6 +240,20 @@ definitions:
|
||||||
integer part of a measured phase offset value.
|
integer part of a measured phase offset value.
|
||||||
Value of (DPLL_A_PHASE_OFFSET % DPLL_PHASE_OFFSET_DIVIDER) is a
|
Value of (DPLL_A_PHASE_OFFSET % DPLL_PHASE_OFFSET_DIVIDER) is a
|
||||||
fractional part of a measured phase offset value.
|
fractional part of a measured phase offset value.
|
||||||
|
-
|
||||||
|
type: enum
|
||||||
|
name: feature-state
|
||||||
|
doc: |
|
||||||
|
Allow control (enable/disable) and status checking over features.
|
||||||
|
entries:
|
||||||
|
-
|
||||||
|
name: disable
|
||||||
|
doc: |
|
||||||
|
feature shall be disabled
|
||||||
|
-
|
||||||
|
name: enable
|
||||||
|
doc: |
|
||||||
|
feature shall be enabled
|
||||||
|
|
||||||
attribute-sets:
|
attribute-sets:
|
||||||
-
|
-
|
||||||
|
@ -293,6 +307,14 @@ attribute-sets:
|
||||||
be put to message multiple times to indicate possible parallel
|
be put to message multiple times to indicate possible parallel
|
||||||
quality levels (e.g. one specified by ITU option 1 and another
|
quality levels (e.g. one specified by ITU option 1 and another
|
||||||
one specified by option 2).
|
one specified by option 2).
|
||||||
|
-
|
||||||
|
name: phase-offset-monitor
|
||||||
|
type: u32
|
||||||
|
enum: feature-state
|
||||||
|
doc: Receive or request state of phase offset monitor feature.
|
||||||
|
If enabled, dpll device shall monitor and notify all currently
|
||||||
|
available inputs for changes of their phase offset against the
|
||||||
|
dpll device.
|
||||||
-
|
-
|
||||||
name: pin
|
name: pin
|
||||||
enum-name: dpll_a_pin
|
enum-name: dpll_a_pin
|
||||||
|
@ -406,6 +428,15 @@ attribute-sets:
|
||||||
doc: |
|
doc: |
|
||||||
A ratio of high to low state of a SYNC signal pulse embedded
|
A ratio of high to low state of a SYNC signal pulse embedded
|
||||||
into base clock frequency. Value is in percents.
|
into base clock frequency. Value is in percents.
|
||||||
|
-
|
||||||
|
name: reference-sync
|
||||||
|
type: nest
|
||||||
|
multi-attr: true
|
||||||
|
nested-attributes: reference-sync
|
||||||
|
doc: |
|
||||||
|
Capable pin provides list of pins that can be bound to create a
|
||||||
|
reference-sync pin pair.
|
||||||
|
|
||||||
-
|
-
|
||||||
name: pin-parent-device
|
name: pin-parent-device
|
||||||
subset-of: pin
|
subset-of: pin
|
||||||
|
@ -436,6 +467,14 @@ attribute-sets:
|
||||||
name: frequency-min
|
name: frequency-min
|
||||||
-
|
-
|
||||||
name: frequency-max
|
name: frequency-max
|
||||||
|
-
|
||||||
|
name: reference-sync
|
||||||
|
subset-of: pin
|
||||||
|
attributes:
|
||||||
|
-
|
||||||
|
name: id
|
||||||
|
-
|
||||||
|
name: state
|
||||||
|
|
||||||
operations:
|
operations:
|
||||||
enum-name: dpll_cmd
|
enum-name: dpll_cmd
|
||||||
|
@ -445,7 +484,7 @@ operations:
|
||||||
doc: |
|
doc: |
|
||||||
Get id of dpll device that matches given attributes
|
Get id of dpll device that matches given attributes
|
||||||
attribute-set: dpll
|
attribute-set: dpll
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: dpll-lock-doit
|
pre: dpll-lock-doit
|
||||||
|
@ -464,7 +503,7 @@ operations:
|
||||||
doc: |
|
doc: |
|
||||||
Get list of DPLL devices (dump) or attributes of a single dpll device
|
Get list of DPLL devices (dump) or attributes of a single dpll device
|
||||||
attribute-set: dpll
|
attribute-set: dpll
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: dpll-pre-doit
|
pre: dpll-pre-doit
|
||||||
|
@ -483,6 +522,7 @@ operations:
|
||||||
- temp
|
- temp
|
||||||
- clock-id
|
- clock-id
|
||||||
- type
|
- type
|
||||||
|
- phase-offset-monitor
|
||||||
|
|
||||||
dump:
|
dump:
|
||||||
reply: *dev-attrs
|
reply: *dev-attrs
|
||||||
|
@ -491,7 +531,7 @@ operations:
|
||||||
name: device-set
|
name: device-set
|
||||||
doc: Set attributes for a DPLL device
|
doc: Set attributes for a DPLL device
|
||||||
attribute-set: dpll
|
attribute-set: dpll
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: dpll-pre-doit
|
pre: dpll-pre-doit
|
||||||
|
@ -499,6 +539,7 @@ operations:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
- id
|
- id
|
||||||
|
- phase-offset-monitor
|
||||||
-
|
-
|
||||||
name: device-create-ntf
|
name: device-create-ntf
|
||||||
doc: Notification about device appearing
|
doc: Notification about device appearing
|
||||||
|
@ -519,7 +560,7 @@ operations:
|
||||||
doc: |
|
doc: |
|
||||||
Get id of a pin that matches given attributes
|
Get id of a pin that matches given attributes
|
||||||
attribute-set: pin
|
attribute-set: pin
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: dpll-lock-doit
|
pre: dpll-lock-doit
|
||||||
|
@ -547,7 +588,7 @@ operations:
|
||||||
a given dpll device
|
a given dpll device
|
||||||
- do request with target dpll and target pin - single pin attributes
|
- do request with target dpll and target pin - single pin attributes
|
||||||
attribute-set: pin
|
attribute-set: pin
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: dpll-pin-pre-doit
|
pre: dpll-pin-pre-doit
|
||||||
|
@ -574,6 +615,7 @@ operations:
|
||||||
- esync-frequency
|
- esync-frequency
|
||||||
- esync-frequency-supported
|
- esync-frequency-supported
|
||||||
- esync-pulse
|
- esync-pulse
|
||||||
|
- reference-sync
|
||||||
|
|
||||||
dump:
|
dump:
|
||||||
request:
|
request:
|
||||||
|
@ -585,7 +627,7 @@ operations:
|
||||||
name: pin-set
|
name: pin-set
|
||||||
doc: Set attributes of a target pin
|
doc: Set attributes of a target pin
|
||||||
attribute-set: pin
|
attribute-set: pin
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: dpll-pin-pre-doit
|
pre: dpll-pin-pre-doit
|
||||||
|
@ -601,6 +643,7 @@ operations:
|
||||||
- parent-pin
|
- parent-pin
|
||||||
- phase-adjust
|
- phase-adjust
|
||||||
- esync-frequency
|
- esync-frequency
|
||||||
|
- reference-sync
|
||||||
-
|
-
|
||||||
name: pin-create-ntf
|
name: pin-create-ntf
|
||||||
doc: Notification about pin appearing
|
doc: Notification about pin appearing
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: ethtool
|
name: ethtool
|
||||||
|
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -15,14 +15,14 @@ definitions:
|
||||||
name: udp-tunnel-type
|
name: udp-tunnel-type
|
||||||
enum-name:
|
enum-name:
|
||||||
type: enum
|
type: enum
|
||||||
entries: [ vxlan, geneve, vxlan-gpe ]
|
entries: [vxlan, geneve, vxlan-gpe]
|
||||||
enum-cnt-name: __ethtool-udp-tunnel-type-cnt
|
enum-cnt-name: __ethtool-udp-tunnel-type-cnt
|
||||||
render-max: true
|
render-max: true
|
||||||
-
|
-
|
||||||
name: stringset
|
name: stringset
|
||||||
type: enum
|
type: enum
|
||||||
entries: []
|
entries: []
|
||||||
header: linux/ethtool.h # skip rendering, no actual definition
|
header: linux/ethtool.h # skip rendering, no actual definition
|
||||||
-
|
-
|
||||||
name: header-flags
|
name: header-flags
|
||||||
type: flags
|
type: flags
|
||||||
|
@ -58,49 +58,51 @@ definitions:
|
||||||
doc: The firmware flashing process was stopped due to an error.
|
doc: The firmware flashing process was stopped due to an error.
|
||||||
-
|
-
|
||||||
name: c33-pse-ext-state
|
name: c33-pse-ext-state
|
||||||
doc: "groups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4 Variables"
|
doc: |
|
||||||
|
"groups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4
|
||||||
|
Variables"
|
||||||
type: enum
|
type: enum
|
||||||
name-prefix: ethtool-c33-pse-ext-state-
|
name-prefix: ethtool-c33-pse-ext-state-
|
||||||
header: linux/ethtool.h
|
header: linux/ethtool.h
|
||||||
entries:
|
entries:
|
||||||
-
|
-
|
||||||
name: none
|
name: none
|
||||||
doc: none
|
doc: none
|
||||||
-
|
-
|
||||||
name: error-condition
|
name: error-condition
|
||||||
doc: Group of error_condition states
|
doc: Group of error_condition states
|
||||||
-
|
-
|
||||||
name: mr-mps-valid
|
name: mr-mps-valid
|
||||||
doc: Group of mr_mps_valid states
|
doc: Group of mr_mps_valid states
|
||||||
-
|
-
|
||||||
name: mr-pse-enable
|
name: mr-pse-enable
|
||||||
doc: Group of mr_pse_enable states
|
doc: Group of mr_pse_enable states
|
||||||
-
|
-
|
||||||
name: option-detect-ted
|
name: option-detect-ted
|
||||||
doc: Group of option_detect_ted states
|
doc: Group of option_detect_ted states
|
||||||
-
|
-
|
||||||
name: option-vport-lim
|
name: option-vport-lim
|
||||||
doc: Group of option_vport_lim states
|
doc: Group of option_vport_lim states
|
||||||
-
|
-
|
||||||
name: ovld-detected
|
name: ovld-detected
|
||||||
doc: Group of ovld_detected states
|
doc: Group of ovld_detected states
|
||||||
-
|
-
|
||||||
name: power-not-available
|
name: power-not-available
|
||||||
doc: Group of power_not_available states
|
doc: Group of power_not_available states
|
||||||
-
|
-
|
||||||
name: short-detected
|
name: short-detected
|
||||||
doc: Group of short_detected states
|
doc: Group of short_detected states
|
||||||
-
|
-
|
||||||
name: phy-upstream-type
|
name: phy-upstream-type
|
||||||
enum-name: phy-upstream
|
enum-name: phy-upstream
|
||||||
header: linux/ethtool.h
|
header: linux/ethtool.h
|
||||||
type: enum
|
type: enum
|
||||||
name-prefix: phy-upstream
|
name-prefix: phy-upstream
|
||||||
entries: [ mac, phy ]
|
entries: [mac, phy]
|
||||||
-
|
-
|
||||||
name: tcp-data-split
|
name: tcp-data-split
|
||||||
type: enum
|
type: enum
|
||||||
entries: [ unknown, disabled, enabled ]
|
entries: [unknown, disabled, enabled]
|
||||||
-
|
-
|
||||||
name: hwtstamp-source
|
name: hwtstamp-source
|
||||||
doc: Source of the hardware timestamp
|
doc: Source of the hardware timestamp
|
||||||
|
@ -119,6 +121,92 @@ definitions:
|
||||||
doc: |
|
doc: |
|
||||||
Hardware timestamp comes from one PHY device
|
Hardware timestamp comes from one PHY device
|
||||||
of the network topology
|
of the network topology
|
||||||
|
-
|
||||||
|
name: pse-event
|
||||||
|
doc: PSE event list for the PSE controller
|
||||||
|
type: flags
|
||||||
|
name-prefix: ethtool-
|
||||||
|
entries:
|
||||||
|
-
|
||||||
|
name: pse-event-over-current
|
||||||
|
doc: PSE output current is too high
|
||||||
|
-
|
||||||
|
name: pse-event-over-temp
|
||||||
|
doc: PSE in over temperature state
|
||||||
|
-
|
||||||
|
name: c33-pse-event-detection
|
||||||
|
doc: |
|
||||||
|
detection process occur on the PSE. IEEE 802.3-2022 33.2.5 and
|
||||||
|
145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5
|
||||||
|
aPSEPowerDetectionStatus
|
||||||
|
-
|
||||||
|
name: c33-pse-event-classification
|
||||||
|
doc: |
|
||||||
|
classification process occur on the PSE. IEEE 802.3-2022 33.2.6
|
||||||
|
and 145.2.8 classification of PDs mutual identification.
|
||||||
|
IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification.
|
||||||
|
-
|
||||||
|
name: c33-pse-event-disconnection
|
||||||
|
doc: |
|
||||||
|
PD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8
|
||||||
|
and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022
|
||||||
|
33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20
|
||||||
|
aPSEMPSAbsentCounter.
|
||||||
|
-
|
||||||
|
name: pse-event-over-budget
|
||||||
|
doc: PSE turned off due to over budget situation
|
||||||
|
-
|
||||||
|
name: pse-event-sw-pw-control-error
|
||||||
|
doc: PSE faced an error managing the power control from software
|
||||||
|
-
|
||||||
|
name: input-xfrm
|
||||||
|
doc: RSS hash function transformations.
|
||||||
|
type: flags
|
||||||
|
enum-name:
|
||||||
|
name-prefix: rxh-xfrm-
|
||||||
|
header: linux/ethtool.h
|
||||||
|
entries:
|
||||||
|
-
|
||||||
|
name: sym-xor
|
||||||
|
doc: >-
|
||||||
|
XOR the corresponding source and destination fields of each specified
|
||||||
|
protocol. Both copies of the XOR'ed fields are fed into the RSS and
|
||||||
|
RXHASH calculation. Note that this XORing reduces the input set
|
||||||
|
entropy and could be exploited to reduce the RSS queue spread.
|
||||||
|
-
|
||||||
|
name: sym-or-xor
|
||||||
|
doc: >-
|
||||||
|
Similar to SYM_XOR, except that one copy of the XOR'ed fields is
|
||||||
|
replaced by an OR of the same fields.
|
||||||
|
-
|
||||||
|
name: rxfh-fields
|
||||||
|
name-prefix: rxh-
|
||||||
|
enum-name:
|
||||||
|
header: linux/ethtool.h
|
||||||
|
type: flags
|
||||||
|
entries:
|
||||||
|
-
|
||||||
|
name: l2da
|
||||||
|
value: 1
|
||||||
|
-
|
||||||
|
name: vlan
|
||||||
|
-
|
||||||
|
name: l3-proto
|
||||||
|
-
|
||||||
|
name: ip-src
|
||||||
|
-
|
||||||
|
name: ip-dst
|
||||||
|
-
|
||||||
|
name: l4-b-0-1
|
||||||
|
doc: src port in case of TCP/UDP/SCTP
|
||||||
|
-
|
||||||
|
name: l4-b-2-3
|
||||||
|
doc: dst port in case of TCP/UDP/SCTP
|
||||||
|
-
|
||||||
|
name: gtp-teid
|
||||||
|
-
|
||||||
|
name: discard
|
||||||
|
value: 31
|
||||||
|
|
||||||
attribute-sets:
|
attribute-sets:
|
||||||
-
|
-
|
||||||
|
@ -1227,7 +1315,7 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: stat
|
name: stat
|
||||||
type: u64
|
type: u64
|
||||||
type-value: [ id ]
|
type-value: [id]
|
||||||
-
|
-
|
||||||
name: hist-rx
|
name: hist-rx
|
||||||
type: nest
|
type: nest
|
||||||
|
@ -1396,6 +1484,135 @@ attribute-sets:
|
||||||
type: nest
|
type: nest
|
||||||
multi-attr: true
|
multi-attr: true
|
||||||
nested-attributes: c33-pse-pw-limit
|
nested-attributes: c33-pse-pw-limit
|
||||||
|
-
|
||||||
|
name: pse-pw-d-id
|
||||||
|
type: u32
|
||||||
|
name-prefix: ethtool-a-
|
||||||
|
-
|
||||||
|
name: pse-prio-max
|
||||||
|
type: u32
|
||||||
|
name-prefix: ethtool-a-
|
||||||
|
-
|
||||||
|
name: pse-prio
|
||||||
|
type: u32
|
||||||
|
name-prefix: ethtool-a-
|
||||||
|
-
|
||||||
|
name: flow
|
||||||
|
attr-cnt-name: --ethtool-a-flow-cnt
|
||||||
|
doc: |
|
||||||
|
Flow types, corresponding to those defined in the old
|
||||||
|
ethtool header for RXFH and RXNFC as ${PROTO}_FLOW.
|
||||||
|
The values are not matching the old ones to avoid carrying
|
||||||
|
into Netlink the IP_USER_FLOW vs IPV4_FLOW vs IPV4_USER_FLOW confusion.
|
||||||
|
attributes:
|
||||||
|
-
|
||||||
|
name: ether
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: ip4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: ip6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: tcp4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: tcp6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: udp4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: udp6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: sctp4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: sctp6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: ah4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: ah6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: esp4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: esp6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: ah-esp4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: ah-esp6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpu4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpu6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpc4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpc6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpc-teid4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpc-teid6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpu-eh4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpu-eh6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpu-ul4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpu-ul6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpu-dl4
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
|
-
|
||||||
|
name: gtpu-dl6
|
||||||
|
type: uint
|
||||||
|
enum: rxfh-fields
|
||||||
-
|
-
|
||||||
name: rss
|
name: rss
|
||||||
attr-cnt-name: __ethtool-a-rss-cnt
|
attr-cnt-name: __ethtool-a-rss-cnt
|
||||||
|
@ -1424,9 +1641,14 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: input-xfrm
|
name: input-xfrm
|
||||||
type: u32
|
type: u32
|
||||||
|
enum: input-xfrm
|
||||||
-
|
-
|
||||||
name: start-context
|
name: start-context
|
||||||
type: u32
|
type: u32
|
||||||
|
-
|
||||||
|
name: flow-hash
|
||||||
|
type: nest
|
||||||
|
nested-attributes: flow
|
||||||
-
|
-
|
||||||
name: plca
|
name: plca
|
||||||
attr-cnt-name: __ethtool-a-plca-cnt
|
attr-cnt-name: __ethtool-a-plca-cnt
|
||||||
|
@ -1556,6 +1778,19 @@ attribute-sets:
|
||||||
name: hwtstamp-flags
|
name: hwtstamp-flags
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: bitset
|
nested-attributes: bitset
|
||||||
|
-
|
||||||
|
name: pse-ntf
|
||||||
|
attr-cnt-name: --ethtool-a-pse-ntf-cnt
|
||||||
|
attributes:
|
||||||
|
-
|
||||||
|
name: header
|
||||||
|
type: nest
|
||||||
|
nested-attributes: header
|
||||||
|
-
|
||||||
|
name: events
|
||||||
|
type: uint
|
||||||
|
enum: pse-event
|
||||||
|
doc: List of events reported by the PSE controller
|
||||||
|
|
||||||
operations:
|
operations:
|
||||||
enum-model: directional
|
enum-model: directional
|
||||||
|
@ -2206,6 +2441,9 @@ operations:
|
||||||
- c33-pse-ext-substate
|
- c33-pse-ext-substate
|
||||||
- c33-pse-avail-pw-limit
|
- c33-pse-avail-pw-limit
|
||||||
- c33-pse-pw-limit-ranges
|
- c33-pse-pw-limit-ranges
|
||||||
|
- pse-pw-d-id
|
||||||
|
- pse-prio-max
|
||||||
|
- pse-prio
|
||||||
dump: *pse-get-op
|
dump: *pse-get-op
|
||||||
-
|
-
|
||||||
name: pse-set
|
name: pse-set
|
||||||
|
@ -2220,6 +2458,7 @@ operations:
|
||||||
- podl-pse-admin-control
|
- podl-pse-admin-control
|
||||||
- c33-pse-admin-control
|
- c33-pse-admin-control
|
||||||
- c33-pse-avail-pw-limit
|
- c33-pse-avail-pw-limit
|
||||||
|
- pse-prio
|
||||||
-
|
-
|
||||||
name: rss-get
|
name: rss-get
|
||||||
doc: Get RSS params.
|
doc: Get RSS params.
|
||||||
|
@ -2239,6 +2478,7 @@ operations:
|
||||||
- indir
|
- indir
|
||||||
- hkey
|
- hkey
|
||||||
- input-xfrm
|
- input-xfrm
|
||||||
|
- flow-hash
|
||||||
dump:
|
dump:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -2414,3 +2654,79 @@ operations:
|
||||||
attributes: *tsconfig
|
attributes: *tsconfig
|
||||||
reply:
|
reply:
|
||||||
attributes: *tsconfig
|
attributes: *tsconfig
|
||||||
|
-
|
||||||
|
name: pse-ntf
|
||||||
|
doc: Notification for PSE events.
|
||||||
|
|
||||||
|
attribute-set: pse-ntf
|
||||||
|
|
||||||
|
event:
|
||||||
|
attributes:
|
||||||
|
- header
|
||||||
|
- events
|
||||||
|
-
|
||||||
|
name: rss-set
|
||||||
|
doc: Set RSS params.
|
||||||
|
|
||||||
|
attribute-set: rss
|
||||||
|
|
||||||
|
do:
|
||||||
|
request:
|
||||||
|
attributes:
|
||||||
|
- header
|
||||||
|
- context
|
||||||
|
- hfunc
|
||||||
|
- indir
|
||||||
|
- hkey
|
||||||
|
- input-xfrm
|
||||||
|
- flow-hash
|
||||||
|
-
|
||||||
|
name: rss-ntf
|
||||||
|
doc: |
|
||||||
|
Notification for change in RSS configuration.
|
||||||
|
For additional contexts only modifications use this notification,
|
||||||
|
creation and deletion have dedicated messages.
|
||||||
|
notify: rss-get
|
||||||
|
-
|
||||||
|
name: rss-create-act
|
||||||
|
doc: Create an RSS context.
|
||||||
|
attribute-set: rss
|
||||||
|
do:
|
||||||
|
request: &rss-create-attrs
|
||||||
|
attributes:
|
||||||
|
- header
|
||||||
|
- context
|
||||||
|
- hfunc
|
||||||
|
- indir
|
||||||
|
- hkey
|
||||||
|
- input-xfrm
|
||||||
|
reply: *rss-create-attrs
|
||||||
|
-
|
||||||
|
name: rss-create-ntf
|
||||||
|
doc: |
|
||||||
|
Notification for creation of an additional RSS context.
|
||||||
|
notify: rss-create-act
|
||||||
|
-
|
||||||
|
name: rss-delete-act
|
||||||
|
doc: Delete an RSS context.
|
||||||
|
attribute-set: rss
|
||||||
|
do:
|
||||||
|
request:
|
||||||
|
attributes:
|
||||||
|
- header
|
||||||
|
- context
|
||||||
|
-
|
||||||
|
name: rss-delete-ntf
|
||||||
|
doc: |
|
||||||
|
Notification for deletion of an additional RSS context.
|
||||||
|
attribute-set: rss
|
||||||
|
event:
|
||||||
|
attributes:
|
||||||
|
- header
|
||||||
|
- context
|
||||||
|
|
||||||
|
mcast-groups:
|
||||||
|
list:
|
||||||
|
-
|
||||||
|
name: monitor
|
||||||
|
c-define-name: ethtool-mcgrp-monitor-name
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: fou
|
name: fou
|
||||||
|
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -18,7 +18,7 @@ definitions:
|
||||||
name: encap-type
|
name: encap-type
|
||||||
name-prefix: fou-encap-
|
name-prefix: fou-encap-
|
||||||
enum-name:
|
enum-name:
|
||||||
entries: [ unspec, direct, gue ]
|
entries: [unspec, direct, gue]
|
||||||
|
|
||||||
attribute-sets:
|
attribute-sets:
|
||||||
-
|
-
|
||||||
|
@ -81,8 +81,8 @@ operations:
|
||||||
doc: Add port.
|
doc: Add port.
|
||||||
attribute-set: fou
|
attribute-set: fou
|
||||||
|
|
||||||
dont-validate: [ strict, dump ]
|
dont-validate: [strict, dump]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
request: &all_attrs
|
request: &all_attrs
|
||||||
|
@ -103,8 +103,8 @@ operations:
|
||||||
doc: Delete port.
|
doc: Delete port.
|
||||||
attribute-set: fou
|
attribute-set: fou
|
||||||
|
|
||||||
dont-validate: [ strict, dump ]
|
dont-validate: [strict, dump]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
request: &select_attrs
|
request: &select_attrs
|
||||||
|
@ -122,7 +122,7 @@ operations:
|
||||||
name: get
|
name: get
|
||||||
doc: Get tunnel info.
|
doc: Get tunnel info.
|
||||||
attribute-set: fou
|
attribute-set: fou
|
||||||
dont-validate: [ strict, dump ]
|
dont-validate: [strict, dump]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
request: *select_attrs
|
request: *select_attrs
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2023, Oracle and/or its affiliates.
|
# Copyright (c) 2023, Oracle and/or its affiliates.
|
||||||
#
|
#
|
||||||
|
---
|
||||||
name: handshake
|
name: handshake
|
||||||
|
|
||||||
protocol: genetlink
|
protocol: genetlink
|
||||||
|
@ -16,17 +16,17 @@ definitions:
|
||||||
type: enum
|
type: enum
|
||||||
name: handler-class
|
name: handler-class
|
||||||
value-start: 0
|
value-start: 0
|
||||||
entries: [ none, tlshd, max ]
|
entries: [none, tlshd, max]
|
||||||
-
|
-
|
||||||
type: enum
|
type: enum
|
||||||
name: msg-type
|
name: msg-type
|
||||||
value-start: 0
|
value-start: 0
|
||||||
entries: [ unspec, clienthello, serverhello ]
|
entries: [unspec, clienthello, serverhello]
|
||||||
-
|
-
|
||||||
type: enum
|
type: enum
|
||||||
name: auth
|
name: auth
|
||||||
value-start: 0
|
value-start: 0
|
||||||
entries: [ unspec, unauth, psk, x509 ]
|
entries: [unspec, unauth, psk, x509]
|
||||||
|
|
||||||
attribute-sets:
|
attribute-sets:
|
||||||
-
|
-
|
||||||
|
@ -71,6 +71,9 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: peername
|
name: peername
|
||||||
type: string
|
type: string
|
||||||
|
-
|
||||||
|
name: keyring
|
||||||
|
type: u32
|
||||||
-
|
-
|
||||||
name: done
|
name: done
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -95,7 +98,7 @@ operations:
|
||||||
name: accept
|
name: accept
|
||||||
doc: Handler retrieves next queued handshake request
|
doc: Handler retrieves next queued handshake request
|
||||||
attribute-set: accept
|
attribute-set: accept
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -109,6 +112,7 @@ operations:
|
||||||
- peer-identity
|
- peer-identity
|
||||||
- certificate
|
- certificate
|
||||||
- peername
|
- peername
|
||||||
|
- keyring
|
||||||
-
|
-
|
||||||
name: done
|
name: done
|
||||||
doc: Handler reports handshake completion
|
doc: Handler reports handshake completion
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: lockd
|
name: lockd
|
||||||
protocol: genetlink
|
protocol: genetlink
|
||||||
uapi-header: linux/lockd_netlink.h
|
uapi-header: linux/lockd_netlink.h
|
||||||
|
@ -26,7 +26,7 @@ operations:
|
||||||
name: server-set
|
name: server-set
|
||||||
doc: set the lockd server parameters
|
doc: set the lockd server parameters
|
||||||
attribute-set: server
|
attribute-set: server
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: mptcp_pm
|
name: mptcp_pm
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
doc: Multipath TCP.
|
doc: Multipath TCP.
|
||||||
|
@ -17,72 +17,72 @@ definitions:
|
||||||
enum-name: mptcp-event-type
|
enum-name: mptcp-event-type
|
||||||
name-prefix: mptcp-event-
|
name-prefix: mptcp-event-
|
||||||
entries:
|
entries:
|
||||||
-
|
-
|
||||||
name: unspec
|
name: unspec
|
||||||
doc: unused event
|
doc: unused event
|
||||||
-
|
-
|
||||||
name: created
|
name: created
|
||||||
doc: >-
|
doc: >-
|
||||||
A new MPTCP connection has been created. It is the good time to
|
A new MPTCP connection has been created. It is the good time to
|
||||||
allocate memory and send ADD_ADDR if needed. Depending on the
|
allocate memory and send ADD_ADDR if needed. Depending on the
|
||||||
traffic-patterns it can take a long time until the
|
traffic-patterns it can take a long time until the
|
||||||
MPTCP_EVENT_ESTABLISHED is sent.
|
MPTCP_EVENT_ESTABLISHED is sent.
|
||||||
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
|
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
|
||||||
dport, server-side.
|
dport, server-side.
|
||||||
-
|
-
|
||||||
name: established
|
name: established
|
||||||
doc: >-
|
doc: >-
|
||||||
A MPTCP connection is established (can start new subflows).
|
A MPTCP connection is established (can start new subflows).
|
||||||
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
|
Attributes: token, family, saddr4 | saddr6, daddr4 | daddr6, sport,
|
||||||
dport, server-side.
|
dport, server-side.
|
||||||
-
|
-
|
||||||
name: closed
|
name: closed
|
||||||
doc: >-
|
doc: >-
|
||||||
A MPTCP connection has stopped.
|
A MPTCP connection has stopped.
|
||||||
Attribute: token.
|
Attribute: token.
|
||||||
-
|
-
|
||||||
name: announced
|
name: announced
|
||||||
value: 6
|
value: 6
|
||||||
doc: >-
|
doc: >-
|
||||||
A new address has been announced by the peer.
|
A new address has been announced by the peer.
|
||||||
Attributes: token, rem_id, family, daddr4 | daddr6 [, dport].
|
Attributes: token, rem_id, family, daddr4 | daddr6 [, dport].
|
||||||
-
|
-
|
||||||
name: removed
|
name: removed
|
||||||
doc: >-
|
doc: >-
|
||||||
An address has been lost by the peer.
|
An address has been lost by the peer.
|
||||||
Attributes: token, rem_id.
|
Attributes: token, rem_id.
|
||||||
-
|
-
|
||||||
name: sub-established
|
name: sub-established
|
||||||
value: 10
|
value: 10
|
||||||
doc: >-
|
doc: >-
|
||||||
A new subflow has been established. 'error' should not be set.
|
A new subflow has been established. 'error' should not be set.
|
||||||
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
|
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
|
||||||
daddr6, sport, dport, backup, if-idx [, error].
|
daddr6, sport, dport, backup, if-idx [, error].
|
||||||
-
|
-
|
||||||
name: sub-closed
|
name: sub-closed
|
||||||
doc: >-
|
doc: >-
|
||||||
A subflow has been closed. An error (copy of sk_err) could be set if an
|
A subflow has been closed. An error (copy of sk_err) could be set if
|
||||||
error has been detected for this subflow.
|
an error has been detected for this subflow.
|
||||||
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
|
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
|
||||||
daddr6, sport, dport, backup, if-idx [, error].
|
daddr6, sport, dport, backup, if-idx [, error].
|
||||||
-
|
-
|
||||||
name: sub-priority
|
name: sub-priority
|
||||||
value: 13
|
value: 13
|
||||||
doc: >-
|
doc: >-
|
||||||
The priority of a subflow has changed. 'error' should not be set.
|
The priority of a subflow has changed. 'error' should not be set.
|
||||||
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
|
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
|
||||||
daddr6, sport, dport, backup, if-idx [, error].
|
daddr6, sport, dport, backup, if-idx [, error].
|
||||||
-
|
-
|
||||||
name: listener-created
|
name: listener-created
|
||||||
value: 15
|
value: 15
|
||||||
doc: >-
|
doc: >-
|
||||||
A new PM listener is created.
|
A new PM listener is created.
|
||||||
Attributes: family, sport, saddr4 | saddr6.
|
Attributes: family, sport, saddr4 | saddr6.
|
||||||
-
|
-
|
||||||
name: listener-closed
|
name: listener-closed
|
||||||
doc: >-
|
doc: >-
|
||||||
A PM listener is closed.
|
A PM listener is closed.
|
||||||
Attributes: family, sport, saddr4 | saddr6.
|
Attributes: family, sport, saddr4 | saddr6.
|
||||||
|
|
||||||
attribute-sets:
|
attribute-sets:
|
||||||
-
|
-
|
||||||
|
@ -277,8 +277,8 @@ operations:
|
||||||
name: add-addr
|
name: add-addr
|
||||||
doc: Add endpoint
|
doc: Add endpoint
|
||||||
attribute-set: endpoint
|
attribute-set: endpoint
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do: &add-addr-attrs
|
do: &add-addr-attrs
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -287,39 +287,39 @@ operations:
|
||||||
name: del-addr
|
name: del-addr
|
||||||
doc: Delete endpoint
|
doc: Delete endpoint
|
||||||
attribute-set: endpoint
|
attribute-set: endpoint
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do: *add-addr-attrs
|
do: *add-addr-attrs
|
||||||
-
|
-
|
||||||
name: get-addr
|
name: get-addr
|
||||||
doc: Get endpoint information
|
doc: Get endpoint information
|
||||||
attribute-set: attr
|
attribute-set: attr
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do: &get-addr-attrs
|
do: &get-addr-attrs
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
- addr
|
- addr
|
||||||
- token
|
- token
|
||||||
reply:
|
reply:
|
||||||
attributes:
|
attributes:
|
||||||
- addr
|
- addr
|
||||||
dump:
|
dump:
|
||||||
reply:
|
reply:
|
||||||
attributes:
|
attributes:
|
||||||
- addr
|
- addr
|
||||||
-
|
-
|
||||||
name: flush-addrs
|
name: flush-addrs
|
||||||
doc: Flush addresses
|
doc: Flush addresses
|
||||||
attribute-set: endpoint
|
attribute-set: endpoint
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do: *add-addr-attrs
|
do: *add-addr-attrs
|
||||||
-
|
-
|
||||||
name: set-limits
|
name: set-limits
|
||||||
doc: Set protocol limits
|
doc: Set protocol limits
|
||||||
attribute-set: attr
|
attribute-set: attr
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do: &mptcp-limits
|
do: &mptcp-limits
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -329,10 +329,10 @@ operations:
|
||||||
name: get-limits
|
name: get-limits
|
||||||
doc: Get protocol limits
|
doc: Get protocol limits
|
||||||
attribute-set: attr
|
attribute-set: attr
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
do: &mptcp-get-limits
|
do: &mptcp-get-limits
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
- rcv-add-addrs
|
- rcv-add-addrs
|
||||||
- subflows
|
- subflows
|
||||||
reply:
|
reply:
|
||||||
|
@ -343,8 +343,8 @@ operations:
|
||||||
name: set-flags
|
name: set-flags
|
||||||
doc: Change endpoint flags
|
doc: Change endpoint flags
|
||||||
attribute-set: attr
|
attribute-set: attr
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do: &mptcp-set-flags
|
do: &mptcp-set-flags
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -355,8 +355,8 @@ operations:
|
||||||
name: announce
|
name: announce
|
||||||
doc: Announce new address
|
doc: Announce new address
|
||||||
attribute-set: attr
|
attribute-set: attr
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do: &announce-add
|
do: &announce-add
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -366,19 +366,19 @@ operations:
|
||||||
name: remove
|
name: remove
|
||||||
doc: Announce removal
|
doc: Announce removal
|
||||||
attribute-set: attr
|
attribute-set: attr
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
- token
|
- token
|
||||||
- loc-id
|
- loc-id
|
||||||
-
|
-
|
||||||
name: subflow-create
|
name: subflow-create
|
||||||
doc: Create subflow
|
doc: Create subflow
|
||||||
attribute-set: attr
|
attribute-set: attr
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do: &sf-create
|
do: &sf-create
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -389,6 +389,6 @@ operations:
|
||||||
name: subflow-destroy
|
name: subflow-destroy
|
||||||
doc: Destroy subflow
|
doc: Destroy subflow
|
||||||
attribute-set: attr
|
attribute-set: attr
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ uns-admin-perm ]
|
flags: [uns-admin-perm]
|
||||||
do: *sf-create
|
do: *sf-create
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: net-shaper
|
name: net-shaper
|
||||||
|
|
||||||
doc: |
|
doc: |
|
||||||
|
@ -243,7 +244,7 @@ operations:
|
||||||
The set operation can't be used to create a @node scope shaper,
|
The set operation can't be used to create a @node scope shaper,
|
||||||
use the @group operation instead.
|
use the @group operation instead.
|
||||||
attribute-set: net-shaper
|
attribute-set: net-shaper
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: net-shaper-nl-pre-doit
|
pre: net-shaper-nl-pre-doit
|
||||||
|
@ -274,7 +275,7 @@ operations:
|
||||||
node with infinite bandwidth. The queue's implicit node
|
node with infinite bandwidth. The queue's implicit node
|
||||||
feeds an implicit RR node at the root of the hierarchy.
|
feeds an implicit RR node at the root of the hierarchy.
|
||||||
attribute-set: net-shaper
|
attribute-set: net-shaper
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: net-shaper-nl-pre-doit
|
pre: net-shaper-nl-pre-doit
|
||||||
|
@ -305,7 +306,7 @@ operations:
|
||||||
full identifier, comprising @binding and @handle, is provided
|
full identifier, comprising @binding and @handle, is provided
|
||||||
as the reply.
|
as the reply.
|
||||||
attribute-set: net-shaper
|
attribute-set: net-shaper
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
pre: net-shaper-nl-pre-doit
|
pre: net-shaper-nl-pre-doit
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: netdev
|
name: netdev
|
||||||
|
|
||||||
doc:
|
doc:
|
||||||
|
@ -31,7 +31,7 @@ definitions:
|
||||||
-
|
-
|
||||||
name: hw-offload
|
name: hw-offload
|
||||||
doc:
|
doc:
|
||||||
This feature informs if netdev supports XDP hw offloading.
|
This feature informs if netdev supports XDP hw offloading.
|
||||||
-
|
-
|
||||||
name: rx-sg
|
name: rx-sg
|
||||||
doc:
|
doc:
|
||||||
|
@ -48,16 +48,19 @@ definitions:
|
||||||
entries:
|
entries:
|
||||||
-
|
-
|
||||||
name: timestamp
|
name: timestamp
|
||||||
doc:
|
doc: |
|
||||||
Device is capable of exposing receive HW timestamp via bpf_xdp_metadata_rx_timestamp().
|
Device is capable of exposing receive HW timestamp via
|
||||||
|
bpf_xdp_metadata_rx_timestamp().
|
||||||
-
|
-
|
||||||
name: hash
|
name: hash
|
||||||
doc:
|
doc: |
|
||||||
Device is capable of exposing receive packet hash via bpf_xdp_metadata_rx_hash().
|
Device is capable of exposing receive packet hash via
|
||||||
|
bpf_xdp_metadata_rx_hash().
|
||||||
-
|
-
|
||||||
name: vlan-tag
|
name: vlan-tag
|
||||||
doc:
|
doc: |
|
||||||
Device is capable of exposing receive packet VLAN tag via bpf_xdp_metadata_rx_vlan_tag().
|
Device is capable of exposing receive packet VLAN tag via
|
||||||
|
bpf_xdp_metadata_rx_vlan_tag().
|
||||||
-
|
-
|
||||||
type: flags
|
type: flags
|
||||||
name: xsk-flags
|
name: xsk-flags
|
||||||
|
@ -77,11 +80,15 @@ definitions:
|
||||||
-
|
-
|
||||||
name: queue-type
|
name: queue-type
|
||||||
type: enum
|
type: enum
|
||||||
entries: [ rx, tx ]
|
entries: [rx, tx]
|
||||||
-
|
-
|
||||||
name: qstats-scope
|
name: qstats-scope
|
||||||
type: flags
|
type: flags
|
||||||
entries: [ queue ]
|
entries: [queue]
|
||||||
|
-
|
||||||
|
name: napi-threaded
|
||||||
|
type: enum
|
||||||
|
entries: [disabled, enabled]
|
||||||
|
|
||||||
attribute-sets:
|
attribute-sets:
|
||||||
-
|
-
|
||||||
|
@ -205,7 +212,7 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: alloc-fast
|
name: alloc-fast
|
||||||
type: uint
|
type: uint
|
||||||
value: 8 # reserve some attr ids in case we need more metadata later
|
value: 8 # reserve some attr ids in case we need more metadata later
|
||||||
-
|
-
|
||||||
name: alloc-slow
|
name: alloc-slow
|
||||||
type: uint
|
type: uint
|
||||||
|
@ -280,6 +287,13 @@ attribute-sets:
|
||||||
doc: The timeout, in nanoseconds, of how long to suspend irq
|
doc: The timeout, in nanoseconds, of how long to suspend irq
|
||||||
processing, if event polling finds events
|
processing, if event polling finds events
|
||||||
type: uint
|
type: uint
|
||||||
|
-
|
||||||
|
name: threaded
|
||||||
|
doc: Whether the NAPI is configured to operate in threaded polling
|
||||||
|
mode. If this is set to enabled then the NAPI context operates
|
||||||
|
in threaded polling mode.
|
||||||
|
type: u32
|
||||||
|
enum: napi-threaded
|
||||||
-
|
-
|
||||||
name: xsk-info
|
name: xsk-info
|
||||||
attributes: []
|
attributes: []
|
||||||
|
@ -367,7 +381,7 @@ attribute-sets:
|
||||||
For drivers supporting XDP, XDP is considered the first layer
|
For drivers supporting XDP, XDP is considered the first layer
|
||||||
of the stack, so packets consumed by XDP are still counted here.
|
of the stack, so packets consumed by XDP are still counted here.
|
||||||
type: uint
|
type: uint
|
||||||
value: 8 # reserve some attr ids in case we need more metadata later
|
value: 8 # reserve some attr ids in case we need more metadata later
|
||||||
-
|
-
|
||||||
name: rx-bytes
|
name: rx-bytes
|
||||||
doc: Successfully received bytes, see `rx-packets`.
|
doc: Successfully received bytes, see `rx-packets`.
|
||||||
|
@ -425,9 +439,9 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: rx-hw-gro-packets
|
name: rx-hw-gro-packets
|
||||||
doc: |
|
doc: |
|
||||||
Number of packets that were coalesced from smaller packets by the device.
|
Number of packets that were coalesced from smaller packets by the
|
||||||
Counts only packets coalesced with the HW-GRO netdevice feature,
|
device. Counts only packets coalesced with the HW-GRO netdevice
|
||||||
LRO-coalesced packets are not counted.
|
feature, LRO-coalesced packets are not counted.
|
||||||
type: uint
|
type: uint
|
||||||
-
|
-
|
||||||
name: rx-hw-gro-bytes
|
name: rx-hw-gro-bytes
|
||||||
|
@ -436,8 +450,8 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: rx-hw-gro-wire-packets
|
name: rx-hw-gro-wire-packets
|
||||||
doc: |
|
doc: |
|
||||||
Number of packets that were coalesced to bigger packetss with the HW-GRO
|
Number of packets that were coalesced to bigger packetss with the
|
||||||
netdevice feature. LRO-coalesced packets are not counted.
|
HW-GRO netdevice feature. LRO-coalesced packets are not counted.
|
||||||
type: uint
|
type: uint
|
||||||
-
|
-
|
||||||
name: rx-hw-gro-wire-bytes
|
name: rx-hw-gro-wire-bytes
|
||||||
|
@ -691,6 +705,7 @@ operations:
|
||||||
- defer-hard-irqs
|
- defer-hard-irqs
|
||||||
- gro-flush-timeout
|
- gro-flush-timeout
|
||||||
- irq-suspend-timeout
|
- irq-suspend-timeout
|
||||||
|
- threaded
|
||||||
dump:
|
dump:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -721,7 +736,7 @@ operations:
|
||||||
name: bind-rx
|
name: bind-rx
|
||||||
doc: Bind dmabuf to netdev
|
doc: Bind dmabuf to netdev
|
||||||
attribute-set: dmabuf
|
attribute-set: dmabuf
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -735,7 +750,7 @@ operations:
|
||||||
name: napi-set
|
name: napi-set
|
||||||
doc: Set configurable NAPI instance settings.
|
doc: Set configurable NAPI instance settings.
|
||||||
attribute-set: napi
|
attribute-set: napi
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -743,6 +758,7 @@ operations:
|
||||||
- defer-hard-irqs
|
- defer-hard-irqs
|
||||||
- gro-flush-timeout
|
- gro-flush-timeout
|
||||||
- irq-suspend-timeout
|
- irq-suspend-timeout
|
||||||
|
- threaded
|
||||||
-
|
-
|
||||||
name: bind-tx
|
name: bind-tx
|
||||||
doc: Bind dmabuf to netdev for TX
|
doc: Bind dmabuf to netdev for TX
|
||||||
|
@ -757,7 +773,7 @@ operations:
|
||||||
- id
|
- id
|
||||||
|
|
||||||
kernel-family:
|
kernel-family:
|
||||||
headers: [ "net/netdev_netlink.h"]
|
headers: ["net/netdev_netlink.h"]
|
||||||
sock-priv: struct netdev_nl_sock
|
sock-priv: struct netdev_nl_sock
|
||||||
|
|
||||||
mcast-groups:
|
mcast-groups:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: nfsd
|
name: nfsd
|
||||||
protocol: genetlink
|
protocol: genetlink
|
||||||
uapi-header: linux/nfsd_netlink.h
|
uapi-header: linux/nfsd_netlink.h
|
||||||
|
@ -151,7 +151,7 @@ operations:
|
||||||
name: threads-set
|
name: threads-set
|
||||||
doc: set the number of running threads
|
doc: set the number of running threads
|
||||||
attribute-set: server
|
attribute-set: server
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -174,7 +174,7 @@ operations:
|
||||||
name: version-set
|
name: version-set
|
||||||
doc: set nfs enabled versions
|
doc: set nfs enabled versions
|
||||||
attribute-set: server-proto
|
attribute-set: server-proto
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -191,7 +191,7 @@ operations:
|
||||||
name: listener-set
|
name: listener-set
|
||||||
doc: set nfs running sockets
|
doc: set nfs running sockets
|
||||||
attribute-set: server-sock
|
attribute-set: server-sock
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
@ -208,7 +208,7 @@ operations:
|
||||||
name: pool-mode-set
|
name: pool-mode-set
|
||||||
doc: set the current server pool-mode
|
doc: set the current server pool-mode
|
||||||
attribute-set: pool-mode
|
attribute-set: pool-mode
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
attributes:
|
attributes:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: nftables
|
name: nftables
|
||||||
protocol: netlink-raw
|
protocol: netlink-raw
|
||||||
protonum: 12
|
protonum: 12
|
||||||
|
@ -1205,7 +1205,9 @@ operations:
|
||||||
- name
|
- name
|
||||||
-
|
-
|
||||||
name: destroytable
|
name: destroytable
|
||||||
doc: Delete an existing table with destroy semantics (ignoring ENOENT errors).
|
doc: |
|
||||||
|
Delete an existing table with destroy semantics (ignoring ENOENT
|
||||||
|
errors).
|
||||||
attribute-set: table-attrs
|
attribute-set: table-attrs
|
||||||
fixed-header: nfgenmsg
|
fixed-header: nfgenmsg
|
||||||
do:
|
do:
|
||||||
|
@ -1249,7 +1251,9 @@ operations:
|
||||||
- name
|
- name
|
||||||
-
|
-
|
||||||
name: destroychain
|
name: destroychain
|
||||||
doc: Delete an existing chain with destroy semantics (ignoring ENOENT errors).
|
doc: |
|
||||||
|
Delete an existing chain with destroy semantics (ignoring ENOENT
|
||||||
|
errors).
|
||||||
attribute-set: chain-attrs
|
attribute-set: chain-attrs
|
||||||
fixed-header: nfgenmsg
|
fixed-header: nfgenmsg
|
||||||
do:
|
do:
|
||||||
|
@ -1307,7 +1311,8 @@ operations:
|
||||||
- name
|
- name
|
||||||
-
|
-
|
||||||
name: destroyrule
|
name: destroyrule
|
||||||
doc: Delete an existing rule with destroy semantics (ignoring ENOENT errors).
|
doc: |
|
||||||
|
Delete an existing rule with destroy semantics (ignoring ENOENT errors).
|
||||||
attribute-set: rule-attrs
|
attribute-set: rule-attrs
|
||||||
fixed-header: nfgenmsg
|
fixed-header: nfgenmsg
|
||||||
do:
|
do:
|
||||||
|
@ -1351,7 +1356,8 @@ operations:
|
||||||
- name
|
- name
|
||||||
-
|
-
|
||||||
name: destroyset
|
name: destroyset
|
||||||
doc: Delete an existing set with destroy semantics (ignoring ENOENT errors).
|
doc: |
|
||||||
|
Delete an existing set with destroy semantics (ignoring ENOENT errors).
|
||||||
attribute-set: set-attrs
|
attribute-set: set-attrs
|
||||||
fixed-header: nfgenmsg
|
fixed-header: nfgenmsg
|
||||||
do:
|
do:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: nl80211
|
name: nl80211
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
|
||||||
|
@ -285,7 +285,7 @@ attribute-sets:
|
||||||
type: u16
|
type: u16
|
||||||
-
|
-
|
||||||
name: sta-flags
|
name: sta-flags
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: sta-listen-interval
|
name: sta-listen-interval
|
||||||
type: u16
|
type: u16
|
||||||
|
@ -297,14 +297,14 @@ attribute-sets:
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: sta-info
|
name: sta-info
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: wiphy-bands
|
name: wiphy-bands
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: wiphy-bands
|
nested-attributes: wiphy-bands
|
||||||
-
|
-
|
||||||
name: mntr-flags
|
name: mntr-flags
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: mesh-id
|
name: mesh-id
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -317,7 +317,7 @@ attribute-sets:
|
||||||
display-hint: mac
|
display-hint: mac
|
||||||
-
|
-
|
||||||
name: mpath-info
|
name: mpath-info
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: bss-cts-prot
|
name: bss-cts-prot
|
||||||
type: u8
|
type: u8
|
||||||
|
@ -339,16 +339,16 @@ attribute-sets:
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: reg-rules
|
name: reg-rules
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: mesh-config
|
name: mesh-config
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: bss-basic-rates
|
name: bss-basic-rates
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: wiphy-txq-params
|
name: wiphy-txq-params
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: wiphy-freq
|
name: wiphy-freq
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -370,16 +370,16 @@ attribute-sets:
|
||||||
type: u8
|
type: u8
|
||||||
-
|
-
|
||||||
name: scan-frequencies
|
name: scan-frequencies
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: scan-ssids
|
name: scan-ssids
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: generation
|
name: generation
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: bss
|
name: bss
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: reg-initiator
|
name: reg-initiator
|
||||||
type: u8
|
type: u8
|
||||||
|
@ -416,10 +416,10 @@ attribute-sets:
|
||||||
display-hint: hex
|
display-hint: hex
|
||||||
-
|
-
|
||||||
name: freq-before
|
name: freq-before
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: freq-after
|
name: freq-after
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: freq-fixed
|
name: freq-fixed
|
||||||
type: flag
|
type: flag
|
||||||
|
@ -483,10 +483,10 @@ attribute-sets:
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: key
|
name: key
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: keys
|
name: keys
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: pid
|
name: pid
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -495,7 +495,7 @@ attribute-sets:
|
||||||
type: u8
|
type: u8
|
||||||
-
|
-
|
||||||
name: survey-info
|
name: survey-info
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: pmkid
|
name: pmkid
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -513,7 +513,7 @@ attribute-sets:
|
||||||
type: u8
|
type: u8
|
||||||
-
|
-
|
||||||
name: tx-rates
|
name: tx-rates
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: frame-match
|
name: frame-match
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -525,7 +525,7 @@ attribute-sets:
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: cqm
|
name: cqm
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: local-state-change
|
name: local-state-change
|
||||||
type: flag
|
type: flag
|
||||||
|
@ -575,13 +575,13 @@ attribute-sets:
|
||||||
type: u16
|
type: u16
|
||||||
-
|
-
|
||||||
name: key-default-types
|
name: key-default-types
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: max-remain-on-channel-duration
|
name: max-remain-on-channel-duration
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: mesh-setup
|
name: mesh-setup
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: wiphy-antenna-avail-tx
|
name: wiphy-antenna-avail-tx
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -596,7 +596,7 @@ attribute-sets:
|
||||||
type: u8
|
type: u8
|
||||||
-
|
-
|
||||||
name: wowlan-triggers
|
name: wowlan-triggers
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: wowlan-triggers-supported
|
name: wowlan-triggers-supported
|
||||||
type: nest
|
type: nest
|
||||||
|
@ -615,7 +615,7 @@ attribute-sets:
|
||||||
nested-attributes: supported-iftypes
|
nested-attributes: supported-iftypes
|
||||||
-
|
-
|
||||||
name: rekey-data
|
name: rekey-data
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: max-num-sched-scan-ssids
|
name: max-num-sched-scan-ssids
|
||||||
type: u8
|
type: u8
|
||||||
|
@ -624,7 +624,7 @@ attribute-sets:
|
||||||
type: u16
|
type: u16
|
||||||
-
|
-
|
||||||
name: scan-supp-rates
|
name: scan-supp-rates
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: hidden-ssid
|
name: hidden-ssid
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -636,7 +636,7 @@ attribute-sets:
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: sta-wme
|
name: sta-wme
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: support-ap-uapsd
|
name: support-ap-uapsd
|
||||||
type: flag
|
type: flag
|
||||||
|
@ -645,13 +645,13 @@ attribute-sets:
|
||||||
type: flag
|
type: flag
|
||||||
-
|
-
|
||||||
name: sched-scan-match
|
name: sched-scan-match
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: max-match-sets
|
name: max-match-sets
|
||||||
type: u8
|
type: u8
|
||||||
-
|
-
|
||||||
name: pmksa-candidate
|
name: pmksa-candidate
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: tx-no-cck-rate
|
name: tx-no-cck-rate
|
||||||
type: flag
|
type: flag
|
||||||
|
@ -680,7 +680,7 @@ attribute-sets:
|
||||||
name: feature-flags
|
name: feature-flags
|
||||||
type: u32
|
type: u32
|
||||||
enum: feature-flags
|
enum: feature-flags
|
||||||
enum-as-flags: True
|
enum-as-flags: true
|
||||||
-
|
-
|
||||||
name: probe-resp-offload
|
name: probe-resp-offload
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -749,7 +749,7 @@ attribute-sets:
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: mac-addrs
|
name: mac-addrs
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: mac-acl-max
|
name: mac-acl-max
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -798,7 +798,7 @@ attribute-sets:
|
||||||
type: u16
|
type: u16
|
||||||
-
|
-
|
||||||
name: coalesce-rule
|
name: coalesce-rule
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: ch-switch-count
|
name: ch-switch-count
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -807,7 +807,7 @@ attribute-sets:
|
||||||
type: flag
|
type: flag
|
||||||
-
|
-
|
||||||
name: csa-ies
|
name: csa-ies
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: cntdwn-offs-beacon
|
name: cntdwn-offs-beacon
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -929,13 +929,13 @@ attribute-sets:
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: sched-scan-plans
|
name: sched-scan-plans
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: pbss
|
name: pbss
|
||||||
type: flag
|
type: flag
|
||||||
-
|
-
|
||||||
name: bss-select
|
name: bss-select
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: sta-support-p2p-ps
|
name: sta-support-p2p-ps
|
||||||
type: u8
|
type: u8
|
||||||
|
@ -944,7 +944,7 @@ attribute-sets:
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: iftype-ext-capa
|
name: iftype-ext-capa
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: mu-mimo-group-data
|
name: mu-mimo-group-data
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -975,10 +975,10 @@ attribute-sets:
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: nan-func
|
name: nan-func
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: nan-match
|
name: nan-match
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: fils-kek
|
name: fils-kek
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -1067,16 +1067,16 @@ attribute-sets:
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: ftm-responder
|
name: ftm-responder
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: ftm-responder-stats
|
name: ftm-responder-stats
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: timeout
|
name: timeout
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: peer-measurements
|
name: peer-measurements
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: airtime-weight
|
name: airtime-weight
|
||||||
type: u16
|
type: u16
|
||||||
|
@ -1094,7 +1094,7 @@ attribute-sets:
|
||||||
type: flag
|
type: flag
|
||||||
-
|
-
|
||||||
name: he-obss-pd
|
name: he-obss-pd
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: wiphy-edmg-channels
|
name: wiphy-edmg-channels
|
||||||
type: u8
|
type: u8
|
||||||
|
@ -1106,13 +1106,13 @@ attribute-sets:
|
||||||
type: u16
|
type: u16
|
||||||
-
|
-
|
||||||
name: he-bss-color
|
name: he-bss-color
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: iftype-akm-suites
|
name: iftype-akm-suites
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: tid-config
|
name: tid-config
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: control-port-no-preauth
|
name: control-port-no-preauth
|
||||||
type: flag
|
type: flag
|
||||||
|
@ -1133,16 +1133,16 @@ attribute-sets:
|
||||||
type: u32
|
type: u32
|
||||||
-
|
-
|
||||||
name: scan-freq-khz
|
name: scan-freq-khz
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: he-6ghz-capability
|
name: he-6ghz-capability
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: fils-discovery
|
name: fils-discovery
|
||||||
type: binary # TOOD: nest
|
type: binary # TOOD: nest
|
||||||
-
|
-
|
||||||
name: unsol-bcast-probe-resp
|
name: unsol-bcast-probe-resp
|
||||||
type: binary # TOOD: nest
|
type: binary # TOOD: nest
|
||||||
-
|
-
|
||||||
name: s1g-capability
|
name: s1g-capability
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -1173,13 +1173,13 @@ attribute-sets:
|
||||||
type: u8
|
type: u8
|
||||||
-
|
-
|
||||||
name: color-change-elems
|
name: color-change-elems
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: mbssid-config
|
name: mbssid-config
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: mbssid-elems
|
name: mbssid-elems
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: radar-background
|
name: radar-background
|
||||||
type: flag
|
type: flag
|
||||||
|
@ -1194,7 +1194,7 @@ attribute-sets:
|
||||||
type: flag
|
type: flag
|
||||||
-
|
-
|
||||||
name: mlo-links
|
name: mlo-links
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: mlo-link-id
|
name: mlo-link-id
|
||||||
type: u8
|
type: u8
|
||||||
|
@ -1234,7 +1234,7 @@ attribute-sets:
|
||||||
type: flag
|
type: flag
|
||||||
-
|
-
|
||||||
name: ema-rnr-elems
|
name: ema-rnr-elems
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: mlo-link-disabled
|
name: mlo-link-disabled
|
||||||
type: flag
|
type: flag
|
||||||
|
@ -1252,10 +1252,10 @@ attribute-sets:
|
||||||
type: flag
|
type: flag
|
||||||
-
|
-
|
||||||
name: wiphy-radios
|
name: wiphy-radios
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: wiphy-interface-combinations
|
name: wiphy-interface-combinations
|
||||||
type: binary # TODO: nest
|
type: binary # TODO: nest
|
||||||
-
|
-
|
||||||
name: vif-radio-mask
|
name: vif-radio-mask
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -1799,8 +1799,9 @@ operations:
|
||||||
-
|
-
|
||||||
name: get-wiphy
|
name: get-wiphy
|
||||||
doc: |
|
doc: |
|
||||||
Get information about a wiphy or dump a list of all wiphys. Requests to dump get-wiphy
|
Get information about a wiphy or dump a list of all wiphys. Requests to
|
||||||
should unconditionally include the split-wiphy-dump flag in the request.
|
dump get-wiphy should unconditionally include the split-wiphy-dump flag
|
||||||
|
in the request.
|
||||||
attribute-set: nl80211-attrs
|
attribute-set: nl80211-attrs
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: nlctrl
|
name: nlctrl
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
uapi-header: linux/genetlink.h
|
uapi-header: linux/genetlink.h
|
||||||
|
@ -76,12 +76,12 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: policy
|
name: policy
|
||||||
type: nest-type-value
|
type: nest-type-value
|
||||||
type-value: [ policy-id, attr-id ]
|
type-value: [policy-id, attr-id]
|
||||||
nested-attributes: policy-attrs
|
nested-attributes: policy-attrs
|
||||||
-
|
-
|
||||||
name: op-policy
|
name: op-policy
|
||||||
type: nest-type-value
|
type: nest-type-value
|
||||||
type-value: [ op-id ]
|
type-value: [op-id]
|
||||||
nested-attributes: op-policy-attrs
|
nested-attributes: op-policy-attrs
|
||||||
-
|
-
|
||||||
name: op
|
name: op
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024-2025, OpenVPN Inc.
|
# Copyright (c) 2024-2025, OpenVPN Inc.
|
||||||
#
|
#
|
||||||
|
---
|
||||||
name: ovpn
|
name: ovpn
|
||||||
|
|
||||||
protocol: genetlink
|
protocol: genetlink
|
||||||
|
@ -19,7 +19,7 @@ definitions:
|
||||||
-
|
-
|
||||||
type: enum
|
type: enum
|
||||||
name: cipher-alg
|
name: cipher-alg
|
||||||
entries: [ none, aes-gcm, chacha20-poly1305 ]
|
entries: [none, aes-gcm, chacha20-poly1305]
|
||||||
-
|
-
|
||||||
type: enum
|
type: enum
|
||||||
name: del-peer-reason
|
name: del-peer-reason
|
||||||
|
@ -32,7 +32,7 @@ definitions:
|
||||||
-
|
-
|
||||||
type: enum
|
type: enum
|
||||||
name: key-slot
|
name: key-slot
|
||||||
entries: [ primary, secondary ]
|
entries: [primary, secondary]
|
||||||
|
|
||||||
attribute-sets:
|
attribute-sets:
|
||||||
-
|
-
|
||||||
|
@ -42,8 +42,8 @@ attribute-sets:
|
||||||
name: id
|
name: id
|
||||||
type: u32
|
type: u32
|
||||||
doc: >-
|
doc: >-
|
||||||
The unique ID of the peer in the device context. To be used to identify
|
The unique ID of the peer in the device context. To be used to
|
||||||
peers during operations for a specific device
|
identify peers during operations for a specific device
|
||||||
checks:
|
checks:
|
||||||
max: 0xFFFFFF
|
max: 0xFFFFFF
|
||||||
-
|
-
|
||||||
|
@ -382,7 +382,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: peer-new
|
name: peer-new
|
||||||
attribute-set: ovpn-peer-new-input
|
attribute-set: ovpn-peer-new-input
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
doc: Add a remote peer
|
doc: Add a remote peer
|
||||||
do:
|
do:
|
||||||
pre: ovpn-nl-pre-doit
|
pre: ovpn-nl-pre-doit
|
||||||
|
@ -394,7 +394,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: peer-set
|
name: peer-set
|
||||||
attribute-set: ovpn-peer-set-input
|
attribute-set: ovpn-peer-set-input
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
doc: modify a remote peer
|
doc: modify a remote peer
|
||||||
do:
|
do:
|
||||||
pre: ovpn-nl-pre-doit
|
pre: ovpn-nl-pre-doit
|
||||||
|
@ -406,7 +406,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: peer-get
|
name: peer-get
|
||||||
attribute-set: ovpn
|
attribute-set: ovpn
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
doc: Retrieve data about existing remote peers (or a specific one)
|
doc: Retrieve data about existing remote peers (or a specific one)
|
||||||
do:
|
do:
|
||||||
pre: ovpn-nl-pre-doit
|
pre: ovpn-nl-pre-doit
|
||||||
|
@ -428,7 +428,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: peer-del
|
name: peer-del
|
||||||
attribute-set: ovpn-peer-del-input
|
attribute-set: ovpn-peer-del-input
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
doc: Delete existing remote peer
|
doc: Delete existing remote peer
|
||||||
do:
|
do:
|
||||||
pre: ovpn-nl-pre-doit
|
pre: ovpn-nl-pre-doit
|
||||||
|
@ -446,7 +446,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: key-new
|
name: key-new
|
||||||
attribute-set: ovpn
|
attribute-set: ovpn
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
doc: Add a cipher key for a specific peer
|
doc: Add a cipher key for a specific peer
|
||||||
do:
|
do:
|
||||||
pre: ovpn-nl-pre-doit
|
pre: ovpn-nl-pre-doit
|
||||||
|
@ -458,7 +458,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: key-get
|
name: key-get
|
||||||
attribute-set: ovpn-keyconf-get
|
attribute-set: ovpn-keyconf-get
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
doc: Retrieve non-sensitive data about peer key and cipher
|
doc: Retrieve non-sensitive data about peer key and cipher
|
||||||
do:
|
do:
|
||||||
pre: ovpn-nl-pre-doit
|
pre: ovpn-nl-pre-doit
|
||||||
|
@ -473,7 +473,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: key-swap
|
name: key-swap
|
||||||
attribute-set: ovpn-keyconf-swap-input
|
attribute-set: ovpn-keyconf-swap-input
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
doc: Swap primary and secondary session keys for a specific peer
|
doc: Swap primary and secondary session keys for a specific peer
|
||||||
do:
|
do:
|
||||||
pre: ovpn-nl-pre-doit
|
pre: ovpn-nl-pre-doit
|
||||||
|
@ -492,7 +492,7 @@ operations:
|
||||||
-
|
-
|
||||||
name: key-del
|
name: key-del
|
||||||
attribute-set: ovpn-keyconf-del-input
|
attribute-set: ovpn-keyconf-del-input
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
doc: Delete cipher key for a specific peer
|
doc: Delete cipher key for a specific peer
|
||||||
do:
|
do:
|
||||||
pre: ovpn-nl-pre-doit
|
pre: ovpn-nl-pre-doit
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: ovs_datapath
|
name: ovs_datapath
|
||||||
version: 2
|
version: 2
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: ovs_flow
|
name: ovs_flow
|
||||||
version: 1
|
version: 1
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -293,9 +293,10 @@ definitions:
|
||||||
enum-name: ovs-hash-alg
|
enum-name: ovs-hash-alg
|
||||||
type: enum
|
type: enum
|
||||||
doc: |
|
doc: |
|
||||||
Data path hash algorithm for computing Datapath hash. The algorithm type only specifies
|
Data path hash algorithm for computing Datapath hash. The algorithm type
|
||||||
the fields in a flow will be used as part of the hash. Each datapath is free to use its
|
only specifies the fields in a flow will be used as part of the hash. Each
|
||||||
own hash algorithm. The hash value will be opaque to the user space daemon.
|
datapath is free to use its own hash algorithm. The hash value will be
|
||||||
|
opaque to the user space daemon.
|
||||||
entries:
|
entries:
|
||||||
- ovs-hash-alg-l4
|
- ovs-hash-alg-l4
|
||||||
|
|
||||||
|
@ -615,7 +616,9 @@ attribute-sets:
|
||||||
name: set
|
name: set
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: key-attrs
|
nested-attributes: key-attrs
|
||||||
doc: Replaces the contents of an existing header. The single nested attribute specifies a header to modify and its value.
|
doc: |
|
||||||
|
Replaces the contents of an existing header. The single nested
|
||||||
|
attribute specifies a header to modify and its value.
|
||||||
-
|
-
|
||||||
name: push-vlan
|
name: push-vlan
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -630,7 +633,8 @@ attribute-sets:
|
||||||
type: nest
|
type: nest
|
||||||
nested-attributes: sample-attrs
|
nested-attributes: sample-attrs
|
||||||
doc: |
|
doc: |
|
||||||
Probabilistically executes actions, as specified in the nested attributes.
|
Probabilistically executes actions, as specified in the nested
|
||||||
|
attributes.
|
||||||
-
|
-
|
||||||
name: recirc
|
name: recirc
|
||||||
type: u32
|
type: u32
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: ovs_vport
|
name: ovs_vport
|
||||||
version: 2
|
version: 2
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -21,7 +21,7 @@ definitions:
|
||||||
type: enum
|
type: enum
|
||||||
enum-name: ovs-vport-type
|
enum-name: ovs-vport-type
|
||||||
name-prefix: ovs-vport-type-
|
name-prefix: ovs-vport-type-
|
||||||
entries: [ unspec, netdev, internal, gre, vxlan, geneve ]
|
entries: [unspec, netdev, internal, gre, vxlan, geneve]
|
||||||
-
|
-
|
||||||
name: ovs-vport-stats
|
name: ovs-vport-stats
|
||||||
type: struct
|
type: struct
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: rt-addr
|
name: rt-addr
|
||||||
protocol: netlink-raw
|
protocol: netlink-raw
|
||||||
uapi-header: linux/rtnetlink.h
|
uapi-header: linux/rtnetlink.h
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: rt-link
|
name: rt-link
|
||||||
protocol: netlink-raw
|
protocol: netlink-raw
|
||||||
uapi-header: linux/rtnetlink.h
|
uapi-header: linux/rtnetlink.h
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: rt-neigh
|
name: rt-neigh
|
||||||
protocol: netlink-raw
|
protocol: netlink-raw
|
||||||
uapi-header: linux/rtnetlink.h
|
uapi-header: linux/rtnetlink.h
|
||||||
|
@ -79,6 +79,7 @@ definitions:
|
||||||
entries:
|
entries:
|
||||||
- managed
|
- managed
|
||||||
- locked
|
- locked
|
||||||
|
- ext-validated
|
||||||
-
|
-
|
||||||
name: rtm-type
|
name: rtm-type
|
||||||
type: enum
|
type: enum
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: rt-route
|
name: rt-route
|
||||||
protocol: netlink-raw
|
protocol: netlink-raw
|
||||||
uapi-header: linux/rtnetlink.h
|
uapi-header: linux/rtnetlink.h
|
||||||
|
@ -117,7 +117,7 @@ attribute-sets:
|
||||||
name: multipath
|
name: multipath
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: protoinfo # not used
|
name: protoinfo # not used
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: flow
|
name: flow
|
||||||
|
@ -127,10 +127,10 @@ attribute-sets:
|
||||||
type: binary
|
type: binary
|
||||||
struct: rta-cacheinfo
|
struct: rta-cacheinfo
|
||||||
-
|
-
|
||||||
name: session # not used
|
name: session # not used
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: mp-algo # not used
|
name: mp-algo # not used
|
||||||
type: binary
|
type: binary
|
||||||
-
|
-
|
||||||
name: table
|
name: table
|
||||||
|
@ -155,7 +155,7 @@ attribute-sets:
|
||||||
type: u16
|
type: u16
|
||||||
-
|
-
|
||||||
name: encap
|
name: encap
|
||||||
type: binary # tunnel specific nest
|
type: binary # tunnel specific nest
|
||||||
-
|
-
|
||||||
name: expires
|
name: expires
|
||||||
type: u32
|
type: u32
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: rt-rule
|
name: rt-rule
|
||||||
protocol: netlink-raw
|
protocol: netlink-raw
|
||||||
uapi-header: linux/fib_rules.h
|
uapi-header: linux/fib_rules.h
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: tc
|
name: tc
|
||||||
protocol: netlink-raw
|
protocol: netlink-raw
|
||||||
uapi-header: linux/pkt_cls.h
|
uapi-header: linux/pkt_cls.h
|
||||||
|
@ -56,6 +56,23 @@ definitions:
|
||||||
- tundf
|
- tundf
|
||||||
- tunoam
|
- tunoam
|
||||||
- tuncrit
|
- tuncrit
|
||||||
|
-
|
||||||
|
name: dualpi2-drop-overload
|
||||||
|
type: enum
|
||||||
|
entries: [overflow, drop]
|
||||||
|
-
|
||||||
|
name: dualpi2-drop-early
|
||||||
|
type: enum
|
||||||
|
entries: [drop-dequeue, drop-enqueue]
|
||||||
|
-
|
||||||
|
name: dualpi2-ecn-mask
|
||||||
|
type: enum
|
||||||
|
value-start: 1
|
||||||
|
entries: [l4s-ect, cla-ect, any-ect]
|
||||||
|
-
|
||||||
|
name: dualpi2-split-gso
|
||||||
|
type: enum
|
||||||
|
entries: [no-split-gso, split-gso]
|
||||||
-
|
-
|
||||||
name: tc-stats
|
name: tc-stats
|
||||||
type: struct
|
type: struct
|
||||||
|
@ -76,7 +93,8 @@ definitions:
|
||||||
name: overlimits
|
name: overlimits
|
||||||
type: u32
|
type: u32
|
||||||
doc: |
|
doc: |
|
||||||
Number of throttle events when this flow goes out of allocated bandwidth
|
Number of throttle events when this flow goes out of allocated
|
||||||
|
bandwidth
|
||||||
-
|
-
|
||||||
name: bps
|
name: bps
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -751,7 +769,9 @@ definitions:
|
||||||
-
|
-
|
||||||
name: count
|
name: count
|
||||||
type: u32
|
type: u32
|
||||||
doc: How many drops we've done since the last time we entered dropping state
|
doc: |
|
||||||
|
How many drops we've done since the last time we entered dropping
|
||||||
|
state
|
||||||
-
|
-
|
||||||
name: lastcount
|
name: lastcount
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -822,6 +842,58 @@ definitions:
|
||||||
-
|
-
|
||||||
name: drop-overmemory
|
name: drop-overmemory
|
||||||
type: u32
|
type: u32
|
||||||
|
-
|
||||||
|
name: tc-dualpi2-xstats
|
||||||
|
type: struct
|
||||||
|
members:
|
||||||
|
-
|
||||||
|
name: prob
|
||||||
|
type: u32
|
||||||
|
doc: Current base PI probability
|
||||||
|
-
|
||||||
|
name: delay-c
|
||||||
|
type: u32
|
||||||
|
doc: Current C-queue delay in microseconds
|
||||||
|
-
|
||||||
|
name: delay-l
|
||||||
|
type: u32
|
||||||
|
doc: Current L-queue delay in microseconds
|
||||||
|
-
|
||||||
|
name: pkts-in-c
|
||||||
|
type: u32
|
||||||
|
doc: Number of packets enqueued in the C-queue
|
||||||
|
-
|
||||||
|
name: pkts-in-l
|
||||||
|
type: u32
|
||||||
|
doc: Number of packets enqueued in the L-queue
|
||||||
|
-
|
||||||
|
name: maxq
|
||||||
|
type: u32
|
||||||
|
doc: Maximum number of packets seen by the DualPI2
|
||||||
|
-
|
||||||
|
name: ecn-mark
|
||||||
|
type: u32
|
||||||
|
doc: All packets marked with ECN
|
||||||
|
-
|
||||||
|
name: step-mark
|
||||||
|
type: u32
|
||||||
|
doc: Only packets marked with ECN due to L-queue step AQM
|
||||||
|
-
|
||||||
|
name: credit
|
||||||
|
type: s32
|
||||||
|
doc: Current credit value for WRR
|
||||||
|
-
|
||||||
|
name: memory-used
|
||||||
|
type: u32
|
||||||
|
doc: Memory used in bytes by the DualPI2
|
||||||
|
-
|
||||||
|
name: max-memory-used
|
||||||
|
type: u32
|
||||||
|
doc: Maximum memory used in bytes by the DualPI2
|
||||||
|
-
|
||||||
|
name: memory-limit
|
||||||
|
type: u32
|
||||||
|
doc: Memory limit in bytes
|
||||||
-
|
-
|
||||||
name: tc-fq-pie-xstats
|
name: tc-fq-pie-xstats
|
||||||
type: struct
|
type: struct
|
||||||
|
@ -845,7 +917,7 @@ definitions:
|
||||||
-
|
-
|
||||||
name: ecn-mark
|
name: ecn-mark
|
||||||
type: u32
|
type: u32
|
||||||
doc: Packets marked with ecn
|
doc: Packets marked with ECN
|
||||||
-
|
-
|
||||||
name: new-flow-count
|
name: new-flow-count
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -988,7 +1060,7 @@ definitions:
|
||||||
-
|
-
|
||||||
name: ecn-mark
|
name: ecn-mark
|
||||||
type: u32
|
type: u32
|
||||||
doc: Packets marked with ecn
|
doc: Packets marked with ECN
|
||||||
-
|
-
|
||||||
name: tc-red-xstats
|
name: tc-red-xstats
|
||||||
type: struct
|
type: struct
|
||||||
|
@ -1161,7 +1233,7 @@ definitions:
|
||||||
-
|
-
|
||||||
name: keys
|
name: keys
|
||||||
type: binary
|
type: binary
|
||||||
struct: tc-u32-key # TODO: array
|
struct: tc-u32-key # TODO: array
|
||||||
-
|
-
|
||||||
name: tc-u32-pcnt
|
name: tc-u32-pcnt
|
||||||
type: struct
|
type: struct
|
||||||
|
@ -1174,7 +1246,7 @@ definitions:
|
||||||
type: u64
|
type: u64
|
||||||
-
|
-
|
||||||
name: kcnts
|
name: kcnts
|
||||||
type: u64 # TODO: array
|
type: u64 # TODO: array
|
||||||
-
|
-
|
||||||
name: tcf-t
|
name: tcf-t
|
||||||
type: struct
|
type: struct
|
||||||
|
@ -1336,7 +1408,7 @@ definitions:
|
||||||
-
|
-
|
||||||
name: keys
|
name: keys
|
||||||
type: binary
|
type: binary
|
||||||
struct: tc-pedit-key # TODO: array
|
struct: tc-pedit-key # TODO: array
|
||||||
-
|
-
|
||||||
name: tc-pedit-key
|
name: tc-pedit-key
|
||||||
type: struct
|
type: struct
|
||||||
|
@ -2281,6 +2353,78 @@ attribute-sets:
|
||||||
-
|
-
|
||||||
name: quantum
|
name: quantum
|
||||||
type: u32
|
type: u32
|
||||||
|
-
|
||||||
|
name: dualpi2-attrs
|
||||||
|
name-prefix: tca-dualpi2-
|
||||||
|
attributes:
|
||||||
|
-
|
||||||
|
name: limit
|
||||||
|
type: u32
|
||||||
|
doc: Limit of total number of packets in queue
|
||||||
|
-
|
||||||
|
name: memory-limit
|
||||||
|
type: u32
|
||||||
|
doc: Memory limit of total number of packets in queue
|
||||||
|
-
|
||||||
|
name: target
|
||||||
|
type: u32
|
||||||
|
doc: Classic target delay in microseconds
|
||||||
|
-
|
||||||
|
name: tupdate
|
||||||
|
type: u32
|
||||||
|
doc: Drop probability update interval time in microseconds
|
||||||
|
-
|
||||||
|
name: alpha
|
||||||
|
type: u32
|
||||||
|
doc: Integral gain factor in Hz for PI controller
|
||||||
|
-
|
||||||
|
name: beta
|
||||||
|
type: u32
|
||||||
|
doc: Proportional gain factor in Hz for PI controller
|
||||||
|
-
|
||||||
|
name: step-thresh-pkts
|
||||||
|
type: u32
|
||||||
|
doc: L4S step marking threshold in packets
|
||||||
|
-
|
||||||
|
name: step-thresh-us
|
||||||
|
type: u32
|
||||||
|
doc: L4S Step marking threshold in microseconds
|
||||||
|
-
|
||||||
|
name: min-qlen-step
|
||||||
|
type: u32
|
||||||
|
doc: Packets enqueued to the L-queue can apply the step threshold
|
||||||
|
when the queue length of L-queue is larger than this value.
|
||||||
|
(0 is recommended)
|
||||||
|
-
|
||||||
|
name: coupling
|
||||||
|
type: u8
|
||||||
|
doc: Probability coupling factor between Classic and L4S
|
||||||
|
(2 is recommended)
|
||||||
|
-
|
||||||
|
name: drop-overload
|
||||||
|
type: u8
|
||||||
|
doc: Control the overload strategy (drop to preserve latency or
|
||||||
|
let the queue overflow)
|
||||||
|
enum: dualpi2-drop-overload
|
||||||
|
-
|
||||||
|
name: drop-early
|
||||||
|
type: u8
|
||||||
|
doc: Decide where the Classic packets are PI-based dropped or marked
|
||||||
|
enum: dualpi2-drop-early
|
||||||
|
-
|
||||||
|
name: c-protection
|
||||||
|
type: u8
|
||||||
|
doc: Classic WRR weight in percentage (from 0 to 100)
|
||||||
|
-
|
||||||
|
name: ecn-mask
|
||||||
|
type: u8
|
||||||
|
doc: Configure the L-queue ECN classifier
|
||||||
|
enum: dualpi2-ecn-mask
|
||||||
|
-
|
||||||
|
name: split-gso
|
||||||
|
type: u8
|
||||||
|
doc: Split aggregated skb or not
|
||||||
|
enum: dualpi2-split-gso
|
||||||
-
|
-
|
||||||
name: ematch-attrs
|
name: ematch-attrs
|
||||||
name-prefix: tca-ematch-
|
name-prefix: tca-ematch-
|
||||||
|
@ -2885,7 +3029,7 @@ attribute-sets:
|
||||||
attributes:
|
attributes:
|
||||||
-
|
-
|
||||||
name: parms
|
name: parms
|
||||||
type: binary # array of struct: tc-gred-qopt
|
type: binary # array of struct: tc-gred-qopt
|
||||||
-
|
-
|
||||||
name: stab
|
name: stab
|
||||||
type: binary
|
type: binary
|
||||||
|
@ -3335,10 +3479,10 @@ attribute-sets:
|
||||||
struct: tc-police
|
struct: tc-police
|
||||||
-
|
-
|
||||||
name: rate
|
name: rate
|
||||||
type: binary # TODO
|
type: binary # TODO
|
||||||
-
|
-
|
||||||
name: peakrate
|
name: peakrate
|
||||||
type: binary # TODO
|
type: binary # TODO
|
||||||
-
|
-
|
||||||
name: avrate
|
name: avrate
|
||||||
type: u32
|
type: u32
|
||||||
|
@ -3698,13 +3842,16 @@ sub-messages:
|
||||||
value: choke
|
value: choke
|
||||||
attribute-set: choke-attrs
|
attribute-set: choke-attrs
|
||||||
-
|
-
|
||||||
value: clsact # no content
|
value: clsact # no content
|
||||||
-
|
-
|
||||||
value: codel
|
value: codel
|
||||||
attribute-set: codel-attrs
|
attribute-set: codel-attrs
|
||||||
-
|
-
|
||||||
value: drr
|
value: drr
|
||||||
attribute-set: drr-attrs
|
attribute-set: drr-attrs
|
||||||
|
-
|
||||||
|
value: dualpi2
|
||||||
|
attribute-set: dualpi2-attrs
|
||||||
-
|
-
|
||||||
value: etf
|
value: etf
|
||||||
attribute-set: etf-attrs
|
attribute-set: etf-attrs
|
||||||
|
@ -3742,12 +3889,12 @@ sub-messages:
|
||||||
value: htb
|
value: htb
|
||||||
attribute-set: htb-attrs
|
attribute-set: htb-attrs
|
||||||
-
|
-
|
||||||
value: ingress # no content
|
value: ingress # no content
|
||||||
-
|
-
|
||||||
value: matchall
|
value: matchall
|
||||||
attribute-set: matchall-attrs
|
attribute-set: matchall-attrs
|
||||||
-
|
-
|
||||||
value: mq # no content
|
value: mq # no content
|
||||||
-
|
-
|
||||||
value: mqprio
|
value: mqprio
|
||||||
fixed-header: tc-mqprio-qopt
|
fixed-header: tc-mqprio-qopt
|
||||||
|
@ -3872,6 +4019,9 @@ sub-messages:
|
||||||
-
|
-
|
||||||
value: codel
|
value: codel
|
||||||
fixed-header: tc-codel-xstats
|
fixed-header: tc-codel-xstats
|
||||||
|
-
|
||||||
|
value: dualpi2
|
||||||
|
fixed-header: tc-dualpi2-xstats
|
||||||
-
|
-
|
||||||
value: fq
|
value: fq
|
||||||
fixed-header: tc-fq-qd-stats
|
fixed-header: tc-fq-qd-stats
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: tcp_metrics
|
name: tcp_metrics
|
||||||
|
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -133,7 +133,7 @@ operations:
|
||||||
doc: Retrieve metrics.
|
doc: Retrieve metrics.
|
||||||
attribute-set: tcp-metrics
|
attribute-set: tcp-metrics
|
||||||
|
|
||||||
dont-validate: [ strict, dump ]
|
dont-validate: [strict, dump]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
request: &sel_attrs
|
request: &sel_attrs
|
||||||
|
@ -162,8 +162,8 @@ operations:
|
||||||
doc: Delete metrics.
|
doc: Delete metrics.
|
||||||
attribute-set: tcp-metrics
|
attribute-set: tcp-metrics
|
||||||
|
|
||||||
dont-validate: [ strict, dump ]
|
dont-validate: [strict, dump]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
request: *sel_attrs
|
request: *sel_attrs
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||||
|
---
|
||||||
name: team
|
name: team
|
||||||
|
|
||||||
protocol: genetlink-legacy
|
protocol: genetlink-legacy
|
||||||
|
@ -152,7 +152,7 @@ operations:
|
||||||
doc: No operation
|
doc: No operation
|
||||||
value: 0
|
value: 0
|
||||||
attribute-set: team
|
attribute-set: team
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
# Actually it only reply the team netlink family
|
# Actually it only reply the team netlink family
|
||||||
|
@ -164,8 +164,8 @@ operations:
|
||||||
name: options-set
|
name: options-set
|
||||||
doc: Set team options
|
doc: Set team options
|
||||||
attribute-set: team
|
attribute-set: team
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
request: &option_attrs
|
request: &option_attrs
|
||||||
|
@ -178,8 +178,8 @@ operations:
|
||||||
name: options-get
|
name: options-get
|
||||||
doc: Get team options info
|
doc: Get team options info
|
||||||
attribute-set: team
|
attribute-set: team
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
|
@ -191,8 +191,8 @@ operations:
|
||||||
name: port-list-get
|
name: port-list-get
|
||||||
doc: Get team ports info
|
doc: Get team ports info
|
||||||
attribute-set: team
|
attribute-set: team
|
||||||
dont-validate: [ strict ]
|
dont-validate: [strict]
|
||||||
flags: [ admin-perm ]
|
flags: [admin-perm]
|
||||||
|
|
||||||
do:
|
do:
|
||||||
request:
|
request:
|
||||||
|
|
|
@ -209,13 +209,10 @@ Libbpf
|
||||||
|
|
||||||
Libbpf is a helper library for eBPF and XDP that makes using these
|
Libbpf is a helper library for eBPF and XDP that makes using these
|
||||||
technologies a lot simpler. It also contains specific helper functions
|
technologies a lot simpler. It also contains specific helper functions
|
||||||
in tools/lib/bpf/xsk.h for facilitating the use of AF_XDP. It
|
in tools/testing/selftests/bpf/xsk.h for facilitating the use of
|
||||||
contains two types of functions: those that can be used to make the
|
AF_XDP. It contains two types of functions: those that can be used to
|
||||||
setup of AF_XDP socket easier and ones that can be used in the data
|
make the setup of AF_XDP socket easier and ones that can be used in the
|
||||||
plane to access the rings safely and quickly. To see an example on how
|
data plane to access the rings safely and quickly.
|
||||||
to use this API, please take a look at the sample application in
|
|
||||||
samples/bpf/xdpsock_usr.c which uses libbpf for both setup and data
|
|
||||||
plane operations.
|
|
||||||
|
|
||||||
We recommend that you use this library unless you have become a power
|
We recommend that you use this library unless you have become a power
|
||||||
user. It will make your program a lot simpler.
|
user. It will make your program a lot simpler.
|
||||||
|
@ -372,9 +369,8 @@ needs to explicitly notify the kernel to send any packets put on the
|
||||||
TX ring. This can be accomplished either by a poll() call, as in the
|
TX ring. This can be accomplished either by a poll() call, as in the
|
||||||
RX path, or by calling sendto().
|
RX path, or by calling sendto().
|
||||||
|
|
||||||
An example of how to use this flag can be found in
|
An example with the use of libbpf helpers would look like this for the
|
||||||
samples/bpf/xdpsock_user.c. An example with the use of libbpf helpers
|
TX path:
|
||||||
would look like this for the TX path:
|
|
||||||
|
|
||||||
.. code-block:: c
|
.. code-block:: c
|
||||||
|
|
||||||
|
@ -442,6 +438,15 @@ is created by a privileged process and passed to a non-privileged one.
|
||||||
Once the option is set, kernel will refuse attempts to bind that socket
|
Once the option is set, kernel will refuse attempts to bind that socket
|
||||||
to a different interface. Updating the value requires CAP_NET_RAW.
|
to a different interface. Updating the value requires CAP_NET_RAW.
|
||||||
|
|
||||||
|
XDP_MAX_TX_SKB_BUDGET setsockopt
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
This setsockopt sets the maximum number of descriptors that can be handled
|
||||||
|
and passed to the driver at one send syscall. It is applied in the copy
|
||||||
|
mode to allow application to tune the per-socket maximum iteration for
|
||||||
|
better throughput and less frequency of send syscall.
|
||||||
|
Allowed range is [32, xs->tx->nentries].
|
||||||
|
|
||||||
XDP_STATISTICS getsockopt
|
XDP_STATISTICS getsockopt
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
|
@ -549,12 +554,12 @@ later in this document.
|
||||||
Usage
|
Usage
|
||||||
-----
|
-----
|
||||||
|
|
||||||
In order to use AF_XDP sockets two parts are needed. The
|
In order to use AF_XDP sockets two parts are needed. The user-space
|
||||||
user-space application and the XDP program. For a complete setup and
|
application and the XDP program. For a complete setup and usage example,
|
||||||
usage example, please refer to the sample application. The user-space
|
please refer to the xdp-project at
|
||||||
side is xdpsock_user.c and the XDP side is part of libbpf.
|
https://github.com/xdp-project/bpf-examples/tree/main/AF_XDP-example.
|
||||||
|
|
||||||
The XDP code sample included in tools/lib/bpf/xsk.c is the following:
|
The XDP code sample is the following:
|
||||||
|
|
||||||
.. code-block:: c
|
.. code-block:: c
|
||||||
|
|
||||||
|
@ -752,11 +757,12 @@ to facilitate extending a zero-copy driver with multi-buffer support.
|
||||||
|
|
||||||
Sample application
|
Sample application
|
||||||
==================
|
==================
|
||||||
|
There is a xdpsock benchmarking/test application that can be found at
|
||||||
There is a xdpsock benchmarking/test application included that
|
https://github.com/xdp-project/bpf-examples/tree/main/AF_XDP-example
|
||||||
demonstrates how to use AF_XDP sockets with private UMEMs. Say that
|
that demonstrates how to use AF_XDP sockets with private
|
||||||
you would like your UDP traffic from port 4242 to end up in queue 16,
|
UMEMs. Say that you would like your UDP traffic from port 4242 to end
|
||||||
that we will enable AF_XDP on. Here, we use ethtool for this::
|
up in queue 16, that we will enable AF_XDP on. Here, we use ethtool
|
||||||
|
for this::
|
||||||
|
|
||||||
ethtool -N p3p2 rx-flow-hash udp4 fn
|
ethtool -N p3p2 rx-flow-hash udp4 fn
|
||||||
ethtool -N p3p2 flow-type udp4 src-port 4242 dst-port 4242 \
|
ethtool -N p3p2 flow-type udp4 src-port 4242 dst-port 4242 \
|
||||||
|
@ -773,7 +779,7 @@ can be displayed with "-h", as usual.
|
||||||
This sample application uses libbpf to make the setup and usage of
|
This sample application uses libbpf to make the setup and usage of
|
||||||
AF_XDP simpler. If you want to know how the raw uapi of AF_XDP is
|
AF_XDP simpler. If you want to know how the raw uapi of AF_XDP is
|
||||||
really used to make something more advanced, take a look at the libbpf
|
really used to make something more advanced, take a look at the libbpf
|
||||||
code in tools/lib/bpf/xsk.[ch].
|
code in tools/testing/selftests/bpf/xsk.[ch].
|
||||||
|
|
||||||
FAQ
|
FAQ
|
||||||
=======
|
=======
|
||||||
|
|
|
@ -562,6 +562,12 @@ lacp_rate
|
||||||
|
|
||||||
The default is slow.
|
The default is slow.
|
||||||
|
|
||||||
|
broadcast_neighbor
|
||||||
|
|
||||||
|
Option specifying whether to broadcast ARP/ND packets to all
|
||||||
|
active slaves. This option has no effect in modes other than
|
||||||
|
802.3ad mode. The default is off (0).
|
||||||
|
|
||||||
max_bonds
|
max_bonds
|
||||||
|
|
||||||
Specifies the number of bonding devices to create for this
|
Specifies the number of bonding devices to create for this
|
||||||
|
@ -767,8 +773,9 @@ num_unsol_na
|
||||||
greater than 1.
|
greater than 1.
|
||||||
|
|
||||||
The valid range is 0 - 255; the default value is 1. These options
|
The valid range is 0 - 255; the default value is 1. These options
|
||||||
affect only the active-backup mode. These options were added for
|
affect the active-backup or 802.3ad (broadcast_neighbor enabled) mode.
|
||||||
bonding versions 3.3.0 and 3.4.0 respectively.
|
These options were added for bonding versions 3.3.0 and 3.4.0
|
||||||
|
respectively.
|
||||||
|
|
||||||
From Linux 3.0 and bonding version 3.7.1, these notifications
|
From Linux 3.0 and bonding version 3.7.1, these notifications
|
||||||
are generated by the ipv4 and ipv6 code and the numbers of
|
are generated by the ipv4 and ipv6 code and the numbers of
|
||||||
|
|
|
@ -1104,15 +1104,12 @@ for writing CAN network device driver are described below:
|
||||||
General Settings
|
General Settings
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
|
CAN network device drivers can use alloc_candev_mqs() and friends instead of
|
||||||
|
alloc_netdev_mqs(), to automatically take care of CAN-specific setup:
|
||||||
|
|
||||||
.. code-block:: C
|
.. code-block:: C
|
||||||
|
|
||||||
dev->type = ARPHRD_CAN; /* the netdevice hardware type */
|
dev = alloc_candev_mqs(...);
|
||||||
dev->flags = IFF_NOARP; /* CAN has no arp */
|
|
||||||
|
|
||||||
dev->mtu = CAN_MTU; /* sizeof(struct can_frame) -> Classical CAN interface */
|
|
||||||
|
|
||||||
or alternative, when the controller supports CAN with flexible data rate:
|
|
||||||
dev->mtu = CANFD_MTU; /* sizeof(struct canfd_frame) -> CAN FD interface */
|
|
||||||
|
|
||||||
The struct can_frame or struct canfd_frame is the payload of each socket
|
The struct can_frame or struct canfd_frame is the payload of each socket
|
||||||
buffer (skbuff) in the protocol family PF_CAN.
|
buffer (skbuff) in the protocol family PF_CAN.
|
||||||
|
|
|
@ -56,6 +56,9 @@ ena_netdev.[ch] Main Linux kernel driver.
|
||||||
ena_ethtool.c ethtool callbacks.
|
ena_ethtool.c ethtool callbacks.
|
||||||
ena_xdp.[ch] XDP files
|
ena_xdp.[ch] XDP files
|
||||||
ena_pci_id_tbl.h Supported device IDs.
|
ena_pci_id_tbl.h Supported device IDs.
|
||||||
|
ena_phc.[ch] PTP hardware clock infrastructure (see `PHC`_ for more info)
|
||||||
|
ena_devlink.[ch] devlink files.
|
||||||
|
ena_debugfs.[ch] debugfs files.
|
||||||
================= ======================================================
|
================= ======================================================
|
||||||
|
|
||||||
Management Interface:
|
Management Interface:
|
||||||
|
@ -221,6 +224,99 @@ descriptor it was received on would be recycled. When a packet smaller
|
||||||
than RX copybreak bytes is received, it is copied into a new memory
|
than RX copybreak bytes is received, it is copied into a new memory
|
||||||
buffer and the RX descriptor is returned to HW.
|
buffer and the RX descriptor is returned to HW.
|
||||||
|
|
||||||
|
.. _`PHC`:
|
||||||
|
|
||||||
|
PTP Hardware Clock (PHC)
|
||||||
|
========================
|
||||||
|
.. _`ptp-userspace-api`: https://docs.kernel.org/driver-api/ptp.html#ptp-hardware-clock-user-space-api
|
||||||
|
.. _`testptp`: https://elixir.bootlin.com/linux/latest/source/tools/testing/selftests/ptp/testptp.c
|
||||||
|
|
||||||
|
ENA Linux driver supports PTP hardware clock providing timestamp reference to achieve nanosecond resolution.
|
||||||
|
|
||||||
|
**PHC support**
|
||||||
|
|
||||||
|
PHC depends on the PTP module, which needs to be either loaded as a module or compiled into the kernel.
|
||||||
|
|
||||||
|
Verify if the PTP module is present:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
grep -w '^CONFIG_PTP_1588_CLOCK=[ym]' /boot/config-`uname -r`
|
||||||
|
|
||||||
|
- If no output is provided, the ENA driver cannot be loaded with PHC support.
|
||||||
|
|
||||||
|
**PHC activation**
|
||||||
|
|
||||||
|
The feature is turned off by default, in order to turn the feature on, the ENA driver
|
||||||
|
can be loaded in the following way:
|
||||||
|
|
||||||
|
- devlink:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
sudo devlink dev param set pci/<domain:bus:slot.function> name enable_phc value true cmode driverinit
|
||||||
|
sudo devlink dev reload pci/<domain:bus:slot.function>
|
||||||
|
# for example:
|
||||||
|
sudo devlink dev param set pci/0000:00:06.0 name enable_phc value true cmode driverinit
|
||||||
|
sudo devlink dev reload pci/0000:00:06.0
|
||||||
|
|
||||||
|
All available PTP clock sources can be tracked here:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
ls /sys/class/ptp
|
||||||
|
|
||||||
|
PHC support and capabilities can be verified using ethtool:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
ethtool -T <interface>
|
||||||
|
|
||||||
|
**PHC timestamp**
|
||||||
|
|
||||||
|
To retrieve PHC timestamp, use `ptp-userspace-api`_, usage example using `testptp`_:
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
testptp -d /dev/ptp$(ethtool -T <interface> | awk '/PTP Hardware Clock:/ {print $NF}') -k 1
|
||||||
|
|
||||||
|
PHC get time requests should be within reasonable bounds,
|
||||||
|
avoid excessive utilization to ensure optimal performance and efficiency.
|
||||||
|
The ENA device restricts the frequency of PHC get time requests to a maximum
|
||||||
|
of 125 requests per second. If this limit is surpassed, the get time request
|
||||||
|
will fail, leading to an increment in the phc_err_ts statistic.
|
||||||
|
|
||||||
|
**PHC statistics**
|
||||||
|
|
||||||
|
PHC can be monitored using debugfs (if mounted):
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
sudo cat /sys/kernel/debug/<domain:bus:slot.function>/phc_stats
|
||||||
|
|
||||||
|
# for example:
|
||||||
|
sudo cat /sys/kernel/debug/0000:00:06.0/phc_stats
|
||||||
|
|
||||||
|
PHC errors must remain below 1% of all PHC requests to maintain the desired level of accuracy and reliability
|
||||||
|
|
||||||
|
================= ======================================================
|
||||||
|
**phc_cnt** | Number of successful retrieved timestamps (below expire timeout).
|
||||||
|
**phc_exp** | Number of expired retrieved timestamps (above expire timeout).
|
||||||
|
**phc_skp** | Number of skipped get time attempts (during block period).
|
||||||
|
**phc_err_dv** | Number of failed get time attempts due to device errors (entering into block state).
|
||||||
|
**phc_err_ts** | Number of failed get time attempts due to timestamp errors (entering into block state),
|
||||||
|
| This occurs if driver exceeded the request limit or device received an invalid timestamp.
|
||||||
|
================= ======================================================
|
||||||
|
|
||||||
|
PHC timeouts:
|
||||||
|
|
||||||
|
================= ======================================================
|
||||||
|
**expire** | Max time for a valid timestamp retrieval, passing this threshold will fail
|
||||||
|
| the get time request and block new requests until block timeout.
|
||||||
|
**block** | Blocking period starts once get time request expires or fails,
|
||||||
|
| all get time requests during block period will be skipped.
|
||||||
|
================= ======================================================
|
||||||
|
|
||||||
Statistics
|
Statistics
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
@ -268,6 +364,18 @@ RSS
|
||||||
- The user can provide a hash key, hash function, and configure the
|
- The user can provide a hash key, hash function, and configure the
|
||||||
indirection table through `ethtool(8)`.
|
indirection table through `ethtool(8)`.
|
||||||
|
|
||||||
|
DEVLINK SUPPORT
|
||||||
|
===============
|
||||||
|
.. _`devlink`: https://www.kernel.org/doc/html/latest/networking/devlink/index.html
|
||||||
|
|
||||||
|
`devlink`_ supports reloading the driver and initiating re-negotiation with the ENA device
|
||||||
|
|
||||||
|
.. code-block:: shell
|
||||||
|
|
||||||
|
sudo devlink dev reload pci/<domain:bus:slot.function>
|
||||||
|
# for example:
|
||||||
|
sudo devlink dev reload pci/0000:00:06.0
|
||||||
|
|
||||||
DATA PATH
|
DATA PATH
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,9 @@ Contents:
|
||||||
ti/tlan
|
ti/tlan
|
||||||
ti/icssg_prueth
|
ti/icssg_prueth
|
||||||
wangxun/txgbe
|
wangxun/txgbe
|
||||||
|
wangxun/txgbevf
|
||||||
wangxun/ngbe
|
wangxun/ngbe
|
||||||
|
wangxun/ngbevf
|
||||||
|
|
||||||
.. only:: subproject and html
|
.. only:: subproject and html
|
||||||
|
|
||||||
|
|
|
@ -927,6 +927,19 @@ To enable/disable UDP Segmentation Offload, issue the following command::
|
||||||
|
|
||||||
# ethtool -K <ethX> tx-udp-segmentation [off|on]
|
# ethtool -K <ethX> tx-udp-segmentation [off|on]
|
||||||
|
|
||||||
|
PTP pin interface
|
||||||
|
-----------------
|
||||||
|
All adapters support standard PTP pin interface. SDPs (Software Definable Pin)
|
||||||
|
are single ended pins with both periodic output and external timestamp
|
||||||
|
supported. There are also specific differential input/output pins (TIME_SYNC,
|
||||||
|
1PPS) with only one of the functions supported.
|
||||||
|
|
||||||
|
There are adapters with DPLL, where pins are connected to the DPLL instead of
|
||||||
|
being exposed on the board. You have to be aware that in those configurations,
|
||||||
|
only SDP pins are exposed and each pin has its own fixed direction.
|
||||||
|
To see input signal on those PTP pins, you need to configure DPLL properly.
|
||||||
|
Output signal is only visible on DPLL and to send it to the board SMA/U.FL pins,
|
||||||
|
DPLL output pins have to be manually configured.
|
||||||
|
|
||||||
GNSS module
|
GNSS module
|
||||||
-----------
|
-----------
|
||||||
|
|
|
@ -1341,3 +1341,35 @@ Device Counters
|
||||||
- The number of times the device owned queue had not enough buffers
|
- The number of times the device owned queue had not enough buffers
|
||||||
allocated.
|
allocated.
|
||||||
- Error
|
- Error
|
||||||
|
|
||||||
|
* - `pci_bw_inbound_high`
|
||||||
|
- The number of times the device crossed the high inbound pcie bandwidth
|
||||||
|
threshold. To be compared to pci_bw_inbound_low to check if the device
|
||||||
|
is in a congested state.
|
||||||
|
If pci_bw_inbound_high == pci_bw_inbound_low then the device is not congested.
|
||||||
|
If pci_bw_inbound_high > pci_bw_inbound_low then the device is congested.
|
||||||
|
- Tnformative
|
||||||
|
|
||||||
|
* - `pci_bw_inbound_low`
|
||||||
|
- The number of times the device crossed the low inbound PCIe bandwidth
|
||||||
|
threshold. To be compared to pci_bw_inbound_high to check if the device
|
||||||
|
is in a congested state.
|
||||||
|
If pci_bw_inbound_high == pci_bw_inbound_low then the device is not congested.
|
||||||
|
If pci_bw_inbound_high > pci_bw_inbound_low then the device is congested.
|
||||||
|
- Informative
|
||||||
|
|
||||||
|
* - `pci_bw_outbound_high`
|
||||||
|
- The number of times the device crossed the high outbound pcie bandwidth
|
||||||
|
threshold. To be compared to pci_bw_outbound_low to check if the device
|
||||||
|
is in a congested state.
|
||||||
|
If pci_bw_outbound_high == pci_bw_outbound_low then the device is not congested.
|
||||||
|
If pci_bw_outbound_high > pci_bw_outbound_low then the device is congested.
|
||||||
|
- Informative
|
||||||
|
|
||||||
|
* - `pci_bw_outbound_low`
|
||||||
|
- The number of times the device crossed the low outbound PCIe bandwidth
|
||||||
|
threshold. To be compared to pci_bw_outbound_high to check if the device
|
||||||
|
is in a congested state.
|
||||||
|
If pci_bw_outbound_high == pci_bw_outbound_low then the device is not congested.
|
||||||
|
If pci_bw_outbound_high > pci_bw_outbound_low then the device is congested.
|
||||||
|
- Informative
|
||||||
|
|
|
@ -28,6 +28,36 @@ devlink dev info provides version information for all three components. In
|
||||||
addition to the version the hg commit hash of the build is included as a
|
addition to the version the hg commit hash of the build is included as a
|
||||||
separate entry.
|
separate entry.
|
||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Ringparams (ethtool -g / -G)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
fbnic has two submission (host -> device) rings for every completion
|
||||||
|
(device -> host) ring. The three ring objects together form a single
|
||||||
|
"queue" as used by higher layer software (a Rx, or a Tx queue).
|
||||||
|
|
||||||
|
For Rx the two submission rings are used to pass empty pages to the NIC.
|
||||||
|
Ring 0 is the Header Page Queue (HPQ), NIC will use its pages to place
|
||||||
|
L2-L4 headers (or full frames if frame is not header-data split).
|
||||||
|
Ring 1 is the Payload Page Queue (PPQ) and used for packet payloads.
|
||||||
|
The completion ring is used to receive packet notifications / metadata.
|
||||||
|
ethtool ``rx`` ringparam maps to the size of the completion ring,
|
||||||
|
``rx-mini`` to the HPQ, and ``rx-jumbo`` to the PPQ.
|
||||||
|
|
||||||
|
For Tx both submission rings can be used to submit packets, the completion
|
||||||
|
ring carries notifications for both. fbnic uses one of the submission
|
||||||
|
rings for normal traffic from the stack and the second one for XDP frames.
|
||||||
|
ethtool ``tx`` ringparam controls both the size of the submission rings
|
||||||
|
and the completion ring.
|
||||||
|
|
||||||
|
Every single entry on the HPQ and PPQ (``rx-mini``, ``rx-jumbo``)
|
||||||
|
corresponds to 4kB of allocated memory, while entries on the remaining
|
||||||
|
rings are in units of descriptors (8B). The ideal ratio of submission
|
||||||
|
and completion ring sizes will depend on the workload, as for small packets
|
||||||
|
multiple packets will fit into a single page.
|
||||||
|
|
||||||
Upgrading Firmware
|
Upgrading Firmware
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
==================================================================
|
||||||
|
Linux Base Virtual Function Driver for Wangxun(R) Gigabit Ethernet
|
||||||
|
==================================================================
|
||||||
|
|
||||||
|
WangXun Gigabit Virtual Function Linux driver.
|
||||||
|
Copyright(c) 2015 - 2025 Beijing WangXun Technology Co., Ltd.
|
||||||
|
|
||||||
|
Support
|
||||||
|
=======
|
||||||
|
For general information, go to the website at:
|
||||||
|
https://www.net-swift.com
|
||||||
|
|
||||||
|
If you got any problem, contact Wangxun support team via nic-support@net-swift.com
|
||||||
|
and Cc: netdev.
|
|
@ -0,0 +1,16 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0+
|
||||||
|
|
||||||
|
===========================================================================
|
||||||
|
Linux Base Virtual Function Driver for Wangxun(R) 10/25/40 Gigabit Ethernet
|
||||||
|
===========================================================================
|
||||||
|
|
||||||
|
WangXun 10/25/40 Gigabit Virtual Function Linux driver.
|
||||||
|
Copyright(c) 2015 - 2025 Beijing WangXun Technology Co., Ltd.
|
||||||
|
|
||||||
|
Support
|
||||||
|
=======
|
||||||
|
For general information, go to the website at:
|
||||||
|
https://www.net-swift.com
|
||||||
|
|
||||||
|
If you got any problem, contact Wangxun support team via nic-support@net-swift.com
|
||||||
|
and Cc: netdev.
|
|
@ -137,3 +137,9 @@ own name.
|
||||||
* - ``event_eq_size``
|
* - ``event_eq_size``
|
||||||
- u32
|
- u32
|
||||||
- Control the size of asynchronous control events EQ.
|
- Control the size of asynchronous control events EQ.
|
||||||
|
* - ``enable_phc``
|
||||||
|
- Boolean
|
||||||
|
- Enable PHC (PTP Hardware Clock) functionality in the device.
|
||||||
|
* - ``clock_id``
|
||||||
|
- u64
|
||||||
|
- Clock ID used by the device for registering DPLL devices and pins.
|
||||||
|
|
|
@ -418,6 +418,14 @@ API allows to configure following rate object's parameters:
|
||||||
to all node children limits. ``tx_max`` is an upper limit for children.
|
to all node children limits. ``tx_max`` is an upper limit for children.
|
||||||
``tx_share`` is a total bandwidth distributed among children.
|
``tx_share`` is a total bandwidth distributed among children.
|
||||||
|
|
||||||
|
``tc_bw``
|
||||||
|
Allow users to set the bandwidth allocation per traffic class on rate
|
||||||
|
objects. This enables fine-grained QoS configurations by assigning a relative
|
||||||
|
share value to each traffic class. The bandwidth is distributed in proportion
|
||||||
|
to the share value for each class, relative to the sum of all shares.
|
||||||
|
When applied to a non-leaf node, tc_bw determines how bandwidth is shared
|
||||||
|
among its child elements.
|
||||||
|
|
||||||
``tx_priority`` and ``tx_weight`` can be used simultaneously. In that case
|
``tx_priority`` and ``tx_weight`` can be used simultaneously. In that case
|
||||||
nodes with the same priority form a WFQ subgroup in the sibling group
|
nodes with the same priority form a WFQ subgroup in the sibling group
|
||||||
and arbitration among them is based on assigned weights.
|
and arbitration among them is based on assigned weights.
|
||||||
|
|
|
@ -85,6 +85,8 @@ parameters, info versions, and other features it supports.
|
||||||
ionic
|
ionic
|
||||||
ice
|
ice
|
||||||
ixgbe
|
ixgbe
|
||||||
|
kvaser_pciefd
|
||||||
|
kvaser_usb
|
||||||
mlx4
|
mlx4
|
||||||
mlx5
|
mlx5
|
||||||
mlxsw
|
mlxsw
|
||||||
|
@ -98,3 +100,4 @@ parameters, info versions, and other features it supports.
|
||||||
iosm
|
iosm
|
||||||
octeontx2
|
octeontx2
|
||||||
sfc
|
sfc
|
||||||
|
zl3073x
|
||||||
|
|
24
Documentation/networking/devlink/kvaser_pciefd.rst
Normal file
24
Documentation/networking/devlink/kvaser_pciefd.rst
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
=============================
|
||||||
|
kvaser_pciefd devlink support
|
||||||
|
=============================
|
||||||
|
|
||||||
|
This document describes the devlink features implemented by the
|
||||||
|
``kvaser_pciefd`` device driver.
|
||||||
|
|
||||||
|
Info versions
|
||||||
|
=============
|
||||||
|
|
||||||
|
The ``kvaser_pciefd`` driver reports the following versions
|
||||||
|
|
||||||
|
.. list-table:: devlink info versions implemented
|
||||||
|
:widths: 5 5 90
|
||||||
|
|
||||||
|
* - Name
|
||||||
|
- Type
|
||||||
|
- Description
|
||||||
|
* - ``fw``
|
||||||
|
- running
|
||||||
|
- Version of the firmware running on the device. Also available
|
||||||
|
through ``ethtool -i`` as ``firmware-version``.
|
33
Documentation/networking/devlink/kvaser_usb.rst
Normal file
33
Documentation/networking/devlink/kvaser_usb.rst
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
==========================
|
||||||
|
kvaser_usb devlink support
|
||||||
|
==========================
|
||||||
|
|
||||||
|
This document describes the devlink features implemented by the
|
||||||
|
``kvaser_usb`` device driver.
|
||||||
|
|
||||||
|
Info versions
|
||||||
|
=============
|
||||||
|
|
||||||
|
The ``kvaser_usb`` driver reports the following versions
|
||||||
|
|
||||||
|
.. list-table:: devlink info versions implemented
|
||||||
|
:widths: 5 5 90
|
||||||
|
|
||||||
|
* - Name
|
||||||
|
- Type
|
||||||
|
- Description
|
||||||
|
* - ``fw``
|
||||||
|
- running
|
||||||
|
- Version of the firmware running on the device. Also available
|
||||||
|
through ``ethtool -i`` as ``firmware-version``.
|
||||||
|
* - ``board.rev``
|
||||||
|
- fixed
|
||||||
|
- The device hardware revision.
|
||||||
|
* - ``board.id``
|
||||||
|
- fixed
|
||||||
|
- The device EAN (product number).
|
||||||
|
* - ``serial_number``
|
||||||
|
- fixed
|
||||||
|
- The device serial number.
|
|
@ -62,7 +62,7 @@ Rate objects
|
||||||
|
|
||||||
The ``netdevsim`` driver supports rate objects management, which includes:
|
The ``netdevsim`` driver supports rate objects management, which includes:
|
||||||
|
|
||||||
- registerging/unregistering leaf rate objects per VF devlink port;
|
- registering/unregistering leaf rate objects per VF devlink port;
|
||||||
- creation/deletion node rate objects;
|
- creation/deletion node rate objects;
|
||||||
- setting tx_share and tx_max rate values for any rate object type;
|
- setting tx_share and tx_max rate values for any rate object type;
|
||||||
- setting parent node for any rate object type.
|
- setting parent node for any rate object type.
|
||||||
|
|
51
Documentation/networking/devlink/zl3073x.rst
Normal file
51
Documentation/networking/devlink/zl3073x.rst
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
.. SPDX-License-Identifier: GPL-2.0
|
||||||
|
|
||||||
|
=======================
|
||||||
|
zl3073x devlink support
|
||||||
|
=======================
|
||||||
|
|
||||||
|
This document describes the devlink features implemented by the ``zl3073x``
|
||||||
|
device driver.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
==========
|
||||||
|
|
||||||
|
.. list-table:: Generic parameters implemented
|
||||||
|
:widths: 5 5 90
|
||||||
|
|
||||||
|
* - Name
|
||||||
|
- Mode
|
||||||
|
- Notes
|
||||||
|
* - ``clock_id``
|
||||||
|
- driverinit
|
||||||
|
- Set the clock ID that is used by the driver for registering DPLL devices
|
||||||
|
and pins.
|
||||||
|
|
||||||
|
Info versions
|
||||||
|
=============
|
||||||
|
|
||||||
|
The ``zl3073x`` driver reports the following versions
|
||||||
|
|
||||||
|
.. list-table:: devlink info versions implemented
|
||||||
|
:widths: 5 5 5 90
|
||||||
|
|
||||||
|
* - Name
|
||||||
|
- Type
|
||||||
|
- Example
|
||||||
|
- Description
|
||||||
|
* - ``asic.id``
|
||||||
|
- fixed
|
||||||
|
- 1E94
|
||||||
|
- Chip identification number
|
||||||
|
* - ``asic.rev``
|
||||||
|
- fixed
|
||||||
|
- 300
|
||||||
|
- Chip revision number
|
||||||
|
* - ``fw``
|
||||||
|
- running
|
||||||
|
- 7006
|
||||||
|
- Firmware version number
|
||||||
|
* - ``custom_cfg``
|
||||||
|
- running
|
||||||
|
- 1.3.0.1
|
||||||
|
- Device configuration version customized by OEM
|
|
@ -239,6 +239,9 @@ Userspace to kernel:
|
||||||
``ETHTOOL_MSG_PHY_GET`` get Ethernet PHY information
|
``ETHTOOL_MSG_PHY_GET`` get Ethernet PHY information
|
||||||
``ETHTOOL_MSG_TSCONFIG_GET`` get hw timestamping configuration
|
``ETHTOOL_MSG_TSCONFIG_GET`` get hw timestamping configuration
|
||||||
``ETHTOOL_MSG_TSCONFIG_SET`` set hw timestamping configuration
|
``ETHTOOL_MSG_TSCONFIG_SET`` set hw timestamping configuration
|
||||||
|
``ETHTOOL_MSG_RSS_SET`` set RSS settings
|
||||||
|
``ETHTOOL_MSG_RSS_CREATE_ACT`` create an additional RSS context
|
||||||
|
``ETHTOOL_MSG_RSS_DELETE_ACT`` delete an additional RSS context
|
||||||
===================================== =================================
|
===================================== =================================
|
||||||
|
|
||||||
Kernel to userspace:
|
Kernel to userspace:
|
||||||
|
@ -281,6 +284,7 @@ Kernel to userspace:
|
||||||
``ETHTOOL_MSG_MODULE_GET_REPLY`` transceiver module parameters
|
``ETHTOOL_MSG_MODULE_GET_REPLY`` transceiver module parameters
|
||||||
``ETHTOOL_MSG_PSE_GET_REPLY`` PSE parameters
|
``ETHTOOL_MSG_PSE_GET_REPLY`` PSE parameters
|
||||||
``ETHTOOL_MSG_RSS_GET_REPLY`` RSS settings
|
``ETHTOOL_MSG_RSS_GET_REPLY`` RSS settings
|
||||||
|
``ETHTOOL_MSG_RSS_NTF`` RSS settings
|
||||||
``ETHTOOL_MSG_PLCA_GET_CFG_REPLY`` PLCA RS parameters
|
``ETHTOOL_MSG_PLCA_GET_CFG_REPLY`` PLCA RS parameters
|
||||||
``ETHTOOL_MSG_PLCA_GET_STATUS_REPLY`` PLCA RS status
|
``ETHTOOL_MSG_PLCA_GET_STATUS_REPLY`` PLCA RS status
|
||||||
``ETHTOOL_MSG_PLCA_NTF`` PLCA RS parameters
|
``ETHTOOL_MSG_PLCA_NTF`` PLCA RS parameters
|
||||||
|
@ -290,6 +294,11 @@ Kernel to userspace:
|
||||||
``ETHTOOL_MSG_PHY_NTF`` Ethernet PHY information change
|
``ETHTOOL_MSG_PHY_NTF`` Ethernet PHY information change
|
||||||
``ETHTOOL_MSG_TSCONFIG_GET_REPLY`` hw timestamping configuration
|
``ETHTOOL_MSG_TSCONFIG_GET_REPLY`` hw timestamping configuration
|
||||||
``ETHTOOL_MSG_TSCONFIG_SET_REPLY`` new hw timestamping configuration
|
``ETHTOOL_MSG_TSCONFIG_SET_REPLY`` new hw timestamping configuration
|
||||||
|
``ETHTOOL_MSG_PSE_NTF`` PSE events notification
|
||||||
|
``ETHTOOL_MSG_RSS_NTF`` RSS settings notification
|
||||||
|
``ETHTOOL_MSG_RSS_CREATE_ACT_REPLY`` create an additional RSS context
|
||||||
|
``ETHTOOL_MSG_RSS_CREATE_NTF`` additional RSS context created
|
||||||
|
``ETHTOOL_MSG_RSS_DELETE_NTF`` additional RSS context deleted
|
||||||
======================================== =================================
|
======================================== =================================
|
||||||
|
|
||||||
``GET`` requests are sent by userspace applications to retrieve device
|
``GET`` requests are sent by userspace applications to retrieve device
|
||||||
|
@ -1788,6 +1797,11 @@ Kernel response contents:
|
||||||
limit of the PoE PSE.
|
limit of the PoE PSE.
|
||||||
``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested Supported power limit
|
``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested Supported power limit
|
||||||
configuration ranges.
|
configuration ranges.
|
||||||
|
``ETHTOOL_A_PSE_PW_D_ID`` u32 Index of the PSE power domain
|
||||||
|
``ETHTOOL_A_PSE_PRIO_MAX`` u32 Priority maximum configurable
|
||||||
|
on the PoE PSE
|
||||||
|
``ETHTOOL_A_PSE_PRIO`` u32 Priority of the PoE PSE
|
||||||
|
currently configured
|
||||||
========================================== ====== =============================
|
========================================== ====== =============================
|
||||||
|
|
||||||
When set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` attribute identifies
|
When set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` attribute identifies
|
||||||
|
@ -1861,6 +1875,15 @@ identifies the C33 PSE power limit ranges through
|
||||||
If the controller works with fixed classes, the min and max values will be
|
If the controller works with fixed classes, the min and max values will be
|
||||||
equal.
|
equal.
|
||||||
|
|
||||||
|
The ``ETHTOOL_A_PSE_PW_D_ID`` attribute identifies the index of PSE power
|
||||||
|
domain.
|
||||||
|
|
||||||
|
When set, the optional ``ETHTOOL_A_PSE_PRIO_MAX`` attribute identifies
|
||||||
|
the PSE maximum priority value.
|
||||||
|
When set, the optional ``ETHTOOL_A_PSE_PRIO`` attributes is used to
|
||||||
|
identifies the currently configured PSE priority.
|
||||||
|
For a description of PSE priority attributes, see ``PSE_SET``.
|
||||||
|
|
||||||
PSE_SET
|
PSE_SET
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
@ -1874,6 +1897,8 @@ Request contents:
|
||||||
``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` u32 Control PSE Admin state
|
``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` u32 Control PSE Admin state
|
||||||
``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` u32 Control PoE PSE available
|
``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` u32 Control PoE PSE available
|
||||||
power limit
|
power limit
|
||||||
|
``ETHTOOL_A_PSE_PRIO`` u32 Control priority of the
|
||||||
|
PoE PSE
|
||||||
====================================== ====== =============================
|
====================================== ====== =============================
|
||||||
|
|
||||||
When set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL`` attribute is used
|
When set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL`` attribute is used
|
||||||
|
@ -1896,6 +1921,38 @@ various existing products that document power consumption in watts rather than
|
||||||
classes. If power limit configuration based on classes is needed, the
|
classes. If power limit configuration based on classes is needed, the
|
||||||
conversion can be done in user space, for example by ethtool.
|
conversion can be done in user space, for example by ethtool.
|
||||||
|
|
||||||
|
When set, the optional ``ETHTOOL_A_PSE_PRIO`` attributes is used to
|
||||||
|
control the PSE priority. Allowed priority value are between zero and
|
||||||
|
the value of ``ETHTOOL_A_PSE_PRIO_MAX`` attribute.
|
||||||
|
|
||||||
|
A lower value indicates a higher priority, meaning that a priority value
|
||||||
|
of 0 corresponds to the highest port priority.
|
||||||
|
Port priority serves two functions:
|
||||||
|
|
||||||
|
- Power-up Order: After a reset, ports are powered up in order of their
|
||||||
|
priority from highest to lowest. Ports with higher priority
|
||||||
|
(lower values) power up first.
|
||||||
|
- Shutdown Order: When the power budget is exceeded, ports with lower
|
||||||
|
priority (higher values) are turned off first.
|
||||||
|
|
||||||
|
PSE_NTF
|
||||||
|
=======
|
||||||
|
|
||||||
|
Notify PSE events.
|
||||||
|
|
||||||
|
Notification contents:
|
||||||
|
|
||||||
|
=============================== ====== ========================
|
||||||
|
``ETHTOOL_A_PSE_HEADER`` nested request header
|
||||||
|
``ETHTOOL_A_PSE_EVENTS`` bitset PSE events
|
||||||
|
=============================== ====== ========================
|
||||||
|
|
||||||
|
When set, the optional ``ETHTOOL_A_PSE_EVENTS`` attribute identifies the
|
||||||
|
PSE events.
|
||||||
|
|
||||||
|
.. kernel-doc:: include/uapi/linux/ethtool_netlink_generated.h
|
||||||
|
:identifiers: ethtool_pse_event
|
||||||
|
|
||||||
RSS_GET
|
RSS_GET
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
@ -1919,14 +1976,15 @@ used to ignore context 0s and only dump additional contexts).
|
||||||
|
|
||||||
Kernel response contents:
|
Kernel response contents:
|
||||||
|
|
||||||
===================================== ====== ==========================
|
===================================== ====== ===============================
|
||||||
``ETHTOOL_A_RSS_HEADER`` nested reply header
|
``ETHTOOL_A_RSS_HEADER`` nested reply header
|
||||||
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||||
``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func
|
``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func
|
||||||
``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes
|
``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes
|
||||||
``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes
|
``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes
|
||||||
``ETHTOOL_A_RSS_INPUT_XFRM`` u32 RSS input data transformation
|
``ETHTOOL_A_RSS_INPUT_XFRM`` u32 RSS input data transformation
|
||||||
===================================== ====== ==========================
|
``ETHTOOL_A_RSS_FLOW_HASH`` nested Header fields included in hash
|
||||||
|
===================================== ====== ===============================
|
||||||
|
|
||||||
ETHTOOL_A_RSS_HFUNC attribute is bitmap indicating the hash function
|
ETHTOOL_A_RSS_HFUNC attribute is bitmap indicating the hash function
|
||||||
being used. Current supported options are toeplitz, xor or crc32.
|
being used. Current supported options are toeplitz, xor or crc32.
|
||||||
|
@ -1935,6 +1993,67 @@ indicates queue number.
|
||||||
ETHTOOL_A_RSS_INPUT_XFRM attribute is a bitmap indicating the type of
|
ETHTOOL_A_RSS_INPUT_XFRM attribute is a bitmap indicating the type of
|
||||||
transformation applied to the input protocol fields before given to the RSS
|
transformation applied to the input protocol fields before given to the RSS
|
||||||
hfunc. Current supported options are symmetric-xor and symmetric-or-xor.
|
hfunc. Current supported options are symmetric-xor and symmetric-or-xor.
|
||||||
|
ETHTOOL_A_RSS_FLOW_HASH carries per-flow type bitmask of which header
|
||||||
|
fields are included in the hash calculation.
|
||||||
|
|
||||||
|
RSS_SET
|
||||||
|
=======
|
||||||
|
|
||||||
|
Request contents:
|
||||||
|
|
||||||
|
===================================== ====== ==============================
|
||||||
|
``ETHTOOL_A_RSS_HEADER`` nested request header
|
||||||
|
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||||
|
``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func
|
||||||
|
``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes
|
||||||
|
``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes
|
||||||
|
``ETHTOOL_A_RSS_INPUT_XFRM`` u32 RSS input data transformation
|
||||||
|
``ETHTOOL_A_RSS_FLOW_HASH`` nested Header fields included in hash
|
||||||
|
===================================== ====== ==============================
|
||||||
|
|
||||||
|
``ETHTOOL_A_RSS_INDIR`` is the minimal RSS table the user expects. Kernel and
|
||||||
|
the device driver may replicate the table if its smaller than smallest table
|
||||||
|
size supported by the device. For example if user requests ``[0, 1]`` but the
|
||||||
|
device needs at least 8 entries - the real table in use will end up being
|
||||||
|
``[0, 1, 0, 1, 0, 1, 0, 1]``. Most devices require the table size to be power
|
||||||
|
of 2, so tables which size is not a power of 2 will likely be rejected.
|
||||||
|
Using table of size 0 will reset the indirection table to the default.
|
||||||
|
|
||||||
|
RSS_CREATE_ACT
|
||||||
|
==============
|
||||||
|
|
||||||
|
Request contents:
|
||||||
|
|
||||||
|
===================================== ====== ==============================
|
||||||
|
``ETHTOOL_A_RSS_HEADER`` nested request header
|
||||||
|
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||||
|
``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func
|
||||||
|
``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes
|
||||||
|
``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes
|
||||||
|
``ETHTOOL_A_RSS_INPUT_XFRM`` u32 RSS input data transformation
|
||||||
|
===================================== ====== ==============================
|
||||||
|
|
||||||
|
Kernel response contents:
|
||||||
|
|
||||||
|
===================================== ====== ==============================
|
||||||
|
``ETHTOOL_A_RSS_HEADER`` nested request header
|
||||||
|
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||||
|
===================================== ====== ==============================
|
||||||
|
|
||||||
|
Create an additional RSS context, if ``ETHTOOL_A_RSS_CONTEXT`` is not
|
||||||
|
specified kernel will allocate one automatically.
|
||||||
|
|
||||||
|
RSS_DELETE_ACT
|
||||||
|
==============
|
||||||
|
|
||||||
|
Request contents:
|
||||||
|
|
||||||
|
===================================== ====== ==============================
|
||||||
|
``ETHTOOL_A_RSS_HEADER`` nested request header
|
||||||
|
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||||
|
===================================== ====== ==============================
|
||||||
|
|
||||||
|
Delete an additional RSS context.
|
||||||
|
|
||||||
PLCA_GET_CFG
|
PLCA_GET_CFG
|
||||||
============
|
============
|
||||||
|
@ -2386,8 +2505,8 @@ are netlink only.
|
||||||
``ETHTOOL_SFLAGS`` ``ETHTOOL_MSG_FEATURES_SET``
|
``ETHTOOL_SFLAGS`` ``ETHTOOL_MSG_FEATURES_SET``
|
||||||
``ETHTOOL_GPFLAGS`` ``ETHTOOL_MSG_PRIVFLAGS_GET``
|
``ETHTOOL_GPFLAGS`` ``ETHTOOL_MSG_PRIVFLAGS_GET``
|
||||||
``ETHTOOL_SPFLAGS`` ``ETHTOOL_MSG_PRIVFLAGS_SET``
|
``ETHTOOL_SPFLAGS`` ``ETHTOOL_MSG_PRIVFLAGS_SET``
|
||||||
``ETHTOOL_GRXFH`` n/a
|
``ETHTOOL_GRXFH`` ``ETHTOOL_MSG_RSS_GET``
|
||||||
``ETHTOOL_SRXFH`` n/a
|
``ETHTOOL_SRXFH`` ``ETHTOOL_MSG_RSS_SET``
|
||||||
``ETHTOOL_GGRO`` ``ETHTOOL_MSG_FEATURES_GET``
|
``ETHTOOL_GGRO`` ``ETHTOOL_MSG_FEATURES_GET``
|
||||||
``ETHTOOL_SGRO`` ``ETHTOOL_MSG_FEATURES_SET``
|
``ETHTOOL_SGRO`` ``ETHTOOL_MSG_FEATURES_SET``
|
||||||
``ETHTOOL_GRXRINGS`` n/a
|
``ETHTOOL_GRXRINGS`` n/a
|
||||||
|
@ -2401,8 +2520,8 @@ are netlink only.
|
||||||
``ETHTOOL_SRXNTUPLE`` n/a
|
``ETHTOOL_SRXNTUPLE`` n/a
|
||||||
``ETHTOOL_GRXNTUPLE`` n/a
|
``ETHTOOL_GRXNTUPLE`` n/a
|
||||||
``ETHTOOL_GSSET_INFO`` ``ETHTOOL_MSG_STRSET_GET``
|
``ETHTOOL_GSSET_INFO`` ``ETHTOOL_MSG_STRSET_GET``
|
||||||
``ETHTOOL_GRXFHINDIR`` n/a
|
``ETHTOOL_GRXFHINDIR`` ``ETHTOOL_MSG_RSS_GET``
|
||||||
``ETHTOOL_SRXFHINDIR`` n/a
|
``ETHTOOL_SRXFHINDIR`` ``ETHTOOL_MSG_RSS_SET``
|
||||||
``ETHTOOL_GFEATURES`` ``ETHTOOL_MSG_FEATURES_GET``
|
``ETHTOOL_GFEATURES`` ``ETHTOOL_MSG_FEATURES_GET``
|
||||||
``ETHTOOL_SFEATURES`` ``ETHTOOL_MSG_FEATURES_SET``
|
``ETHTOOL_SFEATURES`` ``ETHTOOL_MSG_FEATURES_SET``
|
||||||
``ETHTOOL_GCHANNELS`` ``ETHTOOL_MSG_CHANNELS_GET``
|
``ETHTOOL_GCHANNELS`` ``ETHTOOL_MSG_CHANNELS_GET``
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -444,7 +444,14 @@ dependent). The NAPI instance IDs will be assigned in the opposite
|
||||||
order than the process IDs of the kernel threads.
|
order than the process IDs of the kernel threads.
|
||||||
|
|
||||||
Threaded NAPI is controlled by writing 0/1 to the ``threaded`` file in
|
Threaded NAPI is controlled by writing 0/1 to the ``threaded`` file in
|
||||||
netdev's sysfs directory.
|
netdev's sysfs directory. It can also be enabled for a specific NAPI using
|
||||||
|
netlink interface.
|
||||||
|
|
||||||
|
For example, using the script:
|
||||||
|
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
$ ynl --family netdev --do napi-set --json='{"id": 66, "threaded": 1}'
|
||||||
|
|
||||||
.. rubric:: Footnotes
|
.. rubric:: Footnotes
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,7 @@ unsigned_char addr_assign_type
|
||||||
unsigned_char addr_len
|
unsigned_char addr_len
|
||||||
unsigned_char upper_level
|
unsigned_char upper_level
|
||||||
unsigned_char lower_level
|
unsigned_char lower_level
|
||||||
|
u8 threaded napi_poll(napi_enable,netif_set_threaded)
|
||||||
unsigned_short neigh_priv_len
|
unsigned_short neigh_priv_len
|
||||||
unsigned_short padded
|
unsigned_short padded
|
||||||
unsigned_short dev_id
|
unsigned_short dev_id
|
||||||
|
@ -165,7 +166,6 @@ struct sfp_bus* sfp_bus
|
||||||
struct lock_class_key* qdisc_tx_busylock
|
struct lock_class_key* qdisc_tx_busylock
|
||||||
bool proto_down
|
bool proto_down
|
||||||
unsigned:1 wol_enabled
|
unsigned:1 wol_enabled
|
||||||
unsigned:1 threaded napi_poll(napi_enable,dev_set_threaded)
|
|
||||||
unsigned_long:1 see_all_hwtstamp_requests
|
unsigned_long:1 see_all_hwtstamp_requests
|
||||||
unsigned_long:1 change_proto_down
|
unsigned_long:1 change_proto_down
|
||||||
unsigned_long:1 netns_immutable
|
unsigned_long:1 netns_immutable
|
||||||
|
|
|
@ -36,6 +36,7 @@ unsigned_long LINUX_MIB_TIMEWAITRECYCLED
|
||||||
unsigned_long LINUX_MIB_TIMEWAITKILLED
|
unsigned_long LINUX_MIB_TIMEWAITKILLED
|
||||||
unsigned_long LINUX_MIB_PAWSACTIVEREJECTED
|
unsigned_long LINUX_MIB_PAWSACTIVEREJECTED
|
||||||
unsigned_long LINUX_MIB_PAWSESTABREJECTED
|
unsigned_long LINUX_MIB_PAWSESTABREJECTED
|
||||||
|
unsigned_long LINUX_MIB_BEYOND_WINDOW
|
||||||
unsigned_long LINUX_MIB_TSECR_REJECTED
|
unsigned_long LINUX_MIB_TSECR_REJECTED
|
||||||
unsigned_long LINUX_MIB_PAWS_OLD_ACK
|
unsigned_long LINUX_MIB_PAWS_OLD_ACK
|
||||||
unsigned_long LINUX_MIB_PAWS_TW_REJECTED
|
unsigned_long LINUX_MIB_PAWS_TW_REJECTED
|
||||||
|
|
|
@ -115,7 +115,6 @@ u32 lost_out read_mostly read_m
|
||||||
u32 sacked_out read_mostly read_mostly tcp_left_out(tx);tcp_packets_in_flight(tx/rx);tcp_clean_rtx_queue(rx)
|
u32 sacked_out read_mostly read_mostly tcp_left_out(tx);tcp_packets_in_flight(tx/rx);tcp_clean_rtx_queue(rx)
|
||||||
struct hrtimer pacing_timer
|
struct hrtimer pacing_timer
|
||||||
struct hrtimer compressed_ack_timer
|
struct hrtimer compressed_ack_timer
|
||||||
struct sk_buff* lost_skb_hint read_mostly tcp_clean_rtx_queue
|
|
||||||
struct sk_buff* retransmit_skb_hint read_mostly tcp_clean_rtx_queue
|
struct sk_buff* retransmit_skb_hint read_mostly tcp_clean_rtx_queue
|
||||||
struct rb_root out_of_order_queue read_mostly tcp_data_queue,tcp_fast_path_check
|
struct rb_root out_of_order_queue read_mostly tcp_data_queue,tcp_fast_path_check
|
||||||
struct sk_buff* ooo_last_skb
|
struct sk_buff* ooo_last_skb
|
||||||
|
@ -123,7 +122,6 @@ struct tcp_sack_block[1] duplicate_sack
|
||||||
struct tcp_sack_block[4] selective_acks
|
struct tcp_sack_block[4] selective_acks
|
||||||
struct tcp_sack_block[4] recv_sack_cache
|
struct tcp_sack_block[4] recv_sack_cache
|
||||||
struct sk_buff* highest_sack read_write tcp_event_new_data_sent
|
struct sk_buff* highest_sack read_write tcp_event_new_data_sent
|
||||||
int lost_cnt_hint
|
|
||||||
u32 prior_ssthresh
|
u32 prior_ssthresh
|
||||||
u32 high_seq
|
u32 high_seq
|
||||||
u32 retrans_stamp
|
u32 retrans_stamp
|
||||||
|
|
|
@ -340,6 +340,38 @@ In this example, the message was sent by CPU 42.
|
||||||
cpu=42 # kernel-populated value
|
cpu=42 # kernel-populated value
|
||||||
|
|
||||||
|
|
||||||
|
Message ID auto population in userdata
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
Within the netconsole configfs hierarchy, there is a file named `msgid_enabled`
|
||||||
|
located in the `userdata` directory. This file controls the message ID
|
||||||
|
auto-population feature, which assigns a numeric id to each message sent to a
|
||||||
|
given target and appends the ID to userdata dictionary in every message sent.
|
||||||
|
|
||||||
|
The message ID is generated using a per-target 32 bit counter that is
|
||||||
|
incremented for every message sent to the target. Note that this counter will
|
||||||
|
eventually wrap around after reaching uint32_t max value, so the message ID is
|
||||||
|
not globally unique over time. However, it can still be used by the target to
|
||||||
|
detect if messages were dropped before reaching the target by identifying gaps
|
||||||
|
in the sequence of IDs.
|
||||||
|
|
||||||
|
It is important to distinguish message IDs from the message <sequnum> field.
|
||||||
|
Some kernel messages may never reach netconsole (for example, due to printk
|
||||||
|
rate limiting). Thus, a gap in <sequnum> cannot be solely relied upon to
|
||||||
|
indicate that a message was dropped during transmission, as it may never have
|
||||||
|
been sent via netconsole. The message ID, on the other hand, is only assigned
|
||||||
|
to messages that are actually transmitted via netconsole.
|
||||||
|
|
||||||
|
Example::
|
||||||
|
|
||||||
|
echo "This is message #1" > /dev/kmsg
|
||||||
|
echo "This is message #2" > /dev/kmsg
|
||||||
|
13,434,54928466,-;This is message #1
|
||||||
|
msgid=1
|
||||||
|
13,435,54934019,-;This is message #2
|
||||||
|
msgid=2
|
||||||
|
|
||||||
|
|
||||||
Extended console:
|
Extended console:
|
||||||
=================
|
=================
|
||||||
|
|
||||||
|
|
|
@ -85,7 +85,6 @@ nf_conntrack_log_invalid - INTEGER
|
||||||
- 1 - log ICMP packets
|
- 1 - log ICMP packets
|
||||||
- 6 - log TCP packets
|
- 6 - log TCP packets
|
||||||
- 17 - log UDP packets
|
- 17 - log UDP packets
|
||||||
- 33 - log DCCP packets
|
|
||||||
- 41 - log ICMPv6 packets
|
- 41 - log ICMPv6 packets
|
||||||
- 136 - log UDPLITE packets
|
- 136 - log UDPLITE packets
|
||||||
- 255 - log packets of any protocol
|
- 255 - log packets of any protocol
|
||||||
|
|
|
@ -333,6 +333,13 @@ Some of the interface modes are described below:
|
||||||
SerDes lane, each port having speeds of 2.5G / 1G / 100M / 10M achieved
|
SerDes lane, each port having speeds of 2.5G / 1G / 100M / 10M achieved
|
||||||
through symbol replication. The PCS expects the standard USXGMII code word.
|
through symbol replication. The PCS expects the standard USXGMII code word.
|
||||||
|
|
||||||
|
``PHY_INTERFACE_MODE_MIILITE``
|
||||||
|
Non-standard, simplified MII mode, without TXER, RXER, CRS and COL signals
|
||||||
|
as defined for the MII. The absence of COL signal makes half-duplex link
|
||||||
|
modes impossible but does not interfere with BroadR-Reach link modes on
|
||||||
|
Broadcom (and other two-wire Ethernet) PHYs, because they are full-duplex
|
||||||
|
only.
|
||||||
|
|
||||||
Pause frames / flow control
|
Pause frames / flow control
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
|
|
|
@ -120,6 +120,39 @@ It is possible to query which kfunc the particular netdev implements via
|
||||||
netlink. See ``xdp-rx-metadata-features`` attribute set in
|
netlink. See ``xdp-rx-metadata-features`` attribute set in
|
||||||
``Documentation/netlink/specs/netdev.yaml``.
|
``Documentation/netlink/specs/netdev.yaml``.
|
||||||
|
|
||||||
|
Driver Implementation
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Certain devices may prepend metadata to received packets. However, as of now,
|
||||||
|
``AF_XDP`` lacks the ability to communicate the size of the ``data_meta`` area
|
||||||
|
to the consumer. Therefore, it is the responsibility of the driver to copy any
|
||||||
|
device-reserved metadata out from the metadata area and ensure that
|
||||||
|
``xdp_buff->data_meta`` is pointing to ``xdp_buff->data`` before presenting the
|
||||||
|
frame to the XDP program. This is necessary so that, after the XDP program
|
||||||
|
adjusts the metadata area, the consumer can reliably retrieve the metadata
|
||||||
|
address using ``METADATA_SIZE`` offset.
|
||||||
|
|
||||||
|
The following diagram shows how custom metadata is positioned relative to the
|
||||||
|
packet data and how pointers are adjusted for metadata access::
|
||||||
|
|
||||||
|
|<-- bpf_xdp_adjust_meta(xdp_buff, -METADATA_SIZE) --|
|
||||||
|
new xdp_buff->data_meta old xdp_buff->data_meta
|
||||||
|
| |
|
||||||
|
| xdp_buff->data
|
||||||
|
| |
|
||||||
|
+----------+----------------------------------------------------+------+
|
||||||
|
| headroom | custom metadata | data |
|
||||||
|
+----------+----------------------------------------------------+------+
|
||||||
|
| |
|
||||||
|
| xdp_desc->addr
|
||||||
|
|<------ xsk_umem__get_data() - METADATA_SIZE -------|
|
||||||
|
|
||||||
|
``bpf_xdp_adjust_meta`` ensures that ``METADATA_SIZE`` is aligned to 4 bytes,
|
||||||
|
does not exceed 252 bytes, and leaves sufficient space for building the
|
||||||
|
xdp_frame. If these conditions are not met, it returns a negative error. In this
|
||||||
|
case, the BPF program should not proceed to populate data into the ``data_meta``
|
||||||
|
area.
|
||||||
|
|
||||||
Example
|
Example
|
||||||
=======
|
=======
|
||||||
|
|
||||||
|
|
28
MAINTAINERS
28
MAINTAINERS
|
@ -3340,10 +3340,15 @@ M: Dinh Nguyen <dinguyen@kernel.org>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: drivers/clk/socfpga/
|
F: drivers/clk/socfpga/
|
||||||
|
|
||||||
|
ARM/SOCFPGA DWMAC GLUE LAYER BINDINGS
|
||||||
|
M: Matthew Gerlach <matthew.gerlach@altera.com>
|
||||||
|
S: Maintained
|
||||||
|
F: Documentation/devicetree/bindings/net/altr,gmii-to-sgmii-2.0.yaml
|
||||||
|
F: Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
|
||||||
|
|
||||||
ARM/SOCFPGA DWMAC GLUE LAYER
|
ARM/SOCFPGA DWMAC GLUE LAYER
|
||||||
M: Maxime Chevallier <maxime.chevallier@bootlin.com>
|
M: Maxime Chevallier <maxime.chevallier@bootlin.com>
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/net/socfpga-dwmac.txt
|
|
||||||
F: drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
|
F: drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
|
||||||
|
|
||||||
ARM/SOCFPGA EDAC BINDINGS
|
ARM/SOCFPGA EDAC BINDINGS
|
||||||
|
@ -4936,6 +4941,12 @@ F: drivers/firmware/broadcom/tee_bnxt_fw.c
|
||||||
F: drivers/net/ethernet/broadcom/bnxt/
|
F: drivers/net/ethernet/broadcom/bnxt/
|
||||||
F: include/linux/firmware/broadcom/tee_bnxt_fw.h
|
F: include/linux/firmware/broadcom/tee_bnxt_fw.h
|
||||||
|
|
||||||
|
BROADCOM BNG_EN 800 GIGABIT ETHERNET DRIVER
|
||||||
|
M: Vikas Gupta <vikas.gupta@broadcom.com>
|
||||||
|
L: netdev@vger.kernel.org
|
||||||
|
S: Maintained
|
||||||
|
F: drivers/net/ethernet/broadcom/bnge/
|
||||||
|
|
||||||
BROADCOM BRCM80211 IEEE802.11 WIRELESS DRIVERS
|
BROADCOM BRCM80211 IEEE802.11 WIRELESS DRIVERS
|
||||||
M: Arend van Spriel <arend.vanspriel@broadcom.com>
|
M: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
|
@ -7405,6 +7416,8 @@ M: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
|
||||||
M: Jiri Pirko <jiri@resnulli.us>
|
M: Jiri Pirko <jiri@resnulli.us>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
|
F: Documentation/devicetree/bindings/dpll/dpll-device.yaml
|
||||||
|
F: Documentation/devicetree/bindings/dpll/dpll-pin.yaml
|
||||||
F: Documentation/driver-api/dpll.rst
|
F: Documentation/driver-api/dpll.rst
|
||||||
F: drivers/dpll/*
|
F: drivers/dpll/*
|
||||||
F: include/linux/dpll.h
|
F: include/linux/dpll.h
|
||||||
|
@ -12610,7 +12623,7 @@ M: Miri Korenblit <miriam.rachel.korenblit@intel.com>
|
||||||
L: linux-wireless@vger.kernel.org
|
L: linux-wireless@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
W: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
|
W: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi.git
|
T: git https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git/
|
||||||
F: drivers/net/wireless/intel/iwlwifi/
|
F: drivers/net/wireless/intel/iwlwifi/
|
||||||
|
|
||||||
INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER
|
INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER
|
||||||
|
@ -16610,6 +16623,14 @@ L: linux-wireless@vger.kernel.org
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/net/wireless/microchip/
|
F: drivers/net/wireless/microchip/
|
||||||
|
|
||||||
|
MICROCHIP ZL3073X DRIVER
|
||||||
|
M: Ivan Vecera <ivecera@redhat.com>
|
||||||
|
M: Prathosh Satish <Prathosh.Satish@microchip.com>
|
||||||
|
L: netdev@vger.kernel.org
|
||||||
|
S: Supported
|
||||||
|
F: Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
|
||||||
|
F: drivers/dpll/zl3073x/
|
||||||
|
|
||||||
MICROSEMI MIPS SOCS
|
MICROSEMI MIPS SOCS
|
||||||
M: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
M: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||||
M: UNGLinuxDriver@microchip.com
|
M: UNGLinuxDriver@microchip.com
|
||||||
|
@ -20460,7 +20481,7 @@ QUALCOMM ATHEROS QCA7K ETHERNET DRIVER
|
||||||
M: Stefan Wahren <wahrenst@gmx.net>
|
M: Stefan Wahren <wahrenst@gmx.net>
|
||||||
L: netdev@vger.kernel.org
|
L: netdev@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
F: Documentation/devicetree/bindings/net/qca,qca7000.txt
|
F: Documentation/devicetree/bindings/net/qca,qca7000.yaml
|
||||||
F: drivers/net/ethernet/qualcomm/qca*
|
F: drivers/net/ethernet/qualcomm/qca*
|
||||||
|
|
||||||
QUALCOMM BAM-DMUX WWAN NETWORK DRIVER
|
QUALCOMM BAM-DMUX WWAN NETWORK DRIVER
|
||||||
|
@ -26598,6 +26619,7 @@ F: include/uapi/linux/vm_sockets.h
|
||||||
F: include/uapi/linux/vm_sockets_diag.h
|
F: include/uapi/linux/vm_sockets_diag.h
|
||||||
F: include/uapi/linux/vsockmon.h
|
F: include/uapi/linux/vsockmon.h
|
||||||
F: net/vmw_vsock/
|
F: net/vmw_vsock/
|
||||||
|
F: tools/testing/selftests/vsock/
|
||||||
F: tools/testing/vsock/
|
F: tools/testing/vsock/
|
||||||
|
|
||||||
VMALLOC
|
VMALLOC
|
||||||
|
|
|
@ -152,6 +152,9 @@
|
||||||
|
|
||||||
#define SO_PASSRIGHTS 83
|
#define SO_PASSRIGHTS 83
|
||||||
|
|
||||||
|
#define SO_INQ 84
|
||||||
|
#define SCM_INQ SO_INQ
|
||||||
|
|
||||||
#if !defined(__KERNEL__)
|
#if !defined(__KERNEL__)
|
||||||
|
|
||||||
#if __BITS_PER_LONG == 64
|
#if __BITS_PER_LONG == 64
|
||||||
|
|
|
@ -72,10 +72,55 @@
|
||||||
cs-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
|
cs-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
|
||||||
num-chipselects = <1>;
|
num-chipselects = <1>;
|
||||||
|
|
||||||
switch@0 {
|
ethernet-switch@0 {
|
||||||
compatible = "micrel,ks8995";
|
compatible = "micrel,ks8995";
|
||||||
reg = <0>;
|
reg = <0>;
|
||||||
spi-max-frequency = <50000000>;
|
spi-max-frequency = <50000000>;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The PHYs are accessed over the external MDIO
|
||||||
|
* bus and not internally through the switch control
|
||||||
|
* registers.
|
||||||
|
*/
|
||||||
|
ethernet-ports {
|
||||||
|
#address-cells = <1>;
|
||||||
|
#size-cells = <0>;
|
||||||
|
|
||||||
|
ethernet-port@0 {
|
||||||
|
reg = <0>;
|
||||||
|
label = "1";
|
||||||
|
phy-mode = "mii";
|
||||||
|
phy-handle = <&phy1>;
|
||||||
|
};
|
||||||
|
ethernet-port@1 {
|
||||||
|
reg = <1>;
|
||||||
|
label = "2";
|
||||||
|
phy-mode = "mii";
|
||||||
|
phy-handle = <&phy2>;
|
||||||
|
};
|
||||||
|
ethernet-port@2 {
|
||||||
|
reg = <2>;
|
||||||
|
label = "3";
|
||||||
|
phy-mode = "mii";
|
||||||
|
phy-handle = <&phy3>;
|
||||||
|
};
|
||||||
|
ethernet-port@3 {
|
||||||
|
reg = <3>;
|
||||||
|
label = "4";
|
||||||
|
phy-mode = "mii";
|
||||||
|
phy-handle = <&phy4>;
|
||||||
|
};
|
||||||
|
ethernet-port@4 {
|
||||||
|
reg = <4>;
|
||||||
|
ethernet = <ðb>;
|
||||||
|
phy-mode = "mii";
|
||||||
|
fixed-link {
|
||||||
|
speed = <100>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -135,40 +180,59 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* EthB - connected to the KS8995 switch ports 1-4
|
* EthB connects to the KS8995 CPU port and faces ports 1-4
|
||||||
* FIXME: the boardfile defines .phy_mask = 0x1e for this port to enable output to
|
* through the switch fabric.
|
||||||
* all four switch ports, also using an out of tree multiphy patch.
|
*
|
||||||
* Do we need a new binding and property for this?
|
* To complicate things, the MDIO channel is also only
|
||||||
|
* accessible through EthB, but used independently for PHY
|
||||||
|
* control.
|
||||||
*/
|
*/
|
||||||
ethernet@c8009000 {
|
ethb: ethernet@c8009000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
queue-rx = <&qmgr 3>;
|
queue-rx = <&qmgr 3>;
|
||||||
queue-txready = <&qmgr 20>;
|
queue-txready = <&qmgr 20>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "mii";
|
||||||
phy-handle = <&phy4>;
|
fixed-link {
|
||||||
|
speed = <100>;
|
||||||
|
full-duplex;
|
||||||
|
};
|
||||||
|
|
||||||
mdio {
|
mdio {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-cells = <0>;
|
#size-cells = <0>;
|
||||||
|
|
||||||
/* Should be ports 1-4 on the KS8995 switch */
|
/*
|
||||||
|
* LAN ports 1-4 on the KS8995 switch
|
||||||
|
* and PHY5 for WAN need to be accessed
|
||||||
|
* through this external MDIO channel.
|
||||||
|
*/
|
||||||
|
phy1: ethernet-phy@1 {
|
||||||
|
reg = <1>;
|
||||||
|
};
|
||||||
|
phy2: ethernet-phy@2 {
|
||||||
|
reg = <2>;
|
||||||
|
};
|
||||||
|
phy3: ethernet-phy@3 {
|
||||||
|
reg = <3>;
|
||||||
|
};
|
||||||
phy4: ethernet-phy@4 {
|
phy4: ethernet-phy@4 {
|
||||||
reg = <4>;
|
reg = <4>;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Should be port 5 on the KS8995 switch */
|
|
||||||
phy5: ethernet-phy@5 {
|
phy5: ethernet-phy@5 {
|
||||||
reg = <5>;
|
reg = <5>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/* EthC - connected to KS8995 switch port 5 */
|
/*
|
||||||
ethernet@c800a000 {
|
* EthC connects to MII-P5 on the KS8995 bypassing
|
||||||
|
* all of the switch logic and facing PHY5
|
||||||
|
*/
|
||||||
|
ethc: ethernet@c800a000 {
|
||||||
status = "okay";
|
status = "okay";
|
||||||
queue-rx = <&qmgr 4>;
|
queue-rx = <&qmgr 4>;
|
||||||
queue-txready = <&qmgr 21>;
|
queue-txready = <&qmgr 21>;
|
||||||
phy-mode = "rgmii";
|
phy-mode = "mii";
|
||||||
phy-handle = <&phy5>;
|
phy-handle = <&phy5>;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -142,7 +142,6 @@ CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
|
||||||
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
|
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
|
||||||
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
|
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
|
||||||
CONFIG_NETFILTER_XT_MATCH_CPU=m
|
CONFIG_NETFILTER_XT_MATCH_CPU=m
|
||||||
CONFIG_NETFILTER_XT_MATCH_DCCP=m
|
|
||||||
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
|
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
|
||||||
CONFIG_NETFILTER_XT_MATCH_DSCP=m
|
CONFIG_NETFILTER_XT_MATCH_DSCP=m
|
||||||
CONFIG_NETFILTER_XT_MATCH_ESP=m
|
CONFIG_NETFILTER_XT_MATCH_ESP=m
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue