From 2938689a2d5283804137ff632e25190e0e0d922a Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Fri, 27 Oct 2023 17:23:02 -0400 Subject: [PATCH] Update `Ethernet Diagnostics Cluster` to match the spec (#30064) * Add manage restriction to ResetCounts to EthDiag * Zap regen --- .../air-quality-sensor-app.matter | 2 +- .../all-clusters-common/all-clusters-app.matter | 2 +- .../all-clusters-common/all-clusters-minimal-app.matter | 2 +- examples/bridge-app/bridge-common/bridge-app.matter | 2 +- .../devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter | 2 +- .../contact-sensor-common/contact-sensor-app.matter | 2 +- .../light-switch-common/light-switch-app.matter | 2 +- .../bouffalolab/data_model/lighting-app-ethernet.matter | 2 +- examples/lighting-app/lighting-common/lighting-app.matter | 2 +- examples/lock-app/lock-common/lock-app.matter | 2 +- examples/placeholder/linux/apps/app1/config.matter | 2 +- examples/placeholder/linux/apps/app2/config.matter | 2 +- .../resource-monitoring-app.matter | 2 +- .../temperature-measurement.matter | 2 +- examples/tv-app/tv-common/tv-app.matter | 2 +- .../tv-casting-app/tv-casting-common/tv-casting-app.matter | 2 +- .../virtual-device-common/virtual-device-app.matter | 2 +- .../tests/outputs/all-clusters-app/app-templates/access.h | 3 +++ .../zap/tests/outputs/lighting-app/app-templates/access.h | 3 +++ .../chip/ethernet-network-diagnostics-cluster.xml | 7 ++++--- src/controller/data_model/controller-clusters.matter | 2 +- 21 files changed, 28 insertions(+), 21 deletions(-) diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter index 3396daa5fda28d..032dbbe7c26d2b 100644 --- a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter +++ b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter @@ -1006,7 +1006,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index a2f4ff3e3c28ed..818ae5bb5e831a 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -1979,7 +1979,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Accurate time is required for a number of reasons, including scheduling, display and validating security materials. */ diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index e2ee1bc8b3f7ce..ac2225d1ef30cb 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -1734,7 +1734,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices. diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index 3d05af89e14d94..3fb3ad1098657a 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -1310,7 +1310,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices. diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index 4f9b3b56f0b5e4..c6530ebd74bd0b 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -1188,7 +1188,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter index 5f63e3f131f054..286d0943178c3c 100644 --- a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter +++ b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter @@ -1173,7 +1173,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index dfc5e4a71586d7..eb236fc027f126 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -1487,7 +1487,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Accurate time is required for a number of reasons, including scheduling, display and validating security materials. */ diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter index ceed04f9f23c14..e49cf70fe9ebc8 100644 --- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter +++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter @@ -1106,7 +1106,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter index d2949059cc557e..9c80cb25f6e38d 100644 --- a/examples/lighting-app/lighting-common/lighting-app.matter +++ b/examples/lighting-app/lighting-common/lighting-app.matter @@ -1491,7 +1491,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices. diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter index 4c89338e602a9d..a406d82ab875c5 100644 --- a/examples/lock-app/lock-common/lock-app.matter +++ b/examples/lock-app/lock-common/lock-app.matter @@ -1410,7 +1410,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter index 5ff8d4573fef7f..45d3d97e0c5383 100644 --- a/examples/placeholder/linux/apps/app1/config.matter +++ b/examples/placeholder/linux/apps/app1/config.matter @@ -2157,7 +2157,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** This Cluster serves two purposes towards a Node communicating with a Bridge: indicate that the functionality on diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter index 4250eaf837efb1..597a4142603e0c 100644 --- a/examples/placeholder/linux/apps/app2/config.matter +++ b/examples/placeholder/linux/apps/app2/config.matter @@ -2116,7 +2116,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** This Cluster serves two purposes towards a Node communicating with a Bridge: indicate that the functionality on diff --git a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter index 36d84a6b36fe0e..478a98e2976219 100644 --- a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter +++ b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter @@ -1173,7 +1173,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices. diff --git a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter index 7a4db1544c56bf..e4411dc96ff263 100644 --- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter +++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter @@ -757,7 +757,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index 05d80184740cde..6f987a961de244 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -1413,7 +1413,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index 29aa34023694ca..57b5751770c639 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -1093,7 +1093,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter index 5910114fc99122..2d6d9c13d74b5c 100644 --- a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter +++ b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter @@ -1548,7 +1548,7 @@ server cluster EthernetNetworkDiagnostics = 55 { readonly attribute bitmap32 featureMap = 65532; readonly attribute int16u clusterRevision = 65533; - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Commands to trigger a Node to allow a new Administrator to commission it. */ diff --git a/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/access.h b/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/access.h index 119829602ee10d..f5a63477523b60 100644 --- a/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/access.h +++ b/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/access.h @@ -410,6 +410,7 @@ 0x00000031, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ 0x00000031, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ 0x00000033, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ + 0x00000037, /* Cluster: Ethernet Network Diagnostics, Command: ResetCounts, Privilege: manage */ \ 0x0000003C, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ 0x0000003C, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ 0x0000003C, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ @@ -462,6 +463,7 @@ 0x00000006, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ 0x00000008, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ 0x00000000, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ + 0x00000000, /* Cluster: Ethernet Network Diagnostics, Command: ResetCounts, Privilege: manage */ \ 0x00000000, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ 0x00000001, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ 0x00000002, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ @@ -514,6 +516,7 @@ kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ kMatterAccessPrivilegeManage, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ + kMatterAccessPrivilegeManage, /* Cluster: Ethernet Network Diagnostics, Command: ResetCounts, Privilege: manage */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ diff --git a/scripts/tools/zap/tests/outputs/lighting-app/app-templates/access.h b/scripts/tools/zap/tests/outputs/lighting-app/app-templates/access.h index b9946f3ca9162d..fce25f61ac1f50 100644 --- a/scripts/tools/zap/tests/outputs/lighting-app/app-templates/access.h +++ b/scripts/tools/zap/tests/outputs/lighting-app/app-templates/access.h @@ -172,6 +172,7 @@ 0x00000031, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ 0x00000031, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ 0x00000033, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ + 0x00000037, /* Cluster: Ethernet Network Diagnostics, Command: ResetCounts, Privilege: manage */ \ 0x0000003C, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ 0x0000003C, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ 0x0000003C, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ @@ -207,6 +208,7 @@ 0x00000006, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ 0x00000008, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ 0x00000000, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ + 0x00000000, /* Cluster: Ethernet Network Diagnostics, Command: ResetCounts, Privilege: manage */ \ 0x00000000, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ 0x00000001, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ 0x00000002, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ @@ -242,6 +244,7 @@ kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Command: ConnectNetwork, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Command: ReorderNetwork, Privilege: administer */ \ kMatterAccessPrivilegeManage, /* Cluster: General Diagnostics, Command: TestEventTrigger, Privilege: manage */ \ + kMatterAccessPrivilegeManage, /* Cluster: Ethernet Network Diagnostics, Command: ResetCounts, Privilege: manage */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: OpenCommissioningWindow, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: OpenBasicCommissioningWindow, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Administrator Commissioning, Command: RevokeCommissioning, Privilege: administer */ \ diff --git a/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml index f3b6192bbef2b3..3dd3e9d814aa02 100644 --- a/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/ethernet-network-diagnostics-cluster.xml @@ -27,13 +27,13 @@ limitations under the License. - + - + General Ethernet Network Diagnostics @@ -51,6 +51,7 @@ limitations under the License. TimeSinceReset Reception of this command SHALL reset the attributes: PacketRxCount, PacketTxCount, TxErrCount, CollisionCount, OverrunCount to 0 - + + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index 23a39b6f7dbe82..213eb39c8ba56a 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -2110,7 +2110,7 @@ client cluster EthernetNetworkDiagnostics = 55 { readonly attribute int16u clusterRevision = 65533; /** Reception of this command SHALL reset the attributes: PacketRxCount, PacketTxCount, TxErrCount, CollisionCount, OverrunCount to 0 */ - command ResetCounts(): DefaultSuccess = 0; + command access(invoke: manage) ResetCounts(): DefaultSuccess = 0; } /** Accurate time is required for a number of reasons, including scheduling, display and validating security materials. */