History log of /openbmc/bmcweb/redfish-core/lib/fabric_ports.hpp (Results 1 – 4 of 4)
Revision Date Author Comments
# fc1342c5 26-Mar-2025 Myung Bae <myungbae@us.ibm.com>

Implement LocationIndicatorActive for Fabric Port

This implements `LocationIndicatorActive` property for Fabric port using
the following methods.
- `getLocationIndicatorActive()`
- `setLocationIndic

Implement LocationIndicatorActive for Fabric Port

This implements `LocationIndicatorActive` property for Fabric port using
the following methods.
- `getLocationIndicatorActive()`
- `setLocationIndicatorActive()`

Tested:
- Validator passes
- Run GET/PATCH of LocationIndicatorActive

```
$ curl -k -H "X-Auth-Token: $token" -X GET \
https://${bmc}/redfish/v1/Systems/system/FabricAdapters/pcie_cable_card10/Ports/cxp_top
{

"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/ \
pcie_cable_card10/Ports/cxp_top",
"@odata.type": "#Port.v1_11_0.Port",
"Id": "Port",
"LocationIndicatorActive": true,
"Name": "cxp_top"
}

$ curl -k -H "X-Auth-Token: $token" -X GET \
https://${bmc}/redfish/v1/Systems/system/FabricAdapters/pcie_cable_card10/Ports/cxp_bot
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/ \
pcie_cable_card10/Ports/cxp_bot",
"@odata.type": "#Port.v1_11_0.Port",
"Id": "Port",
"LocationIndicatorActive": false,
"Name": "cxp_bot"
}
```

```
$ curl -k -H "Content-Type: application/json" -X PATCH -d \
'{"LocationIndicatorActive":false}' \
https://${bmc}/redfish/v1/Systems/system/FabricAdapters/pcie_cable_card10/Ports/cxp_top

$ curl -k -H "X-Auth-Token: $token" -X GET \
https://${bmc}/redfish/v1/Systems/system/FabricAdapters/pcie_cable_card10/Ports/cxp_top
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/ \
pcie_cable_card10/Ports/cxp_top",
"@odata.type": "#Port.v1_11_0.Port",
"Id": "Port",
"LocationIndicatorActive": false,
"Name": "cxp_top"
}
```

Change-Id: I2cfe8a807cd6dc3bf3d6e50658b0d27a1253b887
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...


# ae16a899 20-Aug-2024 Myung Bae <myungbae@us.ibm.com>

Add Port Status information for Fabric Port

This commit is to add status and health information to Fabric Port like
other Redfish resources which implement State/Health and map them to
Present/Funct

Add Port Status information for Fabric Port

This commit is to add status and health information to Fabric Port like
other Redfish resources which implement State/Health and map them to
Present/Functional respectfully. State / Health of the Port is useful
information for inventory on a GUI/Debug/etc

If the `xyz.openbmc_project.Inventory.Item` interface does not exist,
the state status property is set to default "Enabled".

If the `xyz.openbmc_project.State.Decorator.OperationalStatus`
interface does not exist, the health status property is set to
default "OK".

Tested:
- Redfish Validator passed
- Check status from GET Port output

```
% curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4",
"@odata.type": "#Port.v1_7_0.Port",
"Id": "dp0_connector4",
"Location": {
"PartLocation": {
"ServiceLabel": "U78DA.ND0.WZS003T-P1-T4"
}
},
"Name": "dp0_connector4",
"Status": {
"Health": "OK",
"State": "Enabled"
}
}
```

Change-Id: Ibb625f2ef1378f77c9520426d2687e305b4f8be5
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...


# 7842c99f 24-Apr-2023 Myung Bae <myungbae@us.ibm.com>

Add Location information for Fabric Port

This commit is to add location information to Port of FabricAdapter.
If Port LocationCode property is not found, it will not be shown.

Tested:
- Redfish V

Add Location information for Fabric Port

This commit is to add location information to Port of FabricAdapter.
If Port LocationCode property is not found, it will not be shown.

Tested:
- Redfish Validator passed
- Check Location from GET Port output

```
% curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4",
"@odata.type": "#Port.v1_7_0.Port",
"Id": "dp0_connector4",
"Location": {
"PartLocation": {
"ServiceLabel": "U78DA.ND0.WZS003T-P1-T4"
}
},
"Name": "dp0_connector4"
}
```

Change-Id: Ie015b19612c03a9c656ad14a3f607da04cb4f901
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...


# 37937d51 21-Feb-2023 George Liu <liuxiwei@inspur.com>

Implement Fabric PortCollection and Port schemas

This implements 2 schemas for FabricAdapters [1][2].

The implementation uses `GetAssociatedSubTreePathsById` &
`GetAssociatedSubTreeById`.
- https:/

Implement Fabric PortCollection and Port schemas

This implements 2 schemas for FabricAdapters [1][2].

The implementation uses `GetAssociatedSubTreePathsById` &
`GetAssociatedSubTreeById`.
- https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/69999

The association is defined via
- https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/62881.

The backend port examples are also committed via
- https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/66540
- https://gerrit.openbmc.org/c/openbmc/openpower-vpd-parser/+/70888
- https://gerrit.openbmc.org/c/openbmc/openbmc/+/66541

The current submission only implements the basic properties of Port
(e.g. Id, Name etc) as a foundation of the future additional
properties.
- Location
- LocationIndicatorActive
- Status

One example of Ports is this cable card for the i/o expansion drawers
and modeling the 2 ports on the cable card [3]. These ports have an
identify led, a location code, and a status.

Tested:
- Redfish Validator passes
- perform GET methods like these:

```
curl -k -X GET https://${bmc}/redfish/v1/Systems/system/FabricAdapters/disk_backplane0
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0",
"@odata.type": "#FabricAdapter.v1_4_0.FabricAdapter",
"Id": "disk_backplane0",
...
"Ports": {
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports"
},
...
}
```

```
curl -k -X GET https://${bmc}/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports",
"@odata.type": "#PortCollection.PortCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector5"
}
],
"Members@odata.count": 2,
"Name": "Port Collection"
}
```

```
curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0/Ports/dp0_connector4",
"@odata.type": "#Port.v1_7_0.Port",
"Id": "dp0_connector4",
"Name": "dp0_connector4"
}%
```

Also try the invalid port like

```
curl -k -X GET https://${bmc}:18080/redfish/v1/Systems/system/FabricAdapters/io_module1/Ports/INVALID
{
"error": {
"@Message.ExtendedInfo": [
{
"@odata.type": "#Message.v1_1_1.Message",
"Message": "The requested resource of type Port named 'INVALID' was not found.",
"MessageArgs": [
"Port",
"INVALID"
],
"MessageId": "Base.1.16.0.ResourceNotFound",
"MessageSeverity": "Critical",
"Resolution": "Provide a valid resource identifier and resubmit the request."
}
],
"code": "Base.1.16.0.ResourceNotFound",
"message": "The requested resource of type Port named 'INVALID' was not found."
}
}%
```

[1] https://redfish.dmtf.org/schemas/v1/PortCollection_v1.xml
[2] https://redfish.dmtf.org/schemas/v1/Port_v1.xml
[3] https://www.ibm.com/docs/en/power10?topic=details-pcie4-cable-adapter-fc-ej24-ccin-6b92

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I8c64c16764e85c0716e264263708b18f897a2c0c
Signed-off-by: Myung Bae <myungbae@us.ibm.com>

show more ...