Implementation of FabricAdapter schema in bmcweb
This commit implements FabricAdapter and FabricAdapter collection
schema. This code assumes all FabricAdapters are under
/redfish/v1/Systems/system like we do for Memory and Processors.
The schema can be used to publish inventory properties for FRUs
which can be modelled as Fabric adapters.
As a current use case, this schema is required to link ports on
fabric adapters back to the system.
A FabricAdapter represents the physical fabric adapter capable of
connecting to an interconnect fabric.
Examples include but are not limited to Ethernet, NVMe over Fabrics,
Gen-Z, and SAS fabric adapters.
Tested: Manually tested on the system, Run Redfish validator. Found no
error.
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters",
"@odata.type": "#FabricAdapterCollection.FabricAdapterCollection",
"Members": [
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane0"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/disk_backplane1"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/pcie_card0"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/pcie_card3"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/pcie_card4"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/pcie_card8"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/pcie_card10"
},
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/pcie_card11"
}
],
"Members@odata.count": 8,
"Name": "Fabric Adapter Collection"
}
{
"@odata.id": "/redfish/v1/Systems/system/FabricAdapters/pcie_card11",
"@odata.type": "#FabricAdapter.v1_0_0.FabricAdapter",
"Id": "pcie_card11",
"Name": "Fabric Adapter"
}
Signed-off-by: sunny srivastava <sunnsr25@in.ibm.com>
Change-Id: I4d3bc31a6f0036c262c0e30481d0da4aaf59b5ab
Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>
diff --git a/redfish-core/include/redfish.hpp b/redfish-core/include/redfish.hpp
index e98a04c..cf38510 100644
--- a/redfish-core/include/redfish.hpp
+++ b/redfish-core/include/redfish.hpp
@@ -23,6 +23,7 @@
#include "environment_metrics.hpp"
#include "ethernet.hpp"
#include "event_service.hpp"
+#include "fabric_adapters.hpp"
#include "hypervisor_system.hpp"
#include "log_services.hpp"
#include "manager_diagnostic_data.hpp"
@@ -213,6 +214,8 @@
requestRoutesEventService(app);
requestRoutesEventDestinationCollection(app);
requestRoutesEventDestination(app);
+ requestRoutesFabricAdapters(app);
+ requestRoutesFabricAdapterCollection(app);
requestRoutesSubmitTestEvent(app);
hypervisor::requestRoutesHypervisorSystems(app);