FeatureStore: Add D-Bus interface YAML This interface handles Get/Set Features for storage resources, transferring raw proto binary over byte arrays. Design-Doc: go/bmc-redfish-nvme-get-set-features Google-Bug-Id: 405609473 Change-Id: Idc4bbbcfd25989ea6a346d7b785c6890afff295d Signed-off-by: Guangzong Chen <guangzong@google.com>
diff --git a/yaml/xyz/openbmc_project/NVMe/FeatureStore.interface.yaml b/yaml/xyz/openbmc_project/NVMe/FeatureStore.interface.yaml new file mode 100644 index 0000000..de77d22 --- /dev/null +++ b/yaml/xyz/openbmc_project/NVMe/FeatureStore.interface.yaml
@@ -0,0 +1,59 @@ +description: > + Dbus NVMe Feature Store handles Get/Set Features for a storage resource, + transferring raw proto binary over byte arrays. + +properties: + - name: ProtoLibraryVersion + type: string + flags: + - const + description: > + The static version of the compiled Protocol Buffer library used by the + nvmed daemon (e.g., "2.0"). This maps directly to the + DataProto.Revision field in the Redfish payload. + - name: FeatureCollection + type: array[struct[string, string, string]] + flags: + - const + description: > + A static collection of tuples representing all supported NVMe Features + for the component. Each tuple is formatted as [FeatureName, FeatureId, + ProtoClassName] (e.g., ["VolatileWriteCache_Current", "0x06", + "google.gbmc.nvme.base.VolatileWriteCache"]). + +methods: + - name: GetFeature + description: > + Read the data of an individual NVMe Feature directly from the device. + parameters: + - name: FeatureName + type: string + description: > + The Identifier for the requested Feature (e.g., + "VolatileWriteCache_Current"). + returns: + - name: Ret + type: array[byte] + description: > + A byte array containing the raw proto binary response payload. + errors: + - xyz.openbmc_project.Common.Error.InvalidArgument + - xyz.openbmc_project.Common.Error.Unavailable + + - name: SetFeature + description: > + Configure an individual NVMe Feature on the device. + parameters: + - name: FeatureName + type: string + description: > + The Identifier for the Feature being patched (e.g., + "VolatileWriteCache_Current"). + - name: Data + type: array[byte] + description: > + A byte array containing the raw proto binary payload to apply. + returns: [] + errors: + - xyz.openbmc_project.Common.Error.InvalidArgument + - xyz.openbmc_project.Common.Error.Unavailable